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

經(jīng)由嵌入式控制器初始化快閃存儲(chǔ)設(shè)備的制作方法

文檔序號(hào):6569203閱讀:177來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):經(jīng)由嵌入式控制器初始化快閃存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及快閃存儲(chǔ)器系統(tǒng)領(lǐng)域,且更特定地針對(duì)用于集成數(shù)字系統(tǒng)的快閃存儲(chǔ)器 的初始化。
背景技術(shù)
通常稱(chēng)作"快閃"存儲(chǔ)器的非易失性固態(tài)存儲(chǔ)器技術(shù)的普及近年來(lái)已大幅提高???閃存儲(chǔ)器通常是指電可擦除半導(dǎo)體存儲(chǔ)器,其可以相對(duì)小的區(qū)塊而非基于整個(gè)芯片或如 常規(guī)電可擦除可編程只讀存儲(chǔ)器(EEPROM)裝置中一樣以相對(duì)大的區(qū)塊進(jìn)行擦除并重 寫(xiě)。快閃存儲(chǔ)器在應(yīng)用(其中所存儲(chǔ)數(shù)據(jù)的非易失性(意即,斷電之后數(shù)據(jù)得以保留) 是必要的,但其中重寫(xiě)頻率相對(duì)較低)已變得尤其普遍??扉W存儲(chǔ)器的普遍應(yīng)用的實(shí)例 包括便攜式音頻播放器、蜂窩式電話(huà)手持機(jī)中的電話(huà)號(hào)碼和電話(huà)行為的"訂戶(hù)身份模塊 (SIM)"卡存儲(chǔ)、計(jì)算機(jī)和工作站的"拇指鍵"可移除存儲(chǔ)裝置、數(shù)碼相機(jī)的存儲(chǔ)裝置 等。
典型常規(guī)快閃存儲(chǔ)器產(chǎn)品被有效地布置為"芯片組",其由包括具有一個(gè)或一個(gè)以上 裝置(或"陣列")形式的快閃存儲(chǔ)器存儲(chǔ)資源的一個(gè)或一個(gè)以上集成電路和充當(dāng)所述快 閃存儲(chǔ)器產(chǎn)品的存儲(chǔ)器控制器的集成電路組成。快閃存儲(chǔ)器陣列可布置為所謂的或非 (NOR)快閃存儲(chǔ)器(其中個(gè)別存儲(chǔ)器單元可隨機(jī)存取)或所謂的與非(NAND)快閃存 儲(chǔ)器(其中存儲(chǔ)器的頁(yè)或區(qū)塊必須依序存取)。如此項(xiàng)技術(shù)中所已知,這些快閃存儲(chǔ)器布 置的每一者具有優(yōu)點(diǎn)和缺點(diǎn)。舉例來(lái)說(shuō),NOR快閃存儲(chǔ)器尤其有利于小容量代碼存儲(chǔ), 而NAND快閃存儲(chǔ)器對(duì)于例如音頻播放器和數(shù)碼相機(jī)的高容量數(shù)據(jù)存儲(chǔ)尤其有用。近年 來(lái),多級(jí)單元(MLC)快閃存儲(chǔ)器的使用已變得流行,尤其在NAND快閃存儲(chǔ)器中,在 MLC快閃存儲(chǔ)器中,每一快閃存儲(chǔ)器單元可存儲(chǔ)多位數(shù)據(jù)值(通常為兩個(gè)位值,存儲(chǔ)為 四種可能狀態(tài)之一)。
根據(jù)一個(gè)典型布置,快閃存儲(chǔ)器作為含有快閃存儲(chǔ)器資源和安裝于卡上的子系統(tǒng)控 制器的快閃存儲(chǔ)器子系統(tǒng)來(lái)制造并售賣(mài)。這些子系統(tǒng)的實(shí)例包括眾所周知的致密快閃 (CF)卡、安全數(shù)字(SD)卡和多媒體卡。圖1以方框圖形式說(shuō)明示范性常規(guī)快閃存儲(chǔ) 器系統(tǒng)2。在此布置中,多個(gè)快閃存儲(chǔ)器裝置("陣列")12經(jīng)由快閃媒體接口 FMI連接 到子系統(tǒng)控制器10,所述接口 FMI通常為傳送來(lái)自子系統(tǒng)控制器IO的物理地址信號(hào)和控制信號(hào)且與裝置12雙向傳送數(shù)據(jù)的總線。子系統(tǒng)控制器IO通過(guò)接口總線IF連接到連 接器C。如此項(xiàng)技術(shù)中所眾所周知,快閃存儲(chǔ)器系統(tǒng)2可插入到例如相機(jī)、計(jì)算機(jī)、音 頻播放器等的主機(jī)裝置中或以其它方式通過(guò)連接器C連接到所述主機(jī)裝置。連接器C和 接口總線IF根據(jù)實(shí)施和實(shí)現(xiàn)快閃存儲(chǔ)器系統(tǒng)2所依據(jù)的特定標(biāo)準(zhǔn)來(lái)布置(例如,如CF 卡、SD卡或多媒體卡)。 '
在其它已知布置(例如,智慧媒體卡)中,快閃存儲(chǔ)器系統(tǒng)不包括子系統(tǒng)控制器。 在這些布置中,以類(lèi)似方式參看圖1,快閃媒體接口 FMI連接到位于快閃存儲(chǔ)器系統(tǒng)外 部的控制器,例如包括在利用所述快閃存儲(chǔ)器的主機(jī)裝置(例如,相機(jī))中的控制器。
通常,直到常規(guī)快閃存儲(chǔ)器陣列被裝配到卡中之后,其也未被格式化或初始化(也 許以芯片測(cè)試級(jí)確立的缺陷區(qū)塊的標(biāo)記除外)??扉W存儲(chǔ)器初始化通常包括如根據(jù)文件系 統(tǒng)來(lái)格式化陣列、產(chǎn)生缺陷映射以使得在使用時(shí)避免物理缺陷存儲(chǔ)器位置、存儲(chǔ)器陣列 的低級(jí)用戶(hù)區(qū)域格式化、加載可由使用所述快閃存儲(chǔ)器系統(tǒng)和其中實(shí)施所述子系統(tǒng)控制 器的所述系統(tǒng)的系統(tǒng)執(zhí)行的應(yīng)用軟件的光盤(pán)圖像、下載固件和操作參數(shù)、微調(diào)本機(jī)振蕩 器頻率等。初始化過(guò)程的結(jié)果為快閃存儲(chǔ)器系統(tǒng),其中可在對(duì)應(yīng)于來(lái)自主機(jī)系統(tǒng)的邏輯 地址的物理位置處寫(xiě)入并讀取數(shù)據(jù)。另外,預(yù)期如果物理存儲(chǔ)器的一部分有缺陷或如果 將為附加應(yīng)用程序存儲(chǔ)額外的光盤(pán)圖像數(shù)據(jù),則快閃存儲(chǔ)器系統(tǒng)的配置也可在操作期間 更新。
一般來(lái)說(shuō),快閃存儲(chǔ)器資源的初始化通常是由快閃存儲(chǔ)器系統(tǒng)制造商來(lái)執(zhí)行,此通 常在快閃存儲(chǔ)器裝置12和子系統(tǒng)控制器10以常規(guī)方式安裝到最終系統(tǒng)板上且因此互連 之后進(jìn)行。如圖2所示,舉例來(lái)說(shuō),在快閃存儲(chǔ)器系統(tǒng)2制造之后,其經(jīng)由連接器C和 測(cè)試電纜DUT—CBL連接到測(cè)試器TSTR。測(cè)試器TSTR將經(jīng)由測(cè)試電纜DUT_CBL和連 接器C與快閃存儲(chǔ)器系統(tǒng)2通信,以確保快閃存儲(chǔ)器系統(tǒng)2中的電連接的連續(xù)性,確保 連接器C的端子的恰當(dāng)DC行為,且執(zhí)行某些可在快閃存儲(chǔ)器裝置12的初始化之前執(zhí)行 的基本功能測(cè)試。另外,如此項(xiàng)技術(shù)中所已知,測(cè)試器TSTR通常可將診斷命令施加到 快閃存儲(chǔ)器系統(tǒng)2 (具體來(lái)說(shuō)是施加到控制器IO),以用于測(cè)試快閃存儲(chǔ)器系統(tǒng)2 (包括 其快閃存儲(chǔ)器裝置12)的功能性,并用于初始化快閃存儲(chǔ)器系統(tǒng)2。如上文所提及,快 閃存儲(chǔ)器系統(tǒng)2的常規(guī)初始化包括格式化并配置快閃存儲(chǔ)器裝置12的快閃存儲(chǔ)器資源, 檢測(cè)并記錄快閃存儲(chǔ)器裝置12的物理缺陷存儲(chǔ)器位置,將控制程序("固件")加載到控 制器10中(例如,加載到嵌入在控制器10內(nèi)的NOR快閃存儲(chǔ)器中),且將具有DOS或 光盤(pán)圖像形式的應(yīng)用軟件加載到適用于既定應(yīng)用程序中的快閃存儲(chǔ)器裝置12中。此應(yīng)用軟件的實(shí)例包括數(shù)據(jù)加密軟件、損耗平衡算法和可由控制器IO執(zhí)行的類(lèi)似者。
然而,近來(lái),快閃存儲(chǔ)器存儲(chǔ)裝置已變得需要與許多新應(yīng)用程序(包括那些受控于 所謂的"系統(tǒng)單芯片"或"SOC"的應(yīng)用程序)結(jié)合使用。在這些預(yù)期的SOC應(yīng)用程序 中,單個(gè)集成電路集成了中央處理單元(CPU)、其系統(tǒng)存儲(chǔ)器(RAM和ROM)、標(biāo)準(zhǔn) 接口功能(例如,USB、串行I/O等)和用于系統(tǒng)中的其它外圍裝置。如當(dāng)前所配置, 為了利用快閃存儲(chǔ)器的非易失性可重寫(xiě)存儲(chǔ)特征,使用快閃存儲(chǔ)器的消費(fèi)者裝置的SOC 架構(gòu)也用從SOC到快閃存儲(chǔ)器裝置的外部接口將快閃存儲(chǔ)器子系統(tǒng)控制器集成到SOC 中。圖3說(shuō)明現(xiàn)將描述的使用快閃存儲(chǔ)器的基于SOC架構(gòu)的此類(lèi)常規(guī)布置。
如圖3所示,SOC 20與快W存儲(chǔ)器35介接,所述存儲(chǔ)器通常經(jīng)由常規(guī)快閃存儲(chǔ)器 接口 NAND—IF布置為一個(gè)或一個(gè)以上NAND快閃存儲(chǔ)器裝置(當(dāng)然,雖然可改為使用 NOR快閃存儲(chǔ)器)。在此布置中,在SOC 20內(nèi)實(shí)現(xiàn)快閃存儲(chǔ)器子系統(tǒng)控制器29,而非 作為以上圖1中所描述的快閃存儲(chǔ)器子系統(tǒng)的一部分。SOC20實(shí)際上是系統(tǒng)單芯片,且 同樣包括CPU 22和各種系統(tǒng)功能,例如系統(tǒng)ROM 24、系統(tǒng)RAM 26和標(biāo)準(zhǔn)接口 30 (例 如,USB、 SCSI、 RS-232或其它接口), CPU 22經(jīng)由如圖3所示的常規(guī)總線CPU_BUS 連接到所述系統(tǒng)功能。其它外圍裝置也可包括在SOC 20內(nèi),且經(jīng)由總線橋接器28和外 圍總線PER—BUS與CPU22通信。在圖3的實(shí)例中, 一個(gè)這種外圍裝置是子系統(tǒng)控制器 29,其通過(guò)在外圍總線PER—BUS與子系統(tǒng)控制器29之間轉(zhuǎn)譯信號(hào)的標(biāo)準(zhǔn)接口 27A、 27B 耦合到外圍總線PER—BUS;此轉(zhuǎn)譯使常規(guī)子系統(tǒng)控制器29能夠容易地實(shí)施在SOC 29 內(nèi)而無(wú)需大批的重新設(shè)計(jì)。同樣,SOC 22可容易地以將快閃存儲(chǔ)器35用作類(lèi)似于光盤(pán) 存儲(chǔ)器的非易失性存儲(chǔ)器的方式操作。舉例來(lái)說(shuō),在快閃存儲(chǔ)器35上可保持大量數(shù)據(jù)存 儲(chǔ),也可保持應(yīng)用程序。舉例來(lái)說(shuō),存儲(chǔ)在快閃存儲(chǔ)器35上的應(yīng)用程序可以與在較大系 統(tǒng)中從光盤(pán)存儲(chǔ)器調(diào)用并加載應(yīng)用程序的方式非常相同的方式經(jīng)由子系統(tǒng)控制器29 (和 總線PER—BUS、 CPU—BUS和各種接口和橋接器)而加載到系統(tǒng)RAM 26中以由CPU 22 執(zhí)行。類(lèi)似地,數(shù)據(jù)可通過(guò)子系統(tǒng)控制器29由CPU22從快閃存儲(chǔ)器35存儲(chǔ)并存取。
遺憾的是,常規(guī)初始化方法不可容易地初始化成此配置的快閃存儲(chǔ)器35,在此配置 中子系統(tǒng)控制器29與快閃存儲(chǔ)器分開(kāi)且嵌入于SOC 20內(nèi)。明確來(lái)說(shuō),除了通過(guò)相應(yīng)子 系統(tǒng)控制器(例如子系統(tǒng)控制器29)外,快閃存儲(chǔ)器35的某些部分是不可存取的,且 快閃存儲(chǔ)器35的這些"系統(tǒng)"部分恰是初始化過(guò)程所涉及的。然而,在初始化之前,在 圖3的常規(guī)SOC布置中,對(duì)于快閃存儲(chǔ)器35的初始化來(lái)說(shuō),子系統(tǒng)控制器29是不可存 取的。圖3說(shuō)明結(jié)合本發(fā)明而假想的用以初始化SOC配置中的快閃存儲(chǔ)器35的強(qiáng)力方法,通過(guò)所述方法測(cè)試器TSTR經(jīng)由專(zhuān)用總線SPC—BUS連接到快閃存儲(chǔ)器35的專(zhuān)門(mén)設(shè) 計(jì)的接口且經(jīng)由此接口執(zhí)行診斷命令以實(shí)現(xiàn)初始化。然而,此假想方法需要?jiǎng)?chuàng)建專(zhuān)用測(cè) 試硬件(測(cè)試器TSTR和專(zhuān)用總線SPC—BUS),以及創(chuàng)建到快閃存儲(chǔ)器35中的專(zhuān)用接口, 此兩者皆增加系統(tǒng)制造和生產(chǎn)的實(shí)質(zhì)成本,且將限制系統(tǒng)可配置和初始化的靈活性。通過(guò)其它背景,第6,009,496號(hào)美國(guó)專(zhuān)利描述具有嵌入式快閃存儲(chǔ)器的微控制器架 構(gòu),其中機(jī)載微處理器執(zhí)行存儲(chǔ)在板上只讀存儲(chǔ)器中的重編程控制常規(guī)程序,以重編程 所述嵌入式快閃存儲(chǔ)器。此第6,009,496號(hào)美國(guó)專(zhuān)利也揭示,所述微控制器系統(tǒng)在重新制 造時(shí)可手動(dòng)地設(shè)定為此重編程模式,在此情況下所述微處理器執(zhí)行來(lái)自板上ROM的重編 程控制常規(guī)程序,以利用經(jīng)由外部接口接收的數(shù)據(jù)編程所述嵌入式快閃存儲(chǔ)器。發(fā)明內(nèi)容因此,本發(fā)明的目的是提供一種方法和系統(tǒng),其用于初始化具有集成快閃存儲(chǔ)器子系統(tǒng)控制器的系統(tǒng)單芯片(soc)型系統(tǒng)的快閃存儲(chǔ)器子系統(tǒng)。本發(fā)明的另一目的是提供可將常規(guī)測(cè)試硬件用于所述初始化的此種方法和系統(tǒng)。本發(fā)明的另一目的是提供此種方法和系統(tǒng),其中soc硬件根本上無(wú)需重新布置以提供所述初始化。所屬領(lǐng)域的技術(shù)人員將參看下文說(shuō)明書(shū)連同其圖式來(lái)明白本發(fā)明的其它目的和優(yōu)點(diǎn)。本發(fā)明可實(shí)施到系統(tǒng)單芯片(soc)架構(gòu)中,在所述架構(gòu)中soc的標(biāo)準(zhǔn)外部接口制成為外部測(cè)試硬件可進(jìn)行存取。當(dāng)由CPU執(zhí)行可執(zhí)行初始化程序(其是從外部測(cè)試硬件 下載到SOC的系統(tǒng)存儲(chǔ)器中或已存在于系統(tǒng)ROM中)時(shí),所述可執(zhí)行的初始化程序?qū)?開(kāi)放外部測(cè)試硬件與soc中的快閃存儲(chǔ)器子系統(tǒng)控制器之間的通信信道。此通信信道使外部測(cè)試硬件能夠經(jīng)由子系統(tǒng)控制器實(shí)現(xiàn)快閃存儲(chǔ)器的初始化、準(zhǔn)備快閃存儲(chǔ)器以供 soc使用、將soc應(yīng)用程序加載到快閃存儲(chǔ)器上等。


圖1是常規(guī)快閃存儲(chǔ)器子系統(tǒng)的方框形式的電路圖。圖2是用于初始化圖1的快閃存儲(chǔ)器子系統(tǒng)的常規(guī)系統(tǒng)的方框形式的電路圖。圖3是利用快閃存儲(chǔ)器的假想系統(tǒng)單芯片(SOC)的方框形式的電路圖,且包括初始化所述快閃存儲(chǔ)器的常規(guī)而不合需要的方式。圖4是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的根據(jù)系統(tǒng)單芯片(SOC)架構(gòu)建構(gòu)且利用快閃存儲(chǔ)器的數(shù)字系統(tǒng)的方框形式的電路圖,包括用于初始化所述快閃存儲(chǔ)器的資源。圖5是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的流程圖,其說(shuō)明圖4的系統(tǒng)在實(shí)現(xiàn)快閃存儲(chǔ)器資 源的初始化中的操作。圖6是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的存儲(chǔ)器映射圖,其說(shuō)明在圖4的系統(tǒng)的快閃存儲(chǔ) 器資源中的用戶(hù)和所保留的存儲(chǔ)器空間。圖7是說(shuō)明根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖4的系統(tǒng)的方框形式的電路圖,其說(shuō)明通 過(guò)主機(jī)系統(tǒng)與所述快閃存儲(chǔ)器資源和子系統(tǒng)控制器之間的系統(tǒng)單芯片而開(kāi)放通信信道。
具體實(shí)施方式
本發(fā)明將結(jié)合其優(yōu)選實(shí)施例加以描述,即實(shí)施為一種利用測(cè)試硬件來(lái)初始化由系統(tǒng) 單芯片(SOC)使用的快閃存儲(chǔ)器的系統(tǒng)和方法,SOC包括例如數(shù)字音頻播放器(DAP) 的快閃存儲(chǔ)器子系統(tǒng)控制器。選擇本發(fā)明的此特定示范性實(shí)施例是因?yàn)楸景l(fā)明在以此 種布置利用時(shí)將尤其有益。然而,也預(yù)期本發(fā)明的益處也可應(yīng)用于快閃存儲(chǔ)器系統(tǒng)的其 它架構(gòu)和實(shí)施方案。因此,應(yīng)了解,僅以舉例方式提供下列描述,且所述描述不欲限制 所主張的本發(fā)明的真實(shí)范疇。圖4參考數(shù)字系統(tǒng)60說(shuō)明本發(fā)明的優(yōu)選實(shí)施例的示范性實(shí)施例。此實(shí)例中的系統(tǒng) 60對(duì)應(yīng)于數(shù)字音頻播放器(DAP),假定其包括特定外圍裝置。當(dāng)然,參考本說(shuō)明書(shū)的所 屬領(lǐng)域的技術(shù)人員將容易地認(rèn)識(shí)到,系統(tǒng)60可期望用于許多功能的任一者,此主要由所 述系統(tǒng)執(zhí)行的系統(tǒng)軟件和其外圍設(shè)備的布置來(lái)確定。這些其它數(shù)字系統(tǒng)的實(shí)例包括例 如無(wú)線電話(huà)手持機(jī)、無(wú)線電子郵件系統(tǒng)(例如,黑莓(BLACKBERRY)裝置)的通信系 統(tǒng)、數(shù)字音頻錄音機(jī)、電子計(jì)算器、例如對(duì)編錄控制或傳遞業(yè)務(wù)有用的手持式計(jì)算系統(tǒng) (意即,"掌上型計(jì)算機(jī)"裝置)等。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,數(shù)字系統(tǒng)60是基于系統(tǒng) 單芯片("SOC") 40,其實(shí)質(zhì)上具體化單個(gè)集成電路內(nèi)的所有基本系統(tǒng)功能。在此實(shí)例 中,SOC 40包括中央處理單元(CPU) 42,其為數(shù)字系統(tǒng)60的主要計(jì)算組件。CPU 42 優(yōu)選是通過(guò)執(zhí)行軟件指令來(lái)操作的通用或?qū)S梦⑻幚砥骰蛭⒂?jì)算機(jī),所述指令(例如) 存儲(chǔ)在系統(tǒng)ROM44、系統(tǒng)RAM46 ( —旦SOC40啟動(dòng))中且在其初始化之后存儲(chǔ)在快 閃存儲(chǔ)器55中。結(jié)合本發(fā)明,預(yù)期由CPU 42執(zhí)行的功能包括通過(guò)SOC 40中的各種總 線傳送的命令或通過(guò)至所述功能的控制信號(hào)線(圖4中未展示)來(lái)控制SOC 40內(nèi)的各種 其它功能。在此示范性架構(gòu)中,CPU 42通過(guò)系統(tǒng)總線CPU一BUS連接到系統(tǒng)只讀存儲(chǔ)器(ROM) 44和系統(tǒng)隨機(jī)存取存儲(chǔ)器(RAM) 46。用于實(shí)現(xiàn)系統(tǒng)ROM 44和系統(tǒng)RAM 46的特定尺 寸、架構(gòu)和技術(shù)將取決于用于集成SOC40的可用技術(shù)以及所需性能和可靠性特征。預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的技術(shù)人員將能夠容易地實(shí)現(xiàn)每一特定安裝的這些存儲(chǔ)器功 能。在此示范性架構(gòu)中,其它功能也駐留在系統(tǒng)總線CPU一BUS上,包括標(biāo)準(zhǔn)接口50和 總線橋接器48。標(biāo)準(zhǔn)接口 50是常規(guī)的接口功能,其提供必需的信號(hào)轉(zhuǎn)換、緩沖和其它功能性以用于 支持CPU 42與一側(cè)上的系統(tǒng)總線CPU一BUS的其它駐留部件之間的通信以及CPU 42與 另一側(cè)上的外部裝置或系統(tǒng)之間的通信。標(biāo)準(zhǔn)接口 50在優(yōu)選根據(jù)工業(yè)標(biāo)準(zhǔn)接口協(xié)議而建 構(gòu)且操作的意義上是"標(biāo)準(zhǔn)"的。這些接口協(xié)議的實(shí)例包括通用串行總線(USB) 1.1和 2.0接口、正EE 1394 (或"火線")接口,例如眾所周知的RS-232和SCSI接口的串行接 口和其類(lèi)似者。在系統(tǒng)60的現(xiàn)代實(shí)施方案中,尤其在對(duì)應(yīng)于數(shù)字音頻播放器時(shí),標(biāo)準(zhǔn)接 口 50通常將遵循USB或IEEE 1394接口標(biāo)準(zhǔn)。如DAP技術(shù)中所己知,主機(jī)計(jì)算機(jī)與 DAP之間的音頻文件(且,最近為相片和其它數(shù)據(jù))的同步,以及DAP中的電池的可能 充電通常經(jīng)由USB 2.0或正EE 1394接口進(jìn)行。在圖4的實(shí)例中,標(biāo)準(zhǔn)接口 50是USB 2.0 接口且同樣通過(guò)USB連接USB_2連接到主機(jī)系統(tǒng)HOST。如上文所提及且如圖4所示,總線橋接器48也駐留在系統(tǒng)總線CPU—BUS上。在此 實(shí)例中,總線橋接器48是將系統(tǒng)總線CPU—BUS耦合到外圍總線PER—BUS的常規(guī)總線 接口 。 SOC 40外部的各種外圍設(shè)備通過(guò)適當(dāng)外部連接器和電路板導(dǎo)體而駐留在外圍總線 PER—BUS上。在系統(tǒng)60的此實(shí)例中,對(duì)應(yīng)于DAP,外圍總線PER—BUS的駐留部件包 括SD快閃存儲(chǔ)器接口 51、 LCD顯示器53、例如鍵、按鈕、開(kāi)關(guān)等的各種輸入元件55 和音頻輸出接口 57。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,標(biāo)準(zhǔn)接口功能47A也駐留在外圍總線PER_BUS上。接 口功能47A與通過(guò)快閃存儲(chǔ)器子系統(tǒng)控制器49實(shí)現(xiàn)或作為所述控制器的一部分的接口功 能47B通信。根據(jù)本發(fā)明的此實(shí)施例,標(biāo)準(zhǔn)接口功能47A、 47B和子系統(tǒng)控制器49皆被 集成到SOC40中。為促進(jìn)子系統(tǒng)控制器49的建構(gòu)和設(shè)計(jì),標(biāo)準(zhǔn)接口 47B可對(duì)應(yīng)于在常 規(guī)快閃存儲(chǔ)器系統(tǒng)(例如,如圖l所示)中所使用的常規(guī)安全數(shù)字(SD)接口,在此情 況下標(biāo)準(zhǔn)接口功能47A是常規(guī)轉(zhuǎn)譯器功能,以如所示地將來(lái)自SD接口的信號(hào)轉(zhuǎn)譯到外 圍總線PER—BUS。在此布置中,需要任何額外電路設(shè)計(jì)以將子系統(tǒng)控制器49和標(biāo)準(zhǔn)接 口 47B集成到SOC40中的情況很少?;蛘?,當(dāng)然,子系統(tǒng)控制器49可經(jīng)建構(gòu)以便其直 接與外圍總線PER—BUS介接,或在替代方案中另外經(jīng)建構(gòu)以便其直接與系統(tǒng)總線 CPU—BUS介接(從而避免總線橋接器48的中間功能)。預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的 技術(shù)人員將明白這些和其它架構(gòu)變體。在本發(fā)明的此實(shí)施例中,集成于SOC40內(nèi)的子系統(tǒng)控制器49連接到快閃存儲(chǔ)器接 口NAND—IF,快閃存儲(chǔ)器55連接(或可連接)到所述接口 NAND、IF。 SOC 40內(nèi)的集 成子系統(tǒng)控制器49也時(shí)常被稱(chēng)作"嵌入式"控制器。預(yù)期快閃存儲(chǔ)器接口 NAND—IF是 常規(guī)快閃存儲(chǔ)器接口總線或結(jié)構(gòu),且同樣包括用于將地址信號(hào)運(yùn)載到快閃存儲(chǔ)器55的導(dǎo) 體、 一個(gè)或一個(gè)以上芯片選擇控制線、讀寫(xiě)選通線或時(shí)鐘線和雙向數(shù)據(jù)總線。在常用的 快閃存儲(chǔ)器布置中,地址信號(hào)和數(shù)據(jù)信號(hào)經(jīng)由常用線組("地址線/數(shù)據(jù)線")經(jīng)時(shí)間多路 復(fù)用以節(jié)約接口電路和系統(tǒng)板面積。本發(fā)明的此實(shí)施例中的子系統(tǒng)控制器49優(yōu)選執(zhí)行常規(guī)的快閃存儲(chǔ)器控制功能,包括 (例如)控制經(jīng)由接口 NAND一IF從相關(guān)聯(lián)的快閃存儲(chǔ)器55讀取數(shù)據(jù)和將數(shù)據(jù)寫(xiě)入到快閃 存儲(chǔ)器55、實(shí)施錯(cuò)誤校正編碼、將邏輯地址(來(lái)自CPU 42)映射到物理地址(在快閃存 儲(chǔ)器55中)、初始化并維持快閃存儲(chǔ)器55中的缺陷存儲(chǔ)器單元的映射、實(shí)現(xiàn)損耗平衡等。 如此項(xiàng)技術(shù)中所眾所周知的,同樣,子系統(tǒng)控制器49優(yōu)選經(jīng)建構(gòu)以包括例如微控制器或 微處理器的邏輯功能性,和用于存儲(chǔ)其可執(zhí)行軟件指令以及有關(guān)快閃存儲(chǔ)器55的映射和 配置的系統(tǒng)信息的其自身的內(nèi)部存儲(chǔ)器(易失性存儲(chǔ)器、非易失性存儲(chǔ)器或兩者)。此項(xiàng) 技術(shù)中已知的典型子系統(tǒng)控制器的架構(gòu)和功能性的實(shí)例描述于第6,426,893號(hào)美國(guó)專(zhuān)利 中,所述專(zhuān)利在此共同轉(zhuǎn)讓且以引用方式并入本文中。預(yù)期此常規(guī)操作和建構(gòu)可結(jié)合根 據(jù)本發(fā)明的此優(yōu)選實(shí)施例的子系統(tǒng)控制器49而使用,除了從圖4和此描述中顯而易見(jiàn)的 內(nèi)容,子系統(tǒng)控制器49實(shí)現(xiàn)于SOC 40內(nèi)且集成到SOC 40中。預(yù)期參考本說(shuō)明書(shū)的所 屬領(lǐng)域的技術(shù)人員將能夠容易地根據(jù)此示范性架構(gòu)以及根據(jù)適用于特定系統(tǒng)配置的其它 等效架構(gòu)如此實(shí)現(xiàn)子系統(tǒng)控制器49和其功能性,而沒(méi)有不當(dāng)?shù)膶?shí)施方案。視情況,可根據(jù)多處理器架構(gòu)實(shí)現(xiàn)子系統(tǒng)49,而不包括以上參考的第6,426,893號(hào) 美國(guó)專(zhuān)利中所設(shè)想的單個(gè)微處理器或微控制器。舉例來(lái)說(shuō),主CPU可連同具有與主CPU 類(lèi)似的架構(gòu)(意即,在均質(zhì)多處理器環(huán)境中)或具有不同架構(gòu)(意即,在異質(zhì)多處理器 環(huán)境中)的快閃處理器一起實(shí)施。在任一情況下,向所述快閃處理器提供專(zhuān)用于快閃存 儲(chǔ)器55的管理的系統(tǒng)資源(存儲(chǔ)器等),所述管理包括所有快閃存取操作和例如損耗平 衡、錯(cuò)誤校正的輔助功能等的管理。所述主CPU可具備專(zhuān)用資源以充當(dāng)應(yīng)用程序處理器, 以用于執(zhí)行主機(jī)應(yīng)用程序、管理與主機(jī)的通信、結(jié)合實(shí)時(shí)操作系統(tǒng)和文件系統(tǒng)來(lái)管理子 系統(tǒng)控制器49的支持環(huán)境等。額外選項(xiàng)提供與所述應(yīng)用程序處理器和快閃處理器結(jié)合或 僅與所述主CPU結(jié)合的數(shù)字信號(hào)處理器(DSP),以充當(dāng)用于進(jìn)行例如數(shù)據(jù)加密和解密等 的復(fù)雜計(jì)算性操作的從屬DSP。根據(jù)本發(fā)明的此實(shí)施例,系統(tǒng)60的快閃存儲(chǔ)器55對(duì)應(yīng)于快閃電可擦除可編程只讀 存儲(chǔ)器(EEPROM)單元的一個(gè)或一個(gè)以上陣列,所述單元如此項(xiàng)技術(shù)中所己知的布置 在每一可以區(qū)塊擦除的陣列內(nèi),且同樣可在需要時(shí)由實(shí)施系統(tǒng)重寫(xiě)。在本發(fā)明的此優(yōu)選 實(shí)施例中,用于構(gòu)成快閃存儲(chǔ)器55的一個(gè)或一個(gè)以上陣列內(nèi)的個(gè)別存儲(chǔ)器單元的特別存 儲(chǔ)器技術(shù)可為二進(jìn)制或多級(jí)單元(MLC)類(lèi)型的任一者,其在每一陣列內(nèi)配置為NAND 型或NOR型快閃存儲(chǔ)器。對(duì)于此特定示范性實(shí)施方案(其中系統(tǒng)60為DAP),預(yù)期MLC NAND快閃存儲(chǔ)器技術(shù)將優(yōu)選用于主要以串行方式存取的大量數(shù)據(jù)存儲(chǔ)。根據(jù)本發(fā)明的 此實(shí)施例,作為用于寫(xiě)入數(shù)據(jù)、快閃擦除數(shù)據(jù)、邏輯到物理地址映射和管理?yè)p耗平衡的 目的的區(qū)塊和頁(yè),構(gòu)成快閃存儲(chǔ)器55的一個(gè)或一個(gè)以上快閃存儲(chǔ)器的布置可符合許多這 些布置中的任一者。適用于實(shí)現(xiàn)為根據(jù)本發(fā)明的系統(tǒng)60中的快閃存儲(chǔ)器55的內(nèi)部架構(gòu) 和支持電路的實(shí)例描述于以下美國(guó)專(zhuān)利中第5,172,338號(hào)、第5,602,987號(hào)、第5,315,541 號(hào)、第5,200,959號(hào)、第5,270,979號(hào)、第5,428,621號(hào)、第5,663,901號(hào)、第5,532,%2號(hào)、 第5,430,859號(hào)、第5,712,180號(hào)、第6,151,248號(hào)、第6,222,762號(hào)和第6,426,893號(hào),所 述專(zhuān)利在此全部共同轉(zhuǎn)讓且以引用方式并入本文中。
如以上所論述,在制造系統(tǒng)60期間的某點(diǎn)處,需要初始化快閃存儲(chǔ)器55以使其可 使用??扉W存儲(chǔ)器初始化通常包括例如以下功能根據(jù)文件系統(tǒng)格式化快閃存儲(chǔ)器55、 檢測(cè)缺陷存儲(chǔ)器位置以使其未被映射使用、產(chǎn)生初始的邏輯到物理地址存儲(chǔ)器映射、實(shí) 現(xiàn)損耗平衡簿記和算法。舉例來(lái)說(shuō),也可實(shí)現(xiàn)子系統(tǒng)控制器49本身的初始化以下載其系 統(tǒng)固件和操作參數(shù)、微調(diào)本機(jī)振蕩器頻率等。另外,取決于快閃存儲(chǔ)器55和系統(tǒng)60的 特定應(yīng)用,快閃存儲(chǔ)器55的初始化也可包括將可執(zhí)行應(yīng)用軟件加載到快閃存儲(chǔ)器55中 以由系統(tǒng)60的CPU 42稍后執(zhí)行,以及給快閃存儲(chǔ)器55預(yù)先加載用于此可執(zhí)行應(yīng)用軟件 的應(yīng)用數(shù)據(jù)(例如,用于為DAP的系統(tǒng)60的MP3音頻文件)。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,系統(tǒng)60允許主機(jī)系統(tǒng)HOST經(jīng)由標(biāo)準(zhǔn)接口 50實(shí)現(xiàn)快閃 存儲(chǔ)器55的初始化,標(biāo)準(zhǔn)接口 50在此情況下為USB 2.0接口。當(dāng)然,如上文所提及, 此標(biāo)準(zhǔn)接口可替代地遵循不同標(biāo)準(zhǔn),例如正EE 1394 (火線)接口。在制造上下文中,預(yù) 期主機(jī)系統(tǒng)HOST將為制造測(cè)試設(shè)備,例如可從坦尼西斯科技(Tanisys Technology)購(gòu) 得的測(cè)試設(shè)備,或由制造商使用的其它專(zhuān)用快閃存儲(chǔ)器測(cè)試設(shè)備。預(yù)期快閃存儲(chǔ)器55的 此初始化可在完成系統(tǒng)60裝配之后(即,具有包括例如顯示器53、音頻輸出57和輸入 元件55的外圍設(shè)備)或在最終裝配之前僅在SOC 40連接到快閃存儲(chǔ)器55之后執(zhí)行。
或者,考慮到主機(jī)系統(tǒng)HOST正經(jīng)由常規(guī)標(biāo)準(zhǔn)接口 (例如,USB2.0)與SOC40通
12信,預(yù)期主機(jī)系統(tǒng)HOST可為常規(guī)的個(gè)人計(jì)算機(jī)或工作站,其經(jīng)適當(dāng)?shù)膽?yīng)用程序編程以 實(shí)現(xiàn)快閃存儲(chǔ)器初始化。另外,在替代方案中,預(yù)期由主機(jī)系統(tǒng)HOST實(shí)現(xiàn)的快閃存儲(chǔ) 器初始化無(wú)需僅在制造(即,快閃存儲(chǔ)器55的"最初"初始化)期間執(zhí)行,而是也可在 系統(tǒng)使用和部署之后執(zhí)行,(例如)以升級(jí)作為"固件"存儲(chǔ)在快閃存儲(chǔ)器55中的系統(tǒng) 60的可執(zhí)行應(yīng)用程序或?qū)嶋H上可由子系統(tǒng)控制器49執(zhí)行的固件系統(tǒng)軟件(其也可存儲(chǔ) 在快閃存儲(chǔ)器55中)。
現(xiàn)參看圖5,現(xiàn)在將詳細(xì)描述根據(jù)本發(fā)明的優(yōu)選實(shí)施例的SOC40與主機(jī)系統(tǒng)HOST 進(jìn)行組合以實(shí)現(xiàn)快閃存儲(chǔ)器55的初始化的操作。假定在此實(shí)例中,SOC 40在此初始化 開(kāi)始時(shí)還未加電。且如上文所提及,雖然必要時(shí)可連接一個(gè)或一個(gè)以上外圍裝置,但取 決于制造的特定階段,各種外圍裝置不必仍連接到外圍總線PER—BUS。同樣當(dāng)此初始化 過(guò)程開(kāi)始時(shí),快閃存儲(chǔ)器55優(yōu)選經(jīng)由接口 NANDJF連接到SOC40,以避免所述過(guò)程中 稍后的停止或等待狀態(tài)。在過(guò)程70中,經(jīng)由圖4的實(shí)例中的總線USB_2將主機(jī)系統(tǒng)HOST 連接到標(biāo)準(zhǔn)接口50。當(dāng)然,用必需的軟件指令編程主機(jī)系統(tǒng)HOST而以下述方式實(shí)現(xiàn)初 始化;預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的技術(shù)人員可容易地得到這些初始化程序,且實(shí)際 上預(yù)期常規(guī)的快閃存儲(chǔ)器初始化程序可駐留在主機(jī)系統(tǒng)HOST中,并且僅對(duì)其進(jìn)行較小 修改以實(shí)現(xiàn)下述操作。
在過(guò)程72中,使包括CPU42的SOC40加電。在加電時(shí),如對(duì)例如SOC 40的系統(tǒng) 是常規(guī)的,首先由CPU42執(zhí)行駐留在系統(tǒng)ROM44中的啟動(dòng)序列(圖5的過(guò)程74),其 中由CPU42執(zhí)行常規(guī)的起動(dòng)和復(fù)位指令以開(kāi)始其操作。根據(jù)本發(fā)明的此優(yōu)選實(shí)施例,存 儲(chǔ)在系統(tǒng)ROM 44中的所述啟動(dòng)序列包括可執(zhí)行指令,CPU 42通過(guò)所述指令詢(xún)問(wèn)快閃存 儲(chǔ)器55以在加電或復(fù)位后尋找可執(zhí)行的應(yīng)用程序,且將在下文描述所述詢(xún)問(wèn)操作之后的 條件指令。因此,作為執(zhí)行啟動(dòng)序列(過(guò)程74)的部分,CPU42執(zhí)行決策75以確定可 執(zhí)行應(yīng)用程序代碼是否駐留在快閃存儲(chǔ)器55中。
圖6為根據(jù)本發(fā)明的優(yōu)選實(shí)施例的快閃存儲(chǔ)器55的示范性邏輯存儲(chǔ)器映射,所述存 儲(chǔ)器在初始化后可結(jié)合決策75而使用。如所示,快閃存儲(chǔ)器55包括對(duì)應(yīng)于從0000的邏 輯塊地址(LBA)擴(kuò)展到最大LBA值maxLBA的邏輯存儲(chǔ)器空間的物理容量。此邏輯存 儲(chǔ)器空間主要專(zhuān)用于用戶(hù)數(shù)據(jù),其被指派了從LBA0000到最大LBAmaxUserLBA的存儲(chǔ) 器空間。在此實(shí)例中,快閃存儲(chǔ)器55中最上面的1百萬(wàn)字節(jié)存儲(chǔ)器空間經(jīng)保留以用于應(yīng) 用固件程序存儲(chǔ)器,所述空間從LBA maxUserLBA擴(kuò)展到最大LBA值maxLBA,其等于 地址maxUserLBA+l M。優(yōu)選的是,用戶(hù)將不可存取在LBA值maxUserLBA以上的存儲(chǔ)器空間,并且對(duì)其的存取由子系統(tǒng)控制器49封鎖。如圖6所示,根據(jù)本發(fā)明的此優(yōu)選實(shí) 施例,在快閃存儲(chǔ)器55的初始化之后,應(yīng)用固件的兩個(gè)副本被存儲(chǔ)在所述快閃存儲(chǔ)器空 間的此最上部分中。應(yīng)用固件副本A駐留在快閃存儲(chǔ)器55中,位于LBA值 maxUserLBA+512k與LBA值maxLBA之間的存儲(chǔ)器空間中;應(yīng)用固件副本B駐留在LBA 值maxUserLBA與LBA值maxUserLBA+512k之間的存儲(chǔ)器空間中。根據(jù)本發(fā)明的此實(shí) 施例,希望固件副本A與B相同,從而充當(dāng)應(yīng)用固件的冗余副本。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,CPU 42通過(guò)詢(xún)問(wèn)在LBA地址maxUserLBA以上的快閃 存儲(chǔ)器55而執(zhí)行來(lái)自系統(tǒng)ROM 44的啟動(dòng)序列。如果LBA maxUserLBA與maxLBA之 間的空間含有應(yīng)用固件的有效副本(副本A或副本B),則決策76是YES,且將在過(guò)程 76中執(zhí)行所述應(yīng)用固件。接著根據(jù)在過(guò)程74中發(fā)現(xiàn)的所述應(yīng)用程序開(kāi)始SOC40和系統(tǒng) 60的正常系統(tǒng)操作(在外圍設(shè)備存在時(shí))。通過(guò)評(píng)估每一副本的常規(guī)循環(huán)冗余檢查和 (CRC)值來(lái)確定應(yīng)用固件的有效性;如果一個(gè)副本有效且另一副本被損壞,則優(yōu)選將所 述有效副本復(fù)制到快閃存儲(chǔ)器55中的另一副本的位置以用于冗余檢査。
另一方面,如果LBAmaxUserLBA與maxLBA之間的存儲(chǔ)器空間為空,或不含有應(yīng) 用固件的有效副本(例如,兩個(gè)副本的CRC皆失效),則決策75返回NO結(jié)果,其指示 不存在應(yīng)用固件。當(dāng)然,此將是在初始化快閃存儲(chǔ)器55之前的情況。
替代確定應(yīng)用程序是否存在于快閃存儲(chǔ)器55中的決策75,且尤其在維護(hù)或固件升 級(jí)操作中,預(yù)期決策75可基于不同標(biāo)準(zhǔn),考慮到在此種情況下,應(yīng)用程序?qū)⒁疡v留在快 閃存儲(chǔ)器55中。如此項(xiàng)技術(shù)中所已知,系統(tǒng)的固件升級(jí)可通過(guò)按下起動(dòng)鍵等的專(zhuān)用組合 來(lái)實(shí)現(xiàn),此通常與系統(tǒng)的功率循環(huán)組合。
根據(jù)本發(fā)明的此優(yōu)選實(shí)施例,響應(yīng)于來(lái)自決策75的NO結(jié)果或符合此類(lèi)其它標(biāo)準(zhǔn), CPU 42執(zhí)行對(duì)應(yīng)于過(guò)程80的來(lái)自系統(tǒng)ROM 44的指令序列,在所述過(guò)程中啟用某一"傳 遞"命令邏輯,以使得由SOC40經(jīng)由標(biāo)準(zhǔn)接口 50接收的命令"傳遞"到子系統(tǒng)控制器 49以供執(zhí)行。在此實(shí)例中,這些傳遞命令具有SCSI (小計(jì)算機(jī)串行接口)擴(kuò)展命令的形 式,其引導(dǎo)CPU42通過(guò)低級(jí)快閃存儲(chǔ)器裝置驅(qū)動(dòng)器來(lái)格式化經(jīng)由標(biāo)準(zhǔn)接口 50接收的請(qǐng) 求以由子系統(tǒng)控制器49執(zhí)行。實(shí)際上,所述傳遞命令邏輯是一段由CPU42執(zhí)行的膠合 邏輯代碼,其在其SCSI命令解譯器與所述低級(jí)裝置驅(qū)動(dòng)器之間介接。
或者,此初始化序列可從主機(jī)系統(tǒng)HOST下載到系統(tǒng)RAM46,且接著由CPU42執(zhí) 行以詢(xún)問(wèn)快閃存儲(chǔ)器55來(lái)確定應(yīng)用固件是否存在,且接著建立通信信道。另外,在替代 方案中,CPU42借以詢(xún)問(wèn)快閃存儲(chǔ)器55以確定其初始化狀態(tài)的指令可存在于系統(tǒng)ROM中,且如果初始化是必要的,所述初始化序列的剩余部分可接著從主機(jī)系統(tǒng)HOST下載 到系統(tǒng)RAM 46中。預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的技術(shù)人員將明白下載或駐留的初始 化序列碼的這些和其它組合,且具有為特定應(yīng)用程序選擇的特定調(diào)適。
當(dāng)CPU 42啟用所述SCSI傳遞命令邏輯時(shí),在過(guò)程82中,開(kāi)放主機(jī)系統(tǒng)HOST與 子系統(tǒng)控制器49之間的通信信道。當(dāng)系統(tǒng)60布置為DAP時(shí),預(yù)期此通信信道類(lèi)似于由 系統(tǒng)60利用的信道,以便實(shí)現(xiàn)主機(jī)計(jì)算機(jī)與快閃存儲(chǔ)器之間的音樂(lè)文件的"同步"。實(shí) 際上,預(yù)期CPU 42在過(guò)程82中有效地建立主機(jī)系統(tǒng)HOST與子系統(tǒng)控制器49之間的 直接通信路徑,以使得在不需要由CPU42實(shí)際執(zhí)行的情況下,經(jīng)由此路徑轉(zhuǎn)發(fā)命令和數(shù) 據(jù)。圖7說(shuō)明主機(jī)系統(tǒng)HOST與快閃存儲(chǔ)器55之間的此通信信道(如根據(jù)本發(fā)明的優(yōu)選 實(shí)施例在過(guò)程82中由SOC 40中的CPU42所建立的)。
當(dāng)然,此操作中的CPU42所涉及的范圍將取決于SOC40的具體結(jié)構(gòu)。然而,如以 上相對(duì)于圖2所描述的,在初始化期間,此通信信道將允許主機(jī)系統(tǒng)HOST與子系統(tǒng)控 制器49之間的通信,以用于以類(lèi)似于常規(guī)測(cè)試設(shè)備與常規(guī)快閃存儲(chǔ)器系統(tǒng)之間的通信的 方式初始化快閃存儲(chǔ)器55;此布置允許主機(jī)系統(tǒng)HOST的初始化硬件和軟件類(lèi)似于已用 常規(guī)的快閃存儲(chǔ)器制造設(shè)備和處理而實(shí)現(xiàn)的硬件和軟件。
在過(guò)程84中,在于過(guò)程82中開(kāi)放通信信道之后,主機(jī)系統(tǒng)HOST經(jīng)由所述信道將 初始化命令和數(shù)據(jù)轉(zhuǎn)發(fā)到子系統(tǒng)控制器49 (圖7)。如此項(xiàng)技術(shù)中所己知,這些初始化命 令包括必需的診斷指令和使子系統(tǒng)控制器49存取在正常操作中另外不可存取的快閃存 儲(chǔ)器55的系統(tǒng)存儲(chǔ)器位置的類(lèi)似指令。
舉例來(lái)說(shuō),在通過(guò)以上提及的SCSI傳遞命令擴(kuò)展實(shí)現(xiàn)通信信道的情況下,由CPU 42 解譯的傳遞命令相當(dāng)受限制
用于所有媒體類(lèi)型-
檢査媒體卡類(lèi)型(命令代碼D0h)(檢查SD/MMC或CF媒體類(lèi)型)
用于SD/MMC媒體
媒體卡SD執(zhí)行命令(命令代碼Dlh)
媒體卡SD主機(jī)控制命令(命令代碼D2h)
用于CF媒體
媒體卡CF發(fā)送命令(命令代碼Dlh) 媒體卡CF數(shù)據(jù)命令(命令代碼D2h) 媒體卡CF狀態(tài)命令(命令代碼D3h)所述檢査媒體卡類(lèi)型命令詢(xún)問(wèn)子系統(tǒng)控制器49以識(shí)別快閃存儲(chǔ)器55的媒體類(lèi)型, 且也啟用并停用SOC 40執(zhí)行所述傳遞命令(意即,當(dāng)禁止時(shí),命令代碼Dlh等不轉(zhuǎn)譯 為傳遞命令)。
對(duì)于SD/MMC媒體的實(shí)例,當(dāng)啟用時(shí), 一旦主機(jī)系統(tǒng)HOST發(fā)出媒體卡SD執(zhí)行命 令(Dlh), CPU42即向子系統(tǒng)控制器49發(fā)出相應(yīng)的原生命令。來(lái)自主機(jī)系統(tǒng)HOST的 執(zhí)行命令可包括包括數(shù)據(jù)傳送方向(去往快閃存儲(chǔ)器55或來(lái)自快閃存儲(chǔ)器55)、命令 類(lèi)型的引數(shù),限定命令的引數(shù)等。 一旦接收到執(zhí)行命令,CPU 42便向子系統(tǒng)控制器49 發(fā)送相應(yīng)的原生命令,且充當(dāng)用于主機(jī)系統(tǒng)HOST與快閃存儲(chǔ)器子系統(tǒng)之間的數(shù)據(jù)傳送 的緩沖器。媒體卡SD主機(jī)控制命令可用于向快閃存儲(chǔ)器子系統(tǒng)指示例如操作頻率的某 些屬性和向主機(jī)指示等待狀態(tài)、區(qū)塊長(zhǎng)度和其它控制屬性。對(duì)于CF媒體的實(shí)例,發(fā)送命 令指示由后續(xù)數(shù)據(jù)命令存取的快閃存儲(chǔ)器55的特定區(qū)段、柱面和裝置位置,所述數(shù)據(jù)命 令作為原生命令由CPU 42轉(zhuǎn)發(fā)到子系統(tǒng)控制器49以用于將數(shù)據(jù)從主機(jī)系統(tǒng)HOST發(fā)送 到快閃存儲(chǔ)器55或?qū)?shù)據(jù)從快閃存儲(chǔ)器55發(fā)送到主機(jī)系統(tǒng)HOST。 CF狀態(tài)命令僅為由 主機(jī)系統(tǒng)HOST發(fā)出以從子系統(tǒng)控制器49的狀態(tài)寄存器檢索狀態(tài)信息的命令。
如以上在關(guān)于第6,009,496號(hào)美國(guó)專(zhuān)利的發(fā)明背景中所提及,常規(guī)微控制器架構(gòu)包括 用以在編程嵌入式快閃存儲(chǔ)器時(shí)執(zhí)行重編程控制常規(guī)程序的板上微處理器。根據(jù)本發(fā)明 的此實(shí)施例所使用的傳遞命令和命令邏輯相對(duì)于常規(guī)方法來(lái)說(shuō)尤其有益,因?yàn)樗雒?最小化CPU 42在實(shí)現(xiàn)快閃存儲(chǔ)器子系統(tǒng)的控制中的作用,改為允許主機(jī)系統(tǒng)HOST實(shí) 現(xiàn)此控制。另外,相對(duì)小的命令集減少CPU42的額外開(kāi)銷(xiāo)且允許所述命令擴(kuò)展到新的記 憶卡類(lèi)型。
根據(jù)本發(fā)明的此實(shí)施例,在過(guò)程86中,由主機(jī)系統(tǒng)HOST發(fā)出的這些傳遞命令的序 列經(jīng)由子系統(tǒng)控制器49初始化快閃存儲(chǔ)器55。如此項(xiàng)技術(shù)中所已知的且如上所述,初 始化過(guò)程86包括以下操作根據(jù)所需文件系統(tǒng)和結(jié)構(gòu)而格式化快閃存儲(chǔ)器55、檢測(cè)并 映射缺陷存儲(chǔ)器位置、建立邏輯到物理地址映射結(jié)構(gòu)和映射本身,以及為子系統(tǒng)控制器 49提供適當(dāng)?shù)膿p耗平衡算法以確??扉W存儲(chǔ)器55中的存儲(chǔ)器單元的最大使用壽命。也 可在此時(shí)在子系統(tǒng)控制器49本身內(nèi)初始化系統(tǒng)固件、操作參數(shù)、本機(jī)振蕩器頻率等。另 外,也如上文所提及,預(yù)期快閃存儲(chǔ)器55的初始化也將包括將應(yīng)用軟件加載到快閃存儲(chǔ) 器55中(例如,在圖6的實(shí)例中,所述軟件為加載到LBA地址maxUserLBA以上的存 儲(chǔ)器空間中的冗余副本A和B),以供CPU42在其系統(tǒng)操作中使用,且可能還包括將應(yīng) 用程序數(shù)據(jù)(例如,用于布置為DAP的系統(tǒng)60的MP3音頻文件、JPEG相片文件等)預(yù)先加載到快閃存儲(chǔ)器55中。當(dāng)然,程序代碼和數(shù)據(jù)的此加載和預(yù)先加載將在如上所述 的快閃存儲(chǔ)器55的格式化和其它系統(tǒng)初始化之后進(jìn)行。
在完成初始化過(guò)程86之后,且可能在快閃存儲(chǔ)器55的此功能測(cè)試和數(shù)據(jù)驗(yàn)證之后, 完成此初始化中的主機(jī)系統(tǒng)HOST的操作。在過(guò)程88中,主機(jī)系統(tǒng)HOST接著通過(guò)發(fā)出 檢查媒體卡類(lèi)型命令(DOh)停用傳遞命令的功能性,并釋放系統(tǒng)總線CPUJBUS。 SOC40 和系統(tǒng)60的操作(視外圍功能是否存在而定)可接著如所想要地繼續(xù)進(jìn)行到所需或可能 的程度。在初始化環(huán)境中,例如在SOC40或系統(tǒng)60的制造期間,CPU42僅可進(jìn)入閑置 或關(guān)閉狀態(tài)。如果初始化對(duì)應(yīng)于固件更新或其它維護(hù)操作,則CPU42可改為復(fù)位或重新 啟動(dòng),且根據(jù)其正常操作開(kāi)始執(zhí)行來(lái)自快閃存儲(chǔ)器55的應(yīng)用程序(即,決策75是YES)。 預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的技術(shù)人員將容易地按需要實(shí)現(xiàn)下一操作序列。
如上文所提及,上述架構(gòu)和方法的各種替代物適用于本發(fā)明且與本發(fā)明結(jié)合。舉例 來(lái)說(shuō),系統(tǒng)單芯片或包括快閃存儲(chǔ)器控制器電路的其它大型系統(tǒng)集成的特定架構(gòu)可依據(jù) 特定應(yīng)用而廣泛改變。舉例來(lái)說(shuō),本發(fā)明的優(yōu)選實(shí)施例的總線結(jié)構(gòu)和接口布置可采用系 統(tǒng)設(shè)計(jì)者所需的許多替代形式。類(lèi)似地,此種集成系統(tǒng)的特定應(yīng)用也可采用超出上述示 范性DAP的許多形式中的任何一種,僅舉例來(lái)說(shuō),其包括例如通用或?qū)S糜?jì)算系統(tǒng)的 系統(tǒng)、便攜式音頻和視頻播放器和錄音機(jī)、無(wú)線(或有線)電話(huà)手持機(jī)和系統(tǒng)、例如用 于編錄或傳遞控制的便攜式專(zhuān)用系統(tǒng)。且快閃存儲(chǔ)器資源的初始化中所包括的特殊任務(wù) 可包括來(lái)自以上結(jié)合本發(fā)明的優(yōu)選實(shí)施例所描述的實(shí)施例的或多或少(或?qū)嶋H上完全不 同)的任務(wù)。預(yù)期參考本說(shuō)明書(shū)的所屬領(lǐng)域的技術(shù)人員將容易地認(rèn)識(shí)到,這些和其它替 代方案在所主張的本發(fā)明的范疇內(nèi)。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,快閃存儲(chǔ)器資源在利用系統(tǒng)單芯片架構(gòu)的高度集成數(shù)字 系統(tǒng)中可用作程序和數(shù)據(jù)的光盤(pán)更換和其它非易失性大容量存儲(chǔ),而不引發(fā)提供用于快 閃存儲(chǔ)器的初始化的專(zhuān)用接口和測(cè)試設(shè)備的實(shí)際成本。而是,根據(jù)本發(fā)明,常規(guī)主計(jì)算 機(jī)或測(cè)試設(shè)備可使用已由系統(tǒng)單芯片提供的常規(guī)標(biāo)準(zhǔn)接口技術(shù)與集成快閃存儲(chǔ)器子系統(tǒng) 控制器通信,以有效且容易地初始化所述快閃存儲(chǔ)器資源。研發(fā)時(shí)間和制造費(fèi)用因本發(fā) 明而最小化,同時(shí)在最終系統(tǒng)的結(jié)構(gòu)、操作和管理上提供大量靈活性。
雖然已根據(jù)本發(fā)明的優(yōu)選實(shí)施例描述了本發(fā)明,但是當(dāng)然預(yù)期參考本說(shuō)明書(shū)和其圖 式的所屬領(lǐng)域的技術(shù)人員將明白這些實(shí)施例的修改和替代方案、獲得本發(fā)明的優(yōu)點(diǎn)和益 處的修改和替代方案。預(yù)期這些修改和替代方案在本文隨后主張的本發(fā)明的范疇內(nèi)。
權(quán)利要求
1. 一種在數(shù)字系統(tǒng)中初始化非易失性存儲(chǔ)器子系統(tǒng)的方法,所述數(shù)字系統(tǒng)包含包括中 央處理單元、嵌入式非易失性存儲(chǔ)器子系統(tǒng)控制器和外部接口的系統(tǒng)集成電路,所 述系統(tǒng)進(jìn)一步包含耦合到所述嵌入式子系統(tǒng)控制器的一個(gè)或一個(gè)以上非易失性存 儲(chǔ)器陣列,所述方法包含以下步驟操作所述中央處理單元以執(zhí)行初始化指令,所述初始化指令包括用以開(kāi)放所述外 部接口與所述嵌入式子系統(tǒng)控制器之間的通信信道的命令;以及根據(jù)施加到所述外部接口且經(jīng)由所述通信信道傳送到所述嵌入式子系統(tǒng)控制器 的初始化命令,初始化所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列。
2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包含經(jīng)由所述外部接口下載一個(gè)或一個(gè)以上初始化指令;其中所述操作步驟包含操作所述中央處理單元以執(zhí)行所述下載的一個(gè)或一個(gè)以 上初始化指令。
3. 根據(jù)權(quán)利要求l所述的方法,其中所述系統(tǒng)集成電路也包括存儲(chǔ)一個(gè)或一個(gè)以上初 始化指令的系統(tǒng)程序存儲(chǔ)器;其中所述操作步驟包含操作所述中央處理單元以執(zhí)行存儲(chǔ)在所述系統(tǒng)程序存儲(chǔ) 器中的所述一個(gè)或一個(gè)以上初始化指令。
4. 根據(jù)權(quán)利要求1所述的方法,其中所述初始化步驟包含根據(jù)文件系統(tǒng)格式化所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列。
5. 根據(jù)權(quán)利要求4所述的方法,其中所述初始化步驟進(jìn)一步包含將可由所述中央處理單元執(zhí)行的應(yīng)用軟件程序加載到所述一個(gè)或一個(gè)以上非易 失性存儲(chǔ)器陣列中。
6. 根據(jù)權(quán)利要求5所述的方法,其中所述初始化步驟進(jìn)一步包含將應(yīng)用程序數(shù)據(jù)預(yù)先加載到所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中。
7. 根據(jù)權(quán)利要求1所述的方法,其中所述初始化步驟包含更新用于所述嵌入式子系統(tǒng)控制器的系統(tǒng)固件。
8. 根據(jù)權(quán)利要求2所述的方法,其中所述系統(tǒng)集成電路進(jìn)一步包含系統(tǒng)隨機(jī)存取存儲(chǔ) 器;其中所述下載步驟包含-將所述一個(gè)或一個(gè)以上初始化指令存儲(chǔ)在所述系統(tǒng)隨機(jī)存取存儲(chǔ)器中;且其中所述操作步驟包含從所述系統(tǒng)隨機(jī)存取存儲(chǔ)器檢索所述一個(gè)或一個(gè)以上初始化指令;和 執(zhí)行所述檢索的一個(gè)或一個(gè)以上初始化指令。
9. 根據(jù)權(quán)利要求2所述的方法,其中所述系統(tǒng)集成電路進(jìn)一步包含系統(tǒng)只讀存儲(chǔ)器;且所述方法進(jìn)一步包含使所述中央處理單元加電;以及通過(guò)所述中央處理單元執(zhí)行存儲(chǔ)在所述系統(tǒng)只讀存儲(chǔ)器中的至少一個(gè)引導(dǎo)序 列指令,以詢(xún)問(wèn)所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列,以檢測(cè)是否駐留有應(yīng) 用程序;其中響應(yīng)于所述執(zhí)行步驟確定應(yīng)用程序未駐留在所述一個(gè)或一個(gè)以上非易失性 存儲(chǔ)器陣列中,執(zhí)行所述下載步驟。
10. 根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包含-響應(yīng)于所述執(zhí)行步驟確定應(yīng)用程序駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器 陣列中,通過(guò)所述中央處理單元執(zhí)行所述應(yīng)用程序。
11. 根據(jù)權(quán)利要求l所述的方法,其中所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列包含一 個(gè)或一個(gè)以上快閃存儲(chǔ)器陣列。
12. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含將主機(jī)系統(tǒng)連接到所述外部接口;其中所述主機(jī)系統(tǒng)經(jīng)由所述外部接口執(zhí)行所述初始化步驟。
13. —種數(shù)字系統(tǒng),其包含系統(tǒng)集成電路,其包含 中央處理單元;存儲(chǔ)器子系統(tǒng)控制器;以及 外部接口;耦合到所述存儲(chǔ)器子系統(tǒng)控制器的一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列; 其中所述中央處理單元經(jīng)編程以詢(xún)問(wèn)所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列, 以確定應(yīng)用程序是否駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中,且響應(yīng)于 確定應(yīng)用程序未駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中,執(zhí)行初始化指 令。
14. 根據(jù)權(quán)利要求13所述的數(shù)字系統(tǒng),其中所述中央處理單元也經(jīng)編程以響應(yīng)于確定應(yīng)用程序未駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中,經(jīng)由所述外部接口 下載所述初始化指令。
15. 根據(jù)權(quán)利要求14所述的數(shù)字系統(tǒng),其進(jìn)一步包含耦合到所述中央處理單元的系統(tǒng)隨機(jī)存取存儲(chǔ)器,以用于存儲(chǔ)所述下載的可執(zhí)行 指令。
16. 根據(jù)權(quán)利要求15所述的數(shù)字系統(tǒng),其中所述下載的可執(zhí)行指令包含一個(gè)或一個(gè)以 上指令的序列,其可由所述中央處理單元執(zhí)行以用于開(kāi)放所述外部接口與所述存儲(chǔ) 器子系統(tǒng)控制器之間的通信信道。
17. 根據(jù)權(quán)利要求13所述的數(shù)字系統(tǒng),其進(jìn)一步包含-耦合到所述中央處理單元的系統(tǒng)只讀存儲(chǔ)器,其用于存儲(chǔ)可由所述中央處理單元執(zhí)行的引導(dǎo)序列指令,所述引導(dǎo)序列指令包含用于詢(xún)問(wèn)所述一個(gè)或一個(gè)以上非易失 性存儲(chǔ)器陣列以確定應(yīng)用程序是否駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中的指令。
18. 根據(jù)權(quán)利要求17所述的數(shù)字系統(tǒng),其中所述引導(dǎo)序列指令進(jìn)一步包含用于響應(yīng)于 確定應(yīng)用程序未駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中,經(jīng)由所述外部 接口下載可執(zhí)行指令的指令。
19. 根據(jù)權(quán)利要求17所述的數(shù)字系統(tǒng),其中所述中央處理單元也經(jīng)編程以響應(yīng)于確定 應(yīng)用程序未駐留在所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列中,從所述系統(tǒng)只讀存 儲(chǔ)器檢索所述初始化指令。
20. 根據(jù)權(quán)利要求13所述的數(shù)字系統(tǒng),其中所述外部接口是根據(jù)工業(yè)標(biāo)準(zhǔn)接口協(xié)議而 建構(gòu)。
21. 根據(jù)權(quán)利要求13所述的數(shù)字系統(tǒng),其中所述一個(gè)或一個(gè)以上非易失性存儲(chǔ)器陣列 包含一個(gè)或一個(gè)以上快閃存儲(chǔ)器陣列。
22. 根據(jù)權(quán)利要求21所述的數(shù)字系統(tǒng),其中所述系統(tǒng)集成電路進(jìn)一步包含.-系統(tǒng)總線,其將所述存儲(chǔ)器子系統(tǒng)控制器耦合到所述中央處理單元;以及 接口電路,其用于將所述系統(tǒng)總線耦合到所述存儲(chǔ)器子系統(tǒng)控制器的接口,所述存儲(chǔ)器子系統(tǒng)控制器的所述接口對(duì)應(yīng)于標(biāo)準(zhǔn)的快閃存儲(chǔ)器接口。
23. 根據(jù)權(quán)利要求13所述的系統(tǒng),其進(jìn)一步包含耦合到所述系統(tǒng)集成電路的至少一個(gè)外圍功能。
24. 根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述至少一個(gè)外圍功能包含音頻輸出接口。
25. 根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述至少一個(gè)外圍功能包含用戶(hù)輸入元件;以及 顯示器。
全文摘要
本發(fā)明揭示一種包括快閃存儲(chǔ)器的數(shù)字系統(tǒng),所述數(shù)字系統(tǒng)耦合到其中嵌入有快閃存儲(chǔ)器子系統(tǒng)控制器的系統(tǒng)單芯片(system-on-a-chip)。所述系統(tǒng)單芯片包括對(duì)例如通用串行總線(USB)或IEEE 1394接口的標(biāo)準(zhǔn)外部接口的支持,例如快閃存儲(chǔ)器測(cè)試設(shè)備的主機(jī)系統(tǒng)可連接到所述標(biāo)準(zhǔn)外部接口。所述快閃存儲(chǔ)器的初始化是通過(guò)開(kāi)放所述主機(jī)系統(tǒng)與所述嵌入式快閃存儲(chǔ)器子系統(tǒng)控制器之間的通信信道而實(shí)現(xiàn)。所述主機(jī)系統(tǒng)接著可經(jīng)由所述通信信道實(shí)現(xiàn)所述快閃存儲(chǔ)器子系統(tǒng)的初始化,包括格式化所述快閃存儲(chǔ)器陣列、加載應(yīng)用程序等。
文檔編號(hào)G06F13/16GK101313287SQ200680037666
公開(kāi)日2008年11月26日 申請(qǐng)日期2006年10月12日 優(yōu)先權(quán)日2005年10月13日
發(fā)明者凱文·M·康利 申請(qǐng)人:桑迪士克股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
额敏县| 正阳县| 裕民县| 德州市| 新源县| 肥东县| 长乐市| 深水埗区| 会昌县| 凤凰县| 百色市| 福州市| 寿宁县| 青州市| 牡丹江市| 金寨县| 巴林左旗| 清丰县| 蒙山县| 修文县| 曲阜市| 河西区| 南雄市| 那曲县| 连城县| 无极县| 黎城县| 磐安县| 遂平县| 庆安县| 和林格尔县| 安义县| 平乐县| 马鞍山市| 方正县| 靖远县| 余干县| 宁南县| 石景山区| 沂水县| 呈贡县|