TWI408597B - 透過嵌入式控制器之快閃儲存器初始化 - Google Patents

透過嵌入式控制器之快閃儲存器初始化 Download PDF

Info

Publication number
TWI408597B
TWI408597B TW095137807A TW95137807A TWI408597B TW I408597 B TWI408597 B TW I408597B TW 095137807 A TW095137807 A TW 095137807A TW 95137807 A TW95137807 A TW 95137807A TW I408597 B TWI408597 B TW I408597B
Authority
TW
Taiwan
Prior art keywords
flash memory
volatile memory
initialization
interface
soc
Prior art date
Application number
TW095137807A
Other languages
English (en)
Other versions
TW200745932A (en
Inventor
Kevin M Conley
Original Assignee
Sandisk Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200745932A publication Critical patent/TW200745932A/zh
Application granted granted Critical
Publication of TWI408597B publication Critical patent/TWI408597B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

透過嵌入式控制器之快閃儲存器初始化
本發明係關於快閃記憶體系統之領域,且更特定地針對用於積體數位系統之快閃記憶體之初始化。
通常稱作"快閃"記憶體之非揮發性固態記憶體技術之普及近年來已大幅提高。快閃記憶體通常係指電可擦除半導體記憶體,其可在相對小的區塊上而非基於整個晶片或如習知EEPROM裝置中一樣係在相對大的區塊上加以擦除並重寫。快閃記憶體在應用(其中已儲存資料之非揮發性(意即,移除電源之後之資料得以保留)係必要的,但其中重寫頻率相對較低)已變得尤其普遍。快閃記憶體之普遍應用之實例包括攜帶型音訊播放器、蜂巢式電話手機中之電話號碼及電話活動的"SIM"卡儲存、電腦及工作站之"拇指鍵"可移除儲存裝置、數位相機之儲存裝置及其類似物。
典型習知快閃記憶體產品被有效地配置為"晶片組",其由包括成一或多個裝置(或"陣列")形式之快閃記憶體儲存資源的一或多個積體電路及一充當該快閃記憶體產品之記憶體控制器的積體電路組成。快閃記憶體陣列可配置為所謂的或非(NOR)快閃記憶體(其中個別記憶體單元可隨機存取)或所謂的反及(NAND)快閃記憶體(其中記憶體之頁或區塊必須順序存取)。如此項技術中所已知的,此等快閃記憶體配置之每一者具有優點及缺點。舉例而言,NOR快閃記憶體尤其有利於儲存小容量碼(small capacity code storage),而NAND快閃記憶體對諸如音訊播放器及數位相機之高容量資料儲存尤其有用。近年來,多級單元(MLC)快閃記憶體之使用已變得風行,尤其在NAND快閃記憶體中,在MLC快閃記憶體中每一快閃記憶體單元可儲存一多位元資料值(通常為兩個位元值,儲存為四種可能狀態之一)。
根據一典型配置,快閃記憶體係作為一含有快閃記憶體資源及安裝於一卡上之子系統控制器之快閃記憶體子系統來製造並售賣。此等子系統之實例包括熟知之緊密快閃(CF)卡、安全數位(SD)卡及多媒體卡。圖1以方塊圖形式說明一例示性習知快閃記憶體系統2。在此配置中,多個快閃記憶體裝置("陣列")12係經由快閃媒體介面FMI連接至子系統控制器10,該介面FMI通常為傳遞來自子系統控制器10之實體位址訊號及控制訊號且與裝置12雙向傳遞資料之匯流排。子系統控制器10係經由介面匯流排IF連接至連接器C。如此項技術中所熟知的,快閃記憶體系統2可插入至一諸如相機、電腦、音訊播放器及其類似物之主機裝置中或以其他方式經由連接器C連接至該主機裝置。連接器C及介面匯流排IF係根據快閃記憶體系統2建構及實現所依據之特定標準來配置(例如,如CF卡、SD卡或多媒體卡)。
在其他已知配置(例如,智慧媒體卡)中,快閃記憶體系統不包括子系統控制器。在此等配置中,經由類似方式參看圖1,快閃媒體介面FMI連接至一定位於快閃記憶體系統 之外的控制器,例如一包括於一利用該快閃記憶體之主機裝置(例如,相機)中之控制器。
通常,直至習知快閃記憶體陣列被裝配至一卡中之後,其亦未被格式化或初始化(也許除以晶片測試級建立之缺陷區塊之標記除外)。快閃記憶體初始化通常包括如根據一檔案系統格式化該等陣列、產生缺陷映射以便在使用時避免實體缺陷記憶體位置、記憶體陣列之低級使用者區域格式化、加載可由一使用該快閃記憶體系統及其中建構了該子系統控制器之該等系統的系統執行之應用軟體之一磁碟影像、下載韌體及操作參數、微調本機振盪器頻率及類似操作。初始化過程之結果為一快閃記憶體系統,其中資料可在對應於一來自主機系統之邏輯位址之實體位置處寫入並讀取。另外,期望若實體記憶體之一部分有缺陷或若將為附加應用程式儲存額外磁碟影像資料,則快閃記憶體系統之組態亦可在操作期間更新。
大體而言,快閃記憶體資源之初始化通常係由快閃記憶體系統製造商執行,此通常在快閃記憶體裝置12及子系統控制器10以習知方式安裝至最終系統板上且因此互連之後進行。如圖2所示,舉例而言,在快閃記憶體系統2製造之後,其係經由連接器C及一測試電纜DUT_CBL連接至測試器TSTR。測試器TSTR將經由測試電纜DUT_CBL及連接器C與快閃記憶體系統2通信,以確保快閃記憶體系統2中之電連接之連續性,確保連接器C之端子之恰當DC行為,且執行某些可在快閃記憶體裝置12之初始化之前執行的基本 功能測試。另外,如此項技術中所已知的,測試器TSTR通常可將診斷命令施加至快閃記憶體系統2(具體言之為施加至控制器10),以用於測試之快閃記憶體系統2(包括其快閃記憶體裝置12)之功能性,及用於初始化快閃記憶體系統2。如上文所提及的,快閃記憶體系統2之習知初始化包括:格式化並組態快閃記憶體裝置12之快閃記憶體資源,偵測並記錄快閃記憶體裝置12之實體缺陷記憶體位置,將一控制程式("韌體")加載至控制器10中(例如,加載至嵌入在控制器10內之NOR快閃記憶體中),且將DOS或磁碟影像格式之應用軟體加載至適用於所需應用程式中的快閃記憶體裝置12中。此應用軟體之實例包括資料加密軟體、平均讀寫演算法及可由控制器10執行之類似者。
然而,近來,快閃記憶體儲存器已變得適合與許多新應用程式(包括彼等受控於一所謂的"系統單晶片"或"SOC"之應用程式)結合使用。在此等期望之SOC應用程式中,單個積體電路整合中央處理單元(CPU)、其系統記憶體(RAM及ROM)、標準介面功能(例如,USB、串列I/O等)及用於系統中之其他周邊裝置。如當前所組態的,為了利用快閃記憶體之非揮發性可重寫儲存特性,使用快閃記憶體之消費者裝置之SOC架構亦用一自SOC至快閃記憶體裝置之外部介面將快閃記憶體子系統控制器整合至SOC中。圖3說明現將加以描述的一使用快閃記憶體之基於SOC架構的此種習知配置。
如圖3所示,SOC 20與快閃記憶體35建立介面,該記憶 體通常經由習知快閃記憶體介面NAND_IF配置為一或多個NAND快閃記憶體裝置(當然,雖然可改為使用NOR快閃記憶體)。在此配置中,快閃記憶體子系統控制器29係實現於SOC 20內,而非作為以上圖1中描述之一快閃記憶體子系統之部份。SOC 20實際上為一系統單晶片,且同樣包括CPU 22及各種系統功能,諸如系統ROM 24、系統RAM 26及標準介面30(例如,USB、SCSI、RS-232或其他介面),CPU 22係經由一如圖3所示之習知匯流排CPU_BUS連接至該等系統功能。其他周邊裝置亦可包括於SOC 20內,且經由匯流排橋接器28及周邊匯流排PER_BUS與CPU 22通信。在圖3之實例中,一此周邊裝置為子系統控制器29,其係經由在周邊匯流排PER_BUS與子系統控制器29之間轉譯訊號的標準介面27A、27B耦接至周邊匯流排PER_BUS;此轉譯使一習知子系統控制器29能夠容易地建構於SOC 29內而無需大規模的重新設計。同樣,SOC 22可容易地以將快閃記憶體35用作類似於磁碟儲存器之非揮發性儲存器之方式操作。舉例而言,大量資料儲存可保持於快閃記憶體35上,應用程式亦然。舉例而言,儲存於快閃記憶體35上之應用程式可以與在較大系統中自磁碟儲存器調用並加載一應用程式之方式極相同的方式經由子系統控制器29(及匯流排PER_BUS、CPU_BUS及各種介面及橋接器)而加載至系統RAM 26中以由CPU 22執行。類似地,資料可經由子系統控制器29由CPU 22自快閃記憶體35儲存並存取。
不幸地,習知初始化方法不可容易地初始化成此組態之快閃記憶體35,在此組態中子系統控制器29與快閃記憶體分開且嵌入於SOC 20內。詳言之,除經由一相應子系統控制器(諸如子系統控制器29)外,快閃記憶體35之某些部分係不可存取的,且快閃記憶體35之此等"系統"部分恰是初始化過程所涉及的。然而,在初始化之前,在圖3之習知SOC配置中,對於快閃記憶體35之初始化而言,子系統控制器29係不可存取的。圖3說明一結合本發明推測之用以初始化一SOC組態中之快閃記體35之蠻力方法,藉由該方法測試器TSTR經由專用匯流排SPC_BUS連接至快閃記憶體35之一專門設計之介面且經由此介面執行診斷命令以實現初始化。然而,此推測方法需要創建專用測試硬體(測試器TSTR及專用匯流排SPC_BUS),以及創建至快閃記憶體35中之專用介面,此兩者皆增加系統製造及生產之實質成本,且將限制系統可組態及初始化之靈活性。
藉由另外背景,美國專利第6,009,496號描述一具有嵌入式快閃記憶體之微控制器架構,其中一機載微處理器執行一儲存於機載唯讀記憶體中之程式改寫控制常式,以程式改寫該嵌入式快閃記憶體。此美國專利第6,009,496號亦揭示,該微控制器系統在重新裝配時可手動地設定為此程式改寫模式,在此情況下該微處理器執行來自機載ROM之程式改寫控制常式以利用經由一外部介面接收之資料程式化該嵌入式快閃記憶體。
因此,本發明之一目標為提供一種方法及系統,其用於初始化具有積體快閃記憶體子系統控制器之系統單晶片(SOC)型系統的快閃記憶體子系統。
本發明之另一目標為提供可將習知測試硬體用於該初始化之此種方法及系統。
本發明之另一目標為提供此種方法及系統,其中SOC硬體根本無需被重新配置以提供該初始化。
本發明之其他目標及優點將參看下面說明書及其圖式而為一般技術者所顯見。
本發明可實施至一系統單晶片(SOC)架構中,在該架構中SOC之一標準外部介面係製成為可存取外部測試硬體。當由CPU執行一可執行初始化程式(其係自外部測試硬體下載至SOC之系統記憶體中或已存在於系統ROM中)時,該可執行初始化程式將打開外部測試硬體與SOC中之一快閃記憶體子系統控制器之間的一通信通道。此通信通道使外部測試硬體能夠透過子系統控制器實現快閃記憶體之初始化、準備快閃記憶體由SOC使用、將SOC應用程式加載至快閃記憶體上及類似操作。
本發明將結合其較佳實施例加以描述,即實施為一種利用測試硬體初始化由系統單晶片(SOC)使用之快閃記憶體的系統及方法,SOC包括諸如數位音訊播放器(DAP)之快閃記憶體子系統控制器。選擇本發明之此特定例示性實施例是因為:本發明在以此種配置利用時將尤其有益。然 而,亦期望本發明之益處亦可應用於快閃記憶體系統之其他架構及實施例。因此,應瞭解,僅以舉例方式提供下列描述,且該描述不欲限制所主張之本發明之真實範疇。
圖4參考數位系統60說明本發明之較佳實施例之一例示性實施例。此實例中之系統60對應一數位音訊播放器(DAP),假定其包括特定周邊裝置。當然,參考本說明書之熟習此項技術者將容易地認識到,系統60可意欲用於許多功能之任一者,此主要由該系統執行之系統軟體及其周邊裝置之配置來確定。此等其他數位系統之實例包括:諸如無線電話手機、無線電子郵件系統(例如,黑莓(BLACKBERRY)裝置)之通信系統、數位音訊錄音機、電子計算器、諸如對詳細目錄控制或傳遞業務有用之掌上型計算系統(意即,"掌上型電腦"裝置)及其類似者。根據本發明之較佳實施例,數位系統60係基於系統單晶片("SOC")40,其實質上具體化單個積體電路內之所有基本系統功能。在此實例中,SOC 40包括中央處理單元(CPU)42,其為數位系統60之主要計算組件。CPU 42宜為一經由執行軟體指令來操作的通用或特殊應用微處理器或微電腦,該等指令(例如)係儲存於系統ROM 44、系統RAM46(一旦SOC 40啟動)中且在其初始化之後係儲存於快閃記憶體55中。結合本發明,期望由CPU 42執行之該等功能包括經由SOC 40中之各種匯流排傳遞的命令或經由至該等功能之控制訊號線(圖4中未展示)來控制SOC 40內的各種其他功能。
在此例示性架構中,CPU 42係經由系統匯流排CPU_BUS連接至系統唯讀記憶體(ROM)44及系統隨機存取記憶體(RAM)46。用於實現系統ROM 44及系統RAM 46之特定尺寸、架構及技術將取決於用於整合SOC 40之可用技術以及所需效能及可靠性特性。期望參考本說明書之熟習此項技術者將能夠容易地實現每一特定安裝之此等記憶體功能。在此例示性架構中,其他功能亦駐留於系統匯流排CPU_BUS上,包括標準介面50及匯流排橋接器48。
標準介面50為一習知介面功能,其提供必需之訊號轉換、緩衝及其他功能性以用於支援CPU 42與一側上之系統匯流排CPU_BUS之其他駐留部件之間的通信及CPU 42與另一側上之外部裝置或系統之間的通信。標準介面50在較佳根據一工業標準介面協定建構且操作之意義上為"標準"的。此等介面協定之實例包括通用序列匯流排(USB)1.1及2.0介面、IEEE 1394(或"火線")介面,諸如熟知之RS-232及SCSI介面之串列介面及其類似者。在系統60之新式實施例中,尤其在對應於一數位音訊播放器時,標準介面50通常將符合USB或IEEE 1394介面標準。如DAP技術中所已知的,主機電腦與DAP之間的音訊檔案(且,最近為相片及其他資料)之同步,以及DAP中之電池的可能充電通常係經由USB 2.0或IEEE 1394介面進行。在圖4之實例中,標準介面50為一USB 2.0介面且同樣經由USB連接件USB_2連接至主機系統HOST。
如上文所提及且如圖4所示,匯流排橋接器48亦駐留於 系統匯流排CPU_BUS上。在此實例中,匯流排橋接器48為一將系統匯流排CPU_BUS耦接至周邊匯流排PER_BUS之習知匯流排介面。SOC 40外部之各種周邊裝置經由適當外部連接器及電路板連接器而駐留於周邊匯流排PER_BUS上。在系統60之此實例中,對應於一DAP,周邊匯流排PER_BUS之駐留部件包括SD快閃記憶體介面51、LCD顯示器53、諸如鍵、按鈕、開關及其類似物之各種輸入元件61及音訊輸出介面57。
根據本發明之較佳實施例,標準介面功能47A亦駐留於周邊匯流排PER_BUS上。介面功能47A與藉由快閃記憶體子系統控制器49實現或作為該控制器之一部份的介面功能47B通信。根據本發明之此實施例,標準介面功能47A、47B及子系統控制器49皆被整合至SOC 40中。為便利子系統控制器49之建構及設計,標準介面47B可對應一在習知快閃記憶體系統(例如,如圖1所示)中使用之習知安全數位(SD)介面,在此情況下標準介面功能47A為一習知轉譯器功能以如所示地將來自SD介面之訊號轉譯至周邊匯流排PER_BUS。在此配置中,若需要任何額外電路設計以將子系統控制器49及標準介面47B整合至SOC 40中,則其很小。或者,當然,子系統控制器49可經建構以便其直接與周邊匯流排PER_BUS建立介面,或在替代實施例中另外經建構以便其直接與系統匯流排CPU_BUS建立介面(從而避免匯流排橋接器48之中間功能)。期望此等及其他架構變體對參考本說明書之熟習此項技術者而言將係顯而易見 的。
在本發明之此實施例中,整合於SOC 40內之子系統控制器49係連接至快閃記憶體介面NAND_IF,快閃記憶體55係連接(或可連接)至該介面NAND_IF。SOC 40內之積體子系統控制器49亦時常被稱作"嵌入式"控制器。期望快閃記憶體介面NAND_IF為一習知快閃記憶體介面匯流排或結構,且同樣包括用於將一位址訊號運載至快閃記憶體55之導線、一或多個晶片選擇控制線、讀寫選通線或時脈線及一雙向資料匯流排。在常用快閃記憶體配置中,位址訊號及資料訊號被經由一常用線組("位址線/資料線")加以時間多工以節約介面電路及系統板面積。
本發明之此實施例中的子系統控制器49較佳執行習知之快閃記憶體控制功能,包括(例如)控制經由介面NAND_IF自相關快閃記憶體55讀取資料及將資料寫入至快閃記憶體55、實施誤差校正編碼、將邏輯位址(來自CPU 42)映射至實體位址(在快閃記憶體55中)、初始化並維持快閃記憶體55中之缺陷記憶體單元之映射、實現平均讀寫及類似操作。如此項技術中所熟知的,同樣,子系統控制器49較佳經建構以包括諸如微控制器或微處理器之邏輯功能性,及用於儲存其可執行軟體指令以及有關快閃記憶體55之映射及組態之系統資訊的其自有內部記憶體(揮發性記憶體、非揮發性記憶體或兩者)。此項技術中已知之典型子系統控制器之架構及功能性之一實例係描述於美國專利第6,426,893號中,該專利在此共同讓渡且以引用方式併入本 文中。期望此習知操作及架構可結合根據本發明之較佳實施例之子系統控制器49使用,除自圖4及此描述中顯見,子系統控制器49係實現於SOC 40內且整合至SOC 40中。期望參考本說明書之熟習此項技術者將能夠容易地根據此例示性架構以及根據適用於一特定系統組態之其他均等架構如此實現子系統控制器49及其功能性而無不當試驗。
視需要,可根據一多處理器架構實現子系統49,而不包括以上參考之美國專利第6,426,893號中所設想的單個微處理器或微控制器。舉例而言,一主CPU可連同一具有與主CPU類似之架構(意即,在一均質多處理器環境中)或具有一不同架構(意即,在一異質多處理器環境中)之快閃處理器一起建構。在任一情況下,向該快閃處理器提供專用於快閃記憶體55之管理的系統資源(記憶體等),該管理包括所有快閃存取操作及諸如平均讀寫、誤差校正之輔助功能及類似功能之管理。該主CPU可具備專用資源以充當一應用程式處理器,以用於執行一主機應用程式、管理與主機之通信、結合一即時操作系統及檔案系統管理子系統控制器49之支援環境及類似操作。一額外選項係提供一與該應用程式處理器及快閃處理器結合或僅與該主CPU結合之數位訊號處理器(DSP),以充當一用於進行諸如資料加密及解密及類似操作之複雜計算操作的從屬DSP。
根據本發明之此實施例,系統60之快閃記憶體55對應快閃電可擦除可程式化唯讀記憶體(EEPROM)單元之一或多個陣列,該等單元如此項技術中所已知的配置於每一可以 區塊擦除之陣列內且同樣可在需要時由實施系統重寫。在本發明之此較佳實施例中,用於構成快閃記憶體55之該或該等陣列內之該等個別記憶體單元的特別記憶體技術可為二進位或多級單元(MLC)型之任一者,其於每一陣列內組態為NAND型或NOR型快閃記憶體。對於此特定例示性實施例(其中系統60為DAP),期望MLC NAND快閃記憶體技術將較佳用於主要以串列方式存取之大量資料儲存。根據本發明之此實施例,作為用於寫入資料、快閃擦除資料、邏輯至實體位址映射及管理平均讀寫之目的之區塊及頁,構成快閃記憶體55之該或該等快閃記憶體之配置可符合許多此等配置之任一者。適用於實現為根據本發明之系統60中之快閃記憶體55的內部架構及支援電路之實例係描述於以下美國專利中:第5,172,338號、第5,602,987號、第5,315,541號、第5,200,959號、第5,270,979號、第5,428,621號、第5,663,901號、第5,532,962號、第5,430,859號、第5,712,180號、第6,151,248號、第6,222,762號及第6,426,893號,該等專利在此全部共同讓渡且以引用方式併入本文中。
如以上所論述的,在製造系統60期間的某點處,需要初始化快閃記憶體55以使其可使用。快閃記憶體初始化通常包括諸如以下功能:根據一檔案系統格式化快閃記憶體55、偵測缺陷記憶體位置以使其未被映射使用、產生一初始邏輯至實體位址記憶體映射、實現平均讀寫簿記及演算法。舉例而言,亦可實現子系統控制器49本身之初始化以 下載其系統韌體及操作參數、微調本機振盪器頻率及類似操作。另外,取決於快閃記憶體55及系統60之特定應用,快閃記憶體55之初始化亦可包括將可執行應用軟體加載至快閃記憶體55中以由系統60之CPU 42稍後執行,及將快閃記憶體55預先加載用於此可執行應用軟體之應用資料(例如,用於為DAP之系統60的MP3音訊檔案)。
根據本發明之較佳實施例,系統60允許主機系統HOST經由標準介面50實現快閃記憶體55之初始化,標準介面50在此情況下為一USB 2.0介面。當然,如上文所提及的,此標準介面可替代地符合一不同標準,諸如IEEE 1394(火線)介面。在製造環境中,期望主機系統HOST將為製造測試設備,諸如可自Tanisys Technology購得之測試設備,或由製造商使用之其它專用快閃記憶體測試設備。期望快閃記憶體55之此初始化可在完成系統60裝配之後(意即,具有包括諸如顯示器53、音訊輸出元件57及輸入元件61的周邊裝置)或在最終裝配之前僅在SOC 40連接至快閃記憶體59之後執行。
或者,考量主機系統HOST正經由一習知標準介面(例如,USB 2.0)與SOC 40通信,期望主機系統HOST可為一習知個人電腦或工作站,其經適當應用程式程式化以實現快閃記憶體初始化。另外,在替代實施例中,期望由主機系統HOST實現之快閃記憶體初始化不必僅在製造(意即,快閃記憶體55之"最初"初始化)期間執行,而是亦可在系統使用及配置之後執行,(例如)以升級作為"韌體"儲存於快 閃記憶體55中的系統60之可執行應用程式或甚至可由子系統控制器49執行之韌體系統軟體(其亦可儲存於快閃記憶體55中)。
現參看圖5,現在將詳細描述根據本發明之較佳實施例之結合主機系統HOST實現快閃記憶體55之初始化中的SOC 40之操作。假定在此實例中,SOC 40在此初始化開始時還未加電。且如上文所提及的,雖然必要時可連接一或多個周邊裝置,但取決於製造的特定階段,各種周邊裝置不必仍連接至周邊匯流排PER_BUS。同樣當此初始化過程開始時,快閃記憶體55較佳係經由介面NAND_IF連接至SOC 40,以避免該過程中稍後之安裝或等待狀態。在步驟70中,經由圖4之實例中之匯流排USB_2將主機系統HOST連接至標準介面50。當然,用必需軟體指令程式化主機系統HOST以以下述方式實現初始化;期望參考本說明書之熟習此項技術者可容易地得到此等初始化程式,且甚至期望習知快閃記憶體初始化程式可駐留於主機系統HOST中,並且僅對其進行較小修改以實現下述操作。
在步驟72中,使包括CPU 42之SOC 40加電。在加電時,如對諸如SOC 40之系統係習知的,首先由CPU 42執行一駐留於系統ROM 44中之啟動順序(圖5之步驟74),其中由CPU 42執行習知起動及重置指令以開始其操作。根據本發明之此較佳實施例,儲存於系統ROM 44中之該啟動順序包括一可執行指令,CPU 42經由該指令詢問(interrogate)快閃記憶體55以在加電或重置後查尋一可執 行應用程式,且將於下文描述該詢問操作之後的習知指令。因此,作為執行啟動順序(步驟74)之部份,CPU 42執行判定75以判定一可執行應用程式碼是否駐留於快閃記憶體55中。
圖6為根據本發明之一較佳實施例的快閃記憶體55之例示性邏輯記憶體映射,該記憶體在初始化後可結合判定75使用。如所示的,快閃記憶體55包括對應自0000之邏輯塊位址(LBA)擴展至最大LBA值maxLBA之邏輯記憶體空間的實體容量。此邏輯記憶體空間主要專用於使用者資料,其被指派了自LBA0000至最大LBAmaxUserLBA之記憶體空間。在此實例中,快閃記憶體55中最上面的1百萬位元組記憶體空間係保留給應用韌體程式儲存器,該空間自LBAmaxUserLBA擴展至最大LBA值maxLBA,其等於位址maxUserLBA+1 M。較佳地,使用者將不可存取在LBA值maxUserLBA以上之記憶體空間,並且對其之存取由子系統控制器49鎖閉。如圖6所示,根據本發明之此較佳實施例,在快閃記憶體55之初始化之後,應用韌體之兩個複本被儲存於該快閃記憶體空間的此最上部分中。在快閃記憶體55中,應用韌體複本A駐留於在LBA值maxUserLBA+512k與LBA值maxLBA之間的記憶體空間中;應用韌體複本B駐留於在LBA值maxUserLBA與LBA值maxUserLBA+512k之間的記憶體空間中。根據本發明之此實施例,希望韌體複本A與B相同,從而充當應用韌體之冗餘複本(redundant copy)。
根據本發明之較佳實施例,CPU 42藉由詢問在LBA位址maxUserLBA以上之快閃記憶體55執行該來自系統ROM 44之啟動順序。若LBA maxUserLBA與maxLBA之間的空間含有應用韌體之一有效複本(複本A或複本B),則結果76為是,且將在步驟76中執行該應用韌體。接著根據在步驟74中發現之該應用程式開始SOC 40及系統60之正常系統操作(在周邊裝置存在時)。藉由評估每一複本之習知循環冗餘總和檢查碼(CRC)值判定應用韌體之有效性;若一個複本有效且另一複本有訛誤,則較佳將該有效複本複製至快閃記憶體55中之另一複本的位置以用於冗餘檢查。
另一方面,若LBAmaxUserLBA與maxLBA之間的記憶體空間為空,或不含有應用韌體之有效複本(例如,兩個複本之CRC失效),則判定75返回否結果,其指示不存在應用韌體。當然,此將係在初始化快閃記憶體55之前的情況。
替代判定應用程式是否存在於快閃記憶體55中之判定75,且尤其在維護或韌體升級操作中,期望判定75可基於不同標準,考量在此種情況下,應用程式將已經駐留(will already reside)於快閃記憶體55中。如此項技術中所已知的,系統之韌體升級可經由按下起動鍵或類似鍵之專用組合來實現,此通常與系統之電力循環(power cycle)組合。
根據本發明之此較佳實施例,回應於一來自判定75之否結果或此類其他標準被滿足,CPU 42執行對應於步驟80的來自系統ROM 44之指令序列,在該步驟中啟用某"傳遞" 命令邏輯,以使得由SOC 40經由標準介面50接收之命令"傳遞"至子系統控制器49以用於執行。在此實例中,此等傳遞命令為SCSI(小電腦串列介面)擴展命令形式,其引導CPU 42經由一低級快閃記憶體裝置驅動器格式化經由標準介面50接收之請求以由子系統控制器49執行。實際上,該傳遞命令邏輯為一段由CPU 42執行之膠合邏輯碼,其在其SCSI命令解釋器與該低級裝置驅動器之間建立介面。
或者,此初始化序列可自主機系統HOST下載至系統RAM 46且接著由CPU 42執行以詢問快閃記憶體55以判定應用韌體是否存在且接著建立通信通道。另外,在替代實施例中,CPU 42用於詢問快閃記憶體55以判定其初始化狀態之指令可存在於系統ROM中,且若初始化需要,該初始化序列之剩餘部分可接著被自主機系統HOST下載至系統RAM 46中。期望下載或駐留的初始化序列碼之此等及其他組合對參考本說明書之熟習此項技術者而言係顯而易見的,且具有為特定應用程式選擇的特定調適。
當CPU 42啟用該SCSI命令邏輯時,在步驟82中,打開主機系統HOST與子系統控制器49之間的通信通道。當系統60配置為DAP時,期望此通信通道類似於由系統60利用之通道,以便實現主機電腦與快閃記憶體之間之音樂檔案的"同步"。實際上,期望CPU 42在步驟82中有效地建立主機系統HOST與子系統控制器49之間的直接通信路徑,以使得在不需要由CPU 42實際執行之情況下,經由此路徑轉發命令及資料。圖7說明主機系統HOST與快閃記憶體55之 間之此一通信通道(如根據本發明之較佳實施例在步驟82中由SOC 40中之CPU 42所建立的)。
當然,此操作中之CPU 42將涉及之範圍將取決於SOC 40之具體結構。然而,如以上關於圖2所描述的,在初始化期間,此通信通道將允許主機系統HOST與子系統控制器49之間的通信,以用於以一類似於習知之測試設備與習知之快閃記憶體系統之間的通信方式初始化快閃記憶體55;此配置允許主機系統HOST的初始化硬體及軟體類似於已以習知之快閃記憶體製造設備及工藝來實現的硬體及軟體。
在步驟84中,在於步驟82中打開通信通道之後,主機系統HOST經由該通道將初始化命令及資料轉發至子系統控制器49(圖7)。如此項技術中所已知的,此等初始化命令包括必需的診斷指令及其類似指令,該等類似指令使子系統控制器49存取在正常操作中另外不可存取的快閃記憶體55之系統記憶體位置。
舉例而言,在經由以上提及之SCSI傳遞命令擴展實現通信通道之情況下,由CPU 42解釋之傳遞命令相當受限制:
用於所有媒體類型:
檢查媒體卡類型(命令碼D0h)(檢查SD/MMC或CF媒體類型)
用於SD/MMC媒體:
媒體卡SD執行命令(命令碼D1h)
媒體卡SD主機控制命令(命令碼D2h)
用於CF媒體:
媒體卡CF發送命令(命令碼D1h)
媒體卡CF資料命令(命令碼D2h)
媒體卡CF狀態命令(命令碼D3h)該檢查媒體卡類型命令詢問子系統控制器49以識別快閃記憶體55之媒體類型,且亦允許並禁止SOC 40執行該等傳遞命令(意即,當禁止時,命令碼D1h等不轉譯為傳遞命令)。
對於SD/MMC媒體之實例,當啟用時,一旦主機系統HOST發出媒體卡SD執行命令(D1h),CPU 42即向子系統控制器49發出一相應本機命令。來自主機系統HOST之執行命令可包括:包括資料傳送方向(至快閃記憶體55或來自快閃記憶體55)、命令類型之引數,限制命令之引數及其類似者。一旦接收執行命令,CPU 42即向子系統控制器49發送一相應本機命令,且充當一用於主機系統HOST與快閃記憶體子系統之間的資料傳送之緩衝器。媒體卡SD主機控制命令可用於向快閃記憶體子系統指示諸如操作頻率之某些屬性及向主機指示等待狀態、區塊長度及其他控制屬性。對於CF媒體之實例,發送命令指示由後續資料命令存取之快閃記憶體55之特定區段、柱面及裝置位置,該資料命令係作為一本機命令由CPU 42轉發至子系統控制器49以用於將資料自主機系統HOST發送至快閃記憶體55或將資料自快閃記憶體55發送至主機系統HOST。CF狀態命令僅為一由主機系統HOST發出以自子系統控制器49之狀態暫存器擷取狀態資訊之命令。
如以上在關於美國專利第6,009,496號之發明背景中所提及的,習知微控制器架構包括用以在程式化嵌入式快閃記憶體時執行一程式改寫控制常式之機載微處理器。根據本發明之此實施例所使用的該等傳遞命令及命令邏輯相對於習知方法尤其有益,因為該等命令最小化CPU 42在實現快閃記憶體子系統之控制中的作用,代之以允許主機系統HOST實現此控制。另外,相對小的命令集減少CPU 42之耗用且允許該等命令擴展至新的記憶卡類型。
根據本發明之此實施例,在步驟86中,由主機系統HOST發出之此等傳遞命令之一序列經由子系統控制器49初始化快閃記憶體55。如此項技術中所已知的且如上所述,初始化步驟86包括以下操作:根據所需檔案系統及結構格式化快閃記憶體55、偵測並映射缺陷記憶體位置、建立邏輯至實體位址映射結構及映射本身及為子系統控制器49提供適當平均讀寫演算法以確保快閃記憶體55中之該等記憶體單元之最大使用壽命。亦可在此時於子系統控制器49本身內初始化系統韌體、操作參數、本機振盪器頻率及其類似者。另外,亦如上文所提及的,期望快閃記憶體55之初始化亦將包括將應用軟體加載至快閃記憶體55中(例如,在圖6之實例中,該軟體為加載至LBA位址maxUserLBA以上之記憶體空間中的冗餘複本A及B)以由CPU 42在其系統操作中使用,且亦可能包括將應用程式資料(例如,用於配置為DAP之系統60之MP3音訊檔案、JPEG相片檔案等)預先加載至快閃記憶體55中。當然,程式碼及資料之 此加載及預先加載將在如上所述的快閃記憶體55之格式化及其他系統初始化之後進行。
在完成初始化步驟86之後,且或許在快閃記憶體55之此功能測試及資料驗證之後,完成此初始化中之主機系統HOST之操作。在步驟88中,主機系統HOST接著藉由發出一檢查媒體卡類型命令(D0h)禁用傳遞命令之功能性並釋放系統匯流排CPU_BUS。SOC 40及系統60之操作(視周邊功能出現與否而定)可接著如所想要地繼續至所需或可能程度。在初始化環境中,例如在SOC 40或系統60之製造期間,CPU 42僅可進入閒置或關閉狀態。若初始化對應一韌體更新或其他維護操作,則CPU 42可改為重置或重新啟動且根據其正常操作開始執行來自快閃記憶體55之應用程式(意即,判定75為是)。期望參考本說明書之熟習此項技術者將容易地按需要實現下一操作序列。
如上文所提及的,上述架構及方法之各種替代物適用於本發明且與本發明有關。舉例而言,系統單晶片或包括快閃記憶體控制器電路之其他大型系統積體之特定架構可視特定應用而廣泛改變。舉例而言,本發明之較佳實施例之匯流排結構及介面配置可採用系統設計者所需的許多替代形式。類似地,此種積體系統之特定應用亦可採用超出上述例示性DAP的許多形式中之任何一種,僅舉例而言其包括:諸如通用或專用計算機系統之系統、攜帶型音訊及視訊播放器及錄音機、無線(或有線)電話手機及系統、諸如用於詳細目錄或傳遞控制之攜帶型專用系統。且快閃記憶 體資源之初始化中所包括的特殊任務可包括來自以上結合本發明之較佳實施例描述之實施例的或多或少(或實際上完全不同)的任務。期望參考本說明書之熟習此項技術者將容易地認識到,此等及其他替代實施例在所主張之本發明之範疇內。
根據本發明之較佳實施例,快閃記憶體資源在利用系統單晶片架構之高度整合數位系統中可用作為程式及資料的磁碟更換及其他非揮發性大容量儲存,而不導致提供用於快閃記憶體之初始化的專用介面及測試設備之實際成本。實情為,根據本發明,習知主電腦或測試設備可使用已由系統單晶片提供之習知標準介面技術與積體快閃記憶體子系統控制器通信,以有效且容易地初始化該快閃記憶體資源。研發時間及製造成本因本發明而最小化,同時在最終系統之結構、操作及管理上提供大量靈活性。
雖然已根據本發明之較佳實施例描述了本發明,但是當然期望對於參考本說明書及其圖式之熟習此項技術者而言,此等實施例之修改及替代實施例、含有本發明之優點及益處之修改及替代實施例將係顯而易見的。期望此等修改及替代實施例在本文隨後主張之本發明之範疇內。
2‧‧‧快閃記憶體系統
10‧‧‧控制器
12‧‧‧快閃記憶體/陣列
20‧‧‧系統單晶片(SOC)
22‧‧‧中央處理單元(CPU)
24‧‧‧系統ROM
26‧‧‧系統RAM
27A‧‧‧標準介面
27B‧‧‧標準介面
28‧‧‧匯流排橋接器
29‧‧‧子系統控制器
30‧‧‧標準介面
35‧‧‧快閃記憶體
40‧‧‧系統單晶片(SOC)
42‧‧‧中央處理單元(CPU)
44‧‧‧系統唯讀記憶體(ROM)
46‧‧‧系統隨機存取記憶體(RAM)
47A‧‧‧標準介面功能
47B‧‧‧標準介面功能
48‧‧‧匯流排橋接器
49‧‧‧快閃記憶體子系統控制器
50‧‧‧標準介面
51‧‧‧SD快閃記憶體介面
53‧‧‧顯示器
55‧‧‧快閃記憶體
57‧‧‧音訊輸出介面
60‧‧‧數位系統
61‧‧‧輸入元件
C‧‧‧連接器
CPU_BUS‧‧‧系統匯流排
DUT_CBL‧‧‧測試電纜
FMI‧‧‧快閃媒體介面
HOST‧‧‧主機
NAND_IF‧‧‧快閃記憶體介面
PER_BUS‧‧‧周邊匯流排
SPC_BUS‧‧‧專用匯流排
TSTR‧‧‧測試器
USB_2‧‧‧USB連接件
圖1為一習知快閃記憶體子系統的方塊形電路圖。
圖2為一用於初始化圖1之快閃記憶體子系統之習知系統的方塊形電路圖。
圖3為一利用快閃記憶體之推測系統單晶片(SOC)的方塊 形電路圖,包括一初始化該快閃記憶體之習知而不樂見之方式。
圖4為根據本發明之較佳實施例的一根據一系統單晶片(SOC)架構建構且利用快閃記憶體之數位系統的方塊形電路圖,包括用於初始化該快閃記憶體的資源。
圖5為根據本發明之較佳實施例的流程圖,其說明圖4之系統在實現快閃記憶體資源之初始化中之操作。
圖6為根據本發明之較佳實施例的記憶體映射圖,其說明在圖4之系統之快閃記憶體資源中的使用者及保留記憶體空間。
圖7為說明根據本發明之較佳實施例的圖4之系統的方塊形電路圖,其說明一主機系統與該快閃記憶體資源及子系統控制器之間的系統單晶片中之一通信通道之打開。
40‧‧‧系統單晶片(SOC)
42‧‧‧中央處理單元(CPU)
44‧‧‧系統唯讀記憶體(ROM)
46‧‧‧系統隨機存取記憶體(RAM)
47A‧‧‧標準介面功能
47B‧‧‧標準介面功能
48‧‧‧匯流排橋接器
49‧‧‧快閃記憶體子系統控制器
50‧‧‧標準介面
51‧‧‧SD快閃記憶體介面
53‧‧‧顯示器
55‧‧‧快閃記憶體
57‧‧‧音訊輸出介面
60‧‧‧數位系統
61‧‧‧輸入元件
CPU_BUS‧‧‧系統匯流排
HOST‧‧‧主機
NAND_IF‧‧‧快閃記憶體介面
PER_BUS‧‧‧周邊匯流排
USB_2‧‧‧USB連接件

Claims (21)

  1. 一種初始化一數位系統之一非揮發性記憶體子系統之方法,該方法包含以下步驟:執行該數位系統之該非揮發性記憶體子系統之一初始化序列,其中該數位系統包含一系統單晶片(system-on-a-chip,縮寫為「SOC」)積體電路,該SOC積體電路包含一中央處理單元、相異於(distinct)該中央處理單元之一嵌入式非揮發性記憶體子系統控制器、及一外部介面,該初始化序列包括用以打開介於該SOC積體電路之該外部介面以及相異於該SOC積體電路的該中央處理單元之該SOC積體電路的該嵌入式非揮發性記憶體子系統控制器之間之一通信通道的一命令;及根據施加至該外部介面且經由該通信通道傳達至該嵌入式非揮發性記憶體子系統控制器之初始化命令,初始化該數位系統內之一或多個非揮發性記憶體陣列。
  2. 如請求項1之方法,進一步包含:經由該外部介面下載一或多個初始化指令;其中執行該初始化序列包含:執行該下載之一或多個初始化指令。
  3. 如請求項1之方法,其中執行該初始化序列包含:操作該SOC積體電路之該中央處理單元以執行儲存於一系統程式記憶體中之一或多個初始化指令。
  4. 如請求項1之方法,其中初始化一或多個非揮發性記憶體陣列包含: 根據一檔案系統格式化該或該等非揮發性記憶體陣列。
  5. 如請求項4之方法,其中初始化一或多個非揮發性記憶體陣列包含:將一可由該SOC積體電路之該中央處理單元執行之應用軟體程式加載至該或該等非揮發性記憶體陣列中。
  6. 如請求項5之方法,其中初始化一或多個非揮發性記憶體陣列進一步包含:將應用程式資料預先加載至該或該等非揮發性記憶體陣列中。
  7. 如請求項1之方法,其中初始化一或多個非揮發性記憶體陣列包含:更新用於該嵌入式非揮發性記憶體子系統控制器之系統韌體。
  8. 如請求項2之方法,其中下載一或多個初始化指令包含:將該或該等初始化指令儲存於一系統隨機存取記憶體中;且其中執行該非揮發性記憶體子系統之一初始化序列包含:自該系統隨機存取記憶體擷取該或該等初始化指令;及執行該擷取之一或多個初始化指令。
  9. 如請求項1之方法,其中該或該等非揮發性記憶體陣列 包含一或多個快閃記憶體陣列。
  10. 如請求項1之方法,進一步包含:將一主機系統連接至一外部介面;其中該主機系統經由該外部介面執行該初始化步驟。
  11. 如請求項1之方法,其進一步包含:詢問(interrogate)該或該等非揮發性記憶體陣列以判定一應用程式是否駐留於該或該等非揮發性記憶體陣列中;其中為回應於一應用程式並未駐留於該或該等非揮發性記憶體陣列之判定,該通信通道係介於該外部介面以及該嵌入式非揮發性記憶體子系統控制器之間而打開。
  12. 一種數位系統,其包含:一系統單晶片(SOC)積體電路,其包含:一中央處理單元;一記憶體子系統控制器,其相異於該中央處理單元;及一外部介面;以及耦接至該記憶體子系統控制器之一或多個非揮發性記憶體陣列;其中該中央處理單元經程式化以:詢問該或該等非揮發性記憶體陣列,以判定一應用程式是否駐留於該或該等非揮發性記憶體陣列中,且回應於一應用程式未駐留於該或該等非揮發性記憶體陣列中之判定,打開介於該外部介面及該記憶體子 系統控制器之間之一通信通道,經由該外部介面下載初始化指令以初始化該或該等非揮發性記憶體陣列,以及以該記憶體子系統控制器執行該等初始化指令以初始化該或該等非揮發性記憶體陣列。
  13. 如請求項12之數位系統,進一步包含:耦接至該中央處理單元之系統隨機存取記憶體,以儲存該等下載的可執行指令。
  14. 如請求項12之數位系統,進一步包含:耦接至該中央處理單元之系統唯讀記憶體,其用於儲存可由該中央處理單元執行之啟動順序指令(boot sequence instructions),該等啟動順序指令包含用於詢問該或該等非揮發性記憶體陣列以判定一應用程式是否駐留於該或該等非揮發性記憶體陣列中之指令。
  15. 如請求項14之數位系統,其中該中央處理單元亦經程式化以回應於一應用程式未駐留於該或該等非揮發性記憶體陣列中之判定,自該系統唯讀記憶體擷取該等初始化指令。
  16. 如請求項12之數位系統,其中該SOC積體電路進一步包含一外部介面;且其中該外部介面係根據一工業標準介面協定建構。
  17. 如請求項12之數位系統,其中該或該等非揮發性記憶體陣列包含一或多個快閃記憶體陣列。
  18. 如請求項17之數位系統,其中該SOC積體電路進一步包含: 一系統匯流排,其將該記憶體子系統控制器耦接至該中央處理單元;及介面電路,其用於將該系統匯流排耦接至該記憶體子系統控制器之一介面,該記憶體子系統控制器之該介面對應於一標準快閃記憶體介面。
  19. 如請求項12之數位系統,進一步包含:耦接至該SOC積體電路之至少一周邊功能。
  20. 如請求項19之數位系統,其中該至少一周邊功能包含:一音訊輸出介面。
  21. 如請求項19之數位系統,其中該至少一周邊功能包含:一使用者輸入元件;及一顯示器。
TW095137807A 2005-10-13 2006-10-13 透過嵌入式控制器之快閃儲存器初始化 TWI408597B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/250,094 US7640424B2 (en) 2005-10-13 2005-10-13 Initialization of flash storage via an embedded controller

Publications (2)

Publication Number Publication Date
TW200745932A TW200745932A (en) 2007-12-16
TWI408597B true TWI408597B (zh) 2013-09-11

Family

ID=37897344

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095137807A TWI408597B (zh) 2005-10-13 2006-10-13 透過嵌入式控制器之快閃儲存器初始化

Country Status (7)

Country Link
US (2) US7640424B2 (zh)
EP (2) EP2053501A3 (zh)
JP (2) JP5173818B2 (zh)
KR (1) KR20080075110A (zh)
CN (1) CN101313287B (zh)
TW (1) TWI408597B (zh)
WO (1) WO2007044926A2 (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
TWI321279B (en) * 2005-07-20 2010-03-01 Incomm Technologies Co Ltd Memory device and associated method
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
JP2008204582A (ja) * 2007-02-22 2008-09-04 Elpida Memory Inc 不揮発性ram
US20080294838A1 (en) * 2007-05-25 2008-11-27 Agere Systems Inc. Universal boot loader using programmable on-chip non-volatile memory
US7624211B2 (en) * 2007-06-27 2009-11-24 Micron Technology, Inc. Method for bus width negotiation of data storage devices
JP2009037456A (ja) 2007-08-02 2009-02-19 Nec Electronics Corp マイクロコントローラおよびその制御方法
US9824006B2 (en) * 2007-08-13 2017-11-21 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US11237956B2 (en) * 2007-08-13 2022-02-01 Digital Kiva, Inc. Apparatus and system for object-based storage solid-state device
US7970919B1 (en) * 2007-08-13 2011-06-28 Duran Paul A Apparatus and system for object-based storage solid-state drive and method for configuring same
US7925877B2 (en) * 2007-09-27 2011-04-12 Texas Instruments Incorporated Method, system and apparatus for providing a boot loader of an embedded system
US20090088876A1 (en) * 2007-09-28 2009-04-02 Conley Kevin M Portable, digital media player and associated methods
US7870446B2 (en) * 2008-02-29 2011-01-11 Kabushiki Kaisha Toshiba Information processing apparatus and nonvolatile semiconductor memory drive
CN101571807A (zh) * 2008-04-28 2009-11-04 鸿富锦精密工业(深圳)有限公司 具有固件的系统及其启动方法
US8302182B2 (en) * 2008-09-01 2012-10-30 Mediatek Inc. Embedded system with authentication, and associated authentication method
WO2010059146A1 (en) * 2008-11-24 2010-05-27 Hewlett-Packard Development Company L.P. Wear leveling memory cells
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8788850B1 (en) * 2009-01-22 2014-07-22 Marvell International Ltd. Systems and methods for using a security circuit to monitor a voltage of an integrated circuit to counter security threats to the integrated circuit
US8176232B2 (en) * 2009-05-11 2012-05-08 Micron Technology, Inc. Dedicated interface to factory program phase-change memories
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
CN101996168B (zh) * 2009-08-25 2013-08-07 中兴通讯股份有限公司 格式化闪存的方法和装置
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US9239806B2 (en) * 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9082474B2 (en) 2011-04-21 2015-07-14 Micron Technology, Inc. Method and apparatus for providing preloaded non-volatile memory content
US8706955B2 (en) * 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
CN102622249B (zh) * 2012-03-05 2015-12-02 山东华芯半导体有限公司 一种防止cpu自锁的安全启动方法
CN103376948B (zh) * 2012-04-30 2016-08-31 联发科技股份有限公司 触控器芯片、电子装置以及控制触摸屏的方法
WO2014096970A2 (en) * 2012-12-20 2014-06-26 Marvell World Trade Ltd. Memory sharing in a network device
KR20140083530A (ko) * 2012-12-26 2014-07-04 삼성전자주식회사 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법
US9231921B2 (en) * 2013-08-20 2016-01-05 Janus Technologies, Inc. System and architecture for secure computer devices
US9632702B2 (en) 2014-10-15 2017-04-25 International Business Machines Corporation Efficient initialization of a thinly provisioned storage array
CN104572180B (zh) * 2014-12-19 2018-06-26 沈阳东软医疗系统有限公司 一种嵌入式设备的固件升级方法及嵌入式系统
US9734117B2 (en) * 2015-01-26 2017-08-15 Western Digital Technologies, Inc. Data storage device and method for integrated bridge firmware to be retrieved from a storage system on chip (SOC)
US10218166B2 (en) 2015-03-03 2019-02-26 Sandisk Technologies Llc System and method for dynamic monitoring of controller current consumption
KR20160109207A (ko) * 2015-03-10 2016-09-21 삼성전자주식회사 메모리의 초기화 및 펌 웨어의 업데이트를 위한 방법 및 전자 장치
KR102298661B1 (ko) 2015-04-30 2021-09-07 삼성전자주식회사 저장 장치 및 그것의 초기화 방법
CN104965660B (zh) * 2015-06-09 2018-05-18 山东超越数控电子有限公司 一种在平板上实现三态键的方法
JP2017138781A (ja) * 2016-02-03 2017-08-10 Necプラットフォームズ株式会社 ディスクアレイコントローラ、ストレージシステム、方法、及び、プログラム
EP3433751A4 (en) * 2016-08-22 2019-12-11 Hewlett-Packard Development Company, L.P. INFORMATION OF CONNECTED DEVICES
US10223094B2 (en) * 2016-09-30 2019-03-05 Intel Corporation Initializing a system on a chip
CN109690465B (zh) * 2016-12-07 2020-10-09 华为技术有限公司 一种存储设备管理方法及用户终端
CN107678686B (zh) * 2017-09-19 2020-07-14 山东存储之翼电子科技有限公司 基于硬件实现闪存的ftl功能的方法及其数据存储装置
WO2020039298A1 (en) * 2018-08-11 2020-02-27 Inventrom Private Limited System and method for updating flash memory of microcontroller
KR102601143B1 (ko) * 2018-10-29 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory
US11237838B2 (en) 2020-01-02 2022-02-01 Western Digital Technologies, Inc. Storage system and method for enabling a direct accessible boot block in a memory die
US11144223B2 (en) 2020-01-21 2021-10-12 Silicon Motion, Inc. Flash memory initialization scheme for writing boot up information into selected storage locations averagely and randomly distributed over more storage locations and correspondingly method for reading boot up information from selected storage locations
US11483137B2 (en) 2020-01-22 2022-10-25 Micron Technology, Inc. Dynamic command extension for a memory sub-system
CN111782290B (zh) * 2020-06-02 2023-10-27 青岛信芯微电子科技股份有限公司 一种数据处理方法及设备
US11714925B2 (en) * 2020-12-09 2023-08-01 Micron Technology, Inc. Assuring integrity and secure erasure of critical security parameters
KR20220101502A (ko) 2021-01-11 2022-07-19 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법
CN113228189A (zh) * 2021-03-30 2021-08-06 长江存储科技有限责任公司 具有嵌入式固件修复机制的存储器件
US11967391B2 (en) * 2021-08-06 2024-04-23 SK Hynix Inc. System and method for testing multicore SSD firmware based on preconditions generation
US11922049B2 (en) * 2021-08-20 2024-03-05 Micron Technology, Inc. Trim values for multi-plane operations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884074A (en) * 1996-10-11 1999-03-16 Mitsubishi Denki Kabushiki Kaisha Microcomputer utilizing flash memory for data storage
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
US20030005278A1 (en) * 2001-06-30 2003-01-02 Guoshun Deng Multifunction semiconductor storage device and a method for booting-up computer host
US20040139307A1 (en) * 2003-01-09 2004-07-15 Barnett Philip C. Method and apparatus for initializing a semiconductor circuit from an external interface
TWI240203B (en) * 2004-02-25 2005-09-21 Via Tech Inc A device which updates firmware by a memory card

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69024086T2 (de) 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5175831A (en) 1989-12-05 1992-12-29 Zilog, Inc. System register initialization technique employing a non-volatile/read only memory
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
JPH06139131A (ja) * 1992-10-30 1994-05-20 Toshiba Corp メモリカード装置
JP3290041B2 (ja) * 1995-02-17 2002-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 多層プリント基板、多層プリント基板の製造方法
US6247084B1 (en) 1997-10-08 2001-06-12 Lsi Logic Corporation Integrated circuit with unified memory system and dual bus architecture
US6286097B1 (en) 1998-08-06 2001-09-04 Via Technologies, Inc. Computer chipset for accessing a conventional read only memory (ROM)
US6401198B1 (en) * 1999-03-09 2002-06-04 Texas Instruments Incorporated Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
JP3727485B2 (ja) * 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
US6487655B1 (en) 1999-04-29 2002-11-26 Intel Corporation Computer system formed with a processor and a system board provided with complementary initialization support
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6434697B1 (en) 1999-10-06 2002-08-13 Micron Technology, Inc. Apparatus for savings system configuration information to shorten computer system initialization time
CN1088218C (zh) 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
TW460786B (en) * 1999-12-09 2001-10-21 Via Tech Inc System to reprogram the content value of the flash memory of the peripheral device and the method thereof
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6920553B1 (en) 2000-04-28 2005-07-19 Intel Corporation Method and apparatus for reading initial boot instructions from a bootable device connected to the USB port of a computer system
US6785765B1 (en) 2000-06-30 2004-08-31 Micron Technology, Inc. Status register to improve initialization of a synchronous memory
US6675255B1 (en) * 2000-06-30 2004-01-06 Micron Technology, Inc. Device initialize command for a synchronous memory
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
AU2002226995A1 (en) 2000-11-28 2002-06-11 4Thpass Inc. Method and system for maintaining and distributing wireless applications
US6877063B1 (en) 2000-12-22 2005-04-05 Xilinx, Inc. Multiple memory aliasing for a configurable system-on-chip
US6658633B2 (en) 2001-10-03 2003-12-02 International Business Machines Corporation Automated system-on-chip integrated circuit design verification system
US6859856B2 (en) 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
US7234052B2 (en) 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US6795872B2 (en) 2002-05-09 2004-09-21 Renesas Technology America, Inc. Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed
JP2004348677A (ja) 2003-05-26 2004-12-09 Sony Corp プログラムおよび情報処理方法
JP2005085080A (ja) * 2003-09-10 2005-03-31 Matsushita Electric Ind Co Ltd データ記録装置
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884074A (en) * 1996-10-11 1999-03-16 Mitsubishi Denki Kabushiki Kaisha Microcomputer utilizing flash memory for data storage
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
US20030005278A1 (en) * 2001-06-30 2003-01-02 Guoshun Deng Multifunction semiconductor storage device and a method for booting-up computer host
US20040139307A1 (en) * 2003-01-09 2004-07-15 Barnett Philip C. Method and apparatus for initializing a semiconductor circuit from an external interface
TWI240203B (en) * 2004-02-25 2005-09-21 Via Tech Inc A device which updates firmware by a memory card

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MERITECH, Expert in Embedded System Development, 2004/9/1, http://www.meritech.co.kr/eng/Product%20Catalogue.pdf。 *

Also Published As

Publication number Publication date
JP5173818B2 (ja) 2013-04-03
KR20080075110A (ko) 2008-08-14
EP2053501A3 (en) 2009-09-16
WO2007044926A3 (en) 2007-05-31
JP2009512076A (ja) 2009-03-19
US9245634B2 (en) 2016-01-26
TW200745932A (en) 2007-12-16
JP2012234568A (ja) 2012-11-29
EP1938200B1 (en) 2013-11-20
CN101313287B (zh) 2013-05-08
US7640424B2 (en) 2009-12-29
WO2007044926A2 (en) 2007-04-19
US20070088940A1 (en) 2007-04-19
EP2053501A2 (en) 2009-04-29
EP1938200A2 (en) 2008-07-02
CN101313287A (zh) 2008-11-26
US20100070693A1 (en) 2010-03-18

Similar Documents

Publication Publication Date Title
TWI408597B (zh) 透過嵌入式控制器之快閃儲存器初始化
US7676640B2 (en) Flash memory controller controlling various flash memory cells
US6851018B2 (en) Exchanging operation parameters between a data storage device and a controller
US8145831B2 (en) Memory system and controller with mode for direct access memory
US20060075395A1 (en) Flash card system
US6792501B2 (en) Universal serial bus flash memory integrated circuit device
KR100804647B1 (ko) 병렬형 플래시 인터페이스를 지원하는 직렬형 플래시메모리 장치를 이용한 시스템 부팅 방법 및 장치
US8612791B2 (en) Method of selective power cycling of components in a memory device independently by turning off power to a memory array or memory controller
US7783857B2 (en) Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data processing system
US20080256352A1 (en) Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
JP2005508547A (ja) メモリカード上のファームウェアを更新するインシステムプログラムのインプリメンテーション
JP2004220557A (ja) シリアルフラッシュメモリにおける直接実行のための制御装置及びその方法、これを用いたフラッシュメモリチップ
KR20080084082A (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US8572364B2 (en) Method and apparatus for booting from a flash memory
US7136986B2 (en) Apparatus and method for controlling flash memories
JP2000065899A (ja) 半導体装置およびそのデータ書き換え方法
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US20060282626A1 (en) Memory device and method of controlling operation of the memory device
TWI406175B (zh) 記憶卡以及用於記憶卡之方法
CN112540932A (zh) 存储控制器以及写入辅助方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees