TW200822136A - Microcontroller based flash memory digital controller system - Google Patents
Microcontroller based flash memory digital controller system Download PDFInfo
- Publication number
- TW200822136A TW200822136A TW095143902A TW95143902A TW200822136A TW 200822136 A TW200822136 A TW 200822136A TW 095143902 A TW095143902 A TW 095143902A TW 95143902 A TW95143902 A TW 95143902A TW 200822136 A TW200822136 A TW 200822136A
- Authority
- TW
- Taiwan
- Prior art keywords
- module
- flash memory
- memory
- instruction
- microcontroller
- Prior art date
Links
- 238000012546 transfer Methods 0.000 claims abstract description 11
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 239000000463 material Substances 0.000 claims description 5
- 206010011469 Crying Diseases 0.000 claims description 4
- 238000004880 explosion Methods 0.000 claims description 3
- 238000005422 blasting Methods 0.000 claims description 2
- 239000000725 suspension Substances 0.000 claims description 2
- 238000013519 translation Methods 0.000 claims description 2
- 230000001133 acceleration Effects 0.000 claims 5
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims 1
- 244000046052 Phaseolus vulgaris Species 0.000 claims 1
- 241000555745 Sciuridae Species 0.000 claims 1
- 230000009172 bursting Effects 0.000 claims 1
- 230000035622 drinking Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 8
- 238000012795 verification Methods 0.000 abstract description 4
- 230000003068 static effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 241000282376 Panthera tigris Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Microcomputers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
200822136 — % 九、發明說明: 【發明所屬之技術領域】 ,本發明係有關於一種快閃記憶體數位控制器系統’更 =之,係關於一種運用微控制器之快閃記憶 制器系統。 【先前技術】 使用數位控制器系統以於非揮發性快閃記憶體模組中 =子及取回(retrieval)數位#訊係在此技術領域中為眾 。知的。然而’習知的數位控制器系統採用的是非彈性 白=線式狀態機(hardwired state machine),其需要針對 演算法中的任何變化重新編碼。 因此,存在有改善之數位控制器系統的需要。經改盖 讀位控制器㈣應基於_接至獨立式指令解瑪器及: 碩取控制器之標準微控制器。本發明滿足此一需求。』x 【發明内容】 而〆 本發明提供一種數位控制系統,包括用以處理定時事 件(t iDied event)之微控制器;用以轉譯用戶指令之指令解 碼器;用以處理快閃記憶體之爆發讀取作業之獨立曰^ 控制器(separate burst c〇ntr〇ller),用以處理將分不頁又 =age)寫入快閃記憶體中之程式緩衝器;用以處理將刀資料 仗快閃核心傳輸至該程式緩衝器以及將用於分頁寫入的位 址控制從該程式緩衝器傳輸至該快閃記憶體之分頁傳輸护 制器(page transfer controller);用以錯存及調整= 體控制及記憶體測試模式信號之記憶體控制暫存界=塊似 93813 6 200822136 (mem〇ry control register block);用以多路傳輸位址至 該快閃記憶體中並加速執行程式化、抹除及恢復驗證之記 fe體平面介面(memory plane interface);用以將資料多 、路傳輸至該系統外之輸入/輸出多工模組(I/O Mux • modu 1 e) ’以及用以在測試及除錯中能由該微控制器進行讀 取及舄入之通用輸入/輸出(GPI〇)介面。 【實施方式】 本發明係提供一種運用微控制器之數位控制器系統。 下列敘述係提出以使該技術領域中具有通常知識者可製造 亚使用本發明’且該敘述規定在本案專利申請說明查及其 必要條件中。可對較佳實施例作各種修改對熟習該:術領 域者將變得明顯,且在此之基本原理可應用於其他實施 例。因此,本發明非意欲限制至所示之實施例,而是意欲 包含在符合在此描述之原理及特徵的最大範圍内。 明本發明之技術特徵,請結合以下討論並參 弟1及Z圖。 >第^圖係顯示根據本發明之數位控制器系統之較佳與 鉍例。弟2圖係根據本發明之數位控制系統之更二 佳實施例。該數位_制哭会 '、、勺車乂 …钱⑽包括微107。除 了微控制器107夕卜,該數位控制器系、統100包括有八^ 輸模組1(Π、程式緩衝模 有刀頁傳 發讀取模組104、輸入/於屮夕、體千面介面103、爆 •以及暫存模二 模組1〇5、指令解碼器 說明。耗、、且1〇8’以下將對此等部件的功能進-步 93813 7 200822136 .
- 於該較佳實施例中,兮非播&&& B 嵌於或外接於該數位Iff軍發性快間記憶體模組能内 實施例尹,該數i〇"。再者,在該較佳 灣建構,;請係基於標準的微控制器 一曰々解碼器106中增設了附加的,智 ,料令解碼器m作為提供用以偵測及’曰 令’以及當該命令需要複雜的“定時,,命H用戶^ 制器1 〇γ的手段。兮士 、-生忒微控 取清奸人^ Γ 楔組104係提供_爆發讀 取明衣扣令亚予以響應的 指令係ΆΙ生於η。 於此5兄明書Μ,該定時 =七法於早一週期内被執行,而需藉由一系列事件 、又序生方得以被完整執行之指令。該 包括對該快閃記悻體勃杆ρ々儿κ # 爭件之乾例 非揮發性鎖定位二 抹除操作;設定或清除 式缓衝哭$八百^ ⑴,執行由該快閃記憶體至程 二人f π ^輸作業;以及其他各種測試模式及延伸 ^」eXtended c⑽咖d )。使用標準微控制器⑽來處理 疋k事件提供了固線式狀態機無法提供的彈性。舍用於連 接快閃記憶體之介面的演算法需要進行調整時,可藉由對 儲存該微控制器之韋刃體之唯讀記憶體進行簡單的遮罩更改 (mask change)而更易於實施。 (指令解碼器) 該指令解碼器⑽係作為用戶介面,獨立於該微控制 益07而允δ午指令被接收及管理。具體而言,該指令解碼 器106係可視為該數位控制器系統1〇〇之“交通鏊察,,, 1接收並執行有效指令’而忽略非法之指令。當執二指令 日守’係可猎由該指令解碼1 106予以單獨執行,亦或透過 93813 8 200822136 == 予以執行。其中’無需藉由該微控制 之指令的範例,係例如為對該爆發控制: ,St C〇ntrc)1 register)或軟/硬體鎖定暫存哭曰 歸二咖撕寫入或讀取操作的讀取或寫入;; ::==:令的_係為程式化指 式係=T°6與微控制器m予”離設置之方 被以^沒冑定時事件正在進行時,可令該微控制器m -二入睡眠狀態以節省電源,而此等舉措在低電力 ;^,^,a〇wpowerbatt^ 八=微控制器⑽於執行指令操作時,不受新的指 ?"優先順序或指令管理的影響。此提供了 =現ΓΓ件之較快速處理,此舉係為加快對快㈣ :執„操作及抹除操作之重要因素,亦為提高產J 万兄f力之重要的衡量標準。 (3)當该微控制器1〇7忙於處理抹除指 “抹除懸置,,指令以產生中斷。 了毛出 〜\4)由於'亥指令時脈係由該微控制器時脈分離出來,使 付该微控制器107時脈與該數位控制器/快閃模組所應用 =4 1GG時脈係以非同步之預定速度運行。如此,即使 夕週期=時事件發生時,亦可達到快速響應用戶指令 勺^ s於執行實際操作時,該微控制器1〇7仍需花 93813 9 200822136 費些時間來識別指令,然而藉由兮於八# 即終止準備讓readysignar)令解碼謂可立 ⑸提供軟體可延伸指令,其藉由稱為“延伸指人 =-指令與由該指令解碼器⑽儲存於獨立之操作^ :中之-作碼-同被轉譯來提供。於接收到該指令時,嗜 控制器1G7即被喚醒並查看該操作碼暫存器。_體將 依據該操作碼的數值調整其相應動作。藉由使用δ位元之 私作碼暫存器,此方式提供高達256條的附加指令。 微控制器1G7作為連接至該數位控制器系統⑽ 之測成介面,其提供: a.該微控制器之程式計數器(位址計數器)之用戶可見 性,其可心確定該微㈣器⑽在任何指定時間所執行 的作業。萬一_體懸滞(hang)或發生間歇性錯誤時,此 舉特別有用。上述功能僅限於在執行啟動(初始化)過程中 會被忽略。在初始化期間輪詢(pQll)輸人的勒體提供了 基於此限定的手段以確定用戶是否想要將該裝置設 眠狀態。 ^ b.當該微控制器1〇7處於睡眠狀態時,可存取設置於 该微控制器之資料匯流排上的所有暫存器。此舉在萬一偵 測到問題時,係有餅確定該系統⑽之狀態。這是令該 指令解碼器106於特定測試模式下控制該微控制器1〇7之 位址以及資料匯流排而得以實現。且此模式惟於該微控制 =H)7進入睡眠狀態時方可執行。藉以防止匯流排爭用之 f月形發生。一位於包含有該微控制器】〇7之區塊的中心匯 93813 10 200822136 流排多工單元(central bus multiplexing unit)係輪出單 一位址匯流排以及時脈信號,以使位於該匯流排上之該等 暫存器無需考量此除錯模式的存在,僅需如常響應該時脈 - 以及位址訊息,而無需瞭解該時脈以及位址訊息之真正來 • 源係由該韌體作用該微控制器107時所產生,還是由用戶 作用該指令解碼器1〇6時所產生。 c·在需要時令該微控制器1〇7進入睡眠狀態,以於任 何指定時間除錯該系統1 〇〇之狀態。 (爆發頃取模組) 該爆發讀取模組104包括用以轉譯爆發讀取指令之狀 =機、以及用以定址(addressing)該快閃記憶體之計數 益’其中,該計數㈣作為提供用於爆發讀取功能的硬體 力;7速。由於爆發讀取作業需在比普通㈣步讀取速度高很 夕之十月形下方可運# ’因此,該爆發讀取模组的設置 顯得尤為重要。該爆發讀取模組1G4亦可透過控制起始位 址的鎖存(latching)與資料有效⑽的提高(raising) 之間的初始延料間,以控制爆發讀取資料之起始存取時 Η如此’即可為该快閃記憶體設置一通用微控制器介面, 以防止該微控制器107陷入讀取作業中。 該爆發讀取模組1G4亦可透過查看停止/忙碌㈣,且 :位址計數器於停止讀取作業之前完成目前…立元之資 =的魏動作,來預防爆發位址進人快閃記憶體中的忙碌 = ^buSyplane)。於該較佳實施例中,該用戶端之外部 匕3 16位之貝料字’然而’為支援高速爆發讀取之操 93813 11 200822136 -作速度,需以每次讀取64位元之速度來執行。當4個i6 位字元之資料被多工輸出後,將同時執行下—以"位元資料 之讀取作業。此消除了在該初始延遲時間後的讀取延^時 間,並使該爆發功能操作在較高之資料率(如h以忱) 該爆發讀取模組i 〇 4亦提供爆發致能信號及位a二、給二情 體平面介面103,以使該記憶體平面介面⑽可依據 執行之操作類型而依序處理位址之多工至快閃記憶體田中。 在爆發讀取之情況中,該爆發位址將被多工輸入。 (分頁傳輸模組) 該分頁傳輸模組101包括用以定址該快閃記憶體以及 =式緩衝模組m之計數器。此提供了分頁傳輸功能之硬 -加速’其中係將分頁資料由該快閃記 缓衝模組m中。藉由具有該分頁傳輸模組i(nq = ,控制器可定址的完成、言號,勒體能啟動執心 σ 几成虎來知道該分頁傳輪作業 疋否已經完成。此舉可大幅節省勃體控制位址增量^ (address incrementati〇n)及資料讀/寫之作業週期。此
外’透過將資料暫在哭Μ A ^ 存P又疋至已知值,並於該資料暫存哭 舄入貧料至所有位f由 仔口口 該程式绣#^中十刀頁位址’而能快速完成 Λ 果、、且102之預設功能,從而節省有用的石馬空間 及轫體開發者的努力。 3二間 (程式緩衝模組) 16位元字衝^組1〇2包括一個分頁⑽位元或256個 70 '且之可定址靜態記憶體(addressable 93813 12 200822136 SR,),該可定址靜態記憶體係作為分頁緩衡哭 程式至該快閃記憶體中 - 、、扁私 槿细彳Π9及θ 茨孕乂仏只軛例中,該程式緩衝 、、、, 係,、有256x1 6大小之邏輯尺寸且實際上由 256x8位元之靜鵰記情 只^上由兩個
Uk所組成’以使其能容易支援夕位 addreSSing)、用戶、指令解碼器106、或 分頁傳輸模組^之位址計數器來定址該程 租102:二 使用戶及韌體兩者能對該程式緩衝模 :::二馬入。該程式緩衝模組102亦包括狀態暫存 二=狀㈣存器記錄哪個字段(segment)已被寫入 於該較佳實施例中,每一字元有16個位元 頁 挪個字元,而每-字段則有32個字元。因此,每」^ 有8個字段。該狀態暫存器係為8位元暫存器,且每一位 凡係代表32個字段之其中一個。 (記憶體平面介面) 該記憶體平面介面103係處理來自不同來源之位址匯 流排(address bus)的多路傳輸(multiplexing)至該快閃 ,憶體中,以提供用戶(於執行隨機讀取作業時)、該爆發 讀取模組104(於執行爆發讀取作料)、軸體(於執行程 式化及驗證功能時)及/或該分頁傳輸模組2〇1 (於由該快 閃記憶體複製資料至該程式緩衝模組1〇2時)執行資料存 取作業。將5亥S己丨,¾體介面分離成其本身的階層單元 ^hierarchical unit),使得能具有完整的位址介面,該 介面係藉由優先處理用⑥高速讀取之爆發位土 止匯流排及藉 由較谷易地將该等位址匯流排的爭用衝突降至最低從而最 93813 13 200822136 . 佳化效能,此舉斟% & m - 得尤為重要。非同步快閃記憶體之低電力操作亦顯 該電:二:記憶體平面介面103包括新穎的電路結構, 加=器:订列二項功能作為對程式化及抹除功能的硬體 將資當在 二斜厂,°亥快閃记憶體中時,同時回讀(read back) ,:'貝亚將其與正被程式化之f料進行比對,若兩者 不相匹配,合吝人 ^ m 生僅包含0在需要額外的程式化脈衝之位
=、的新模式。此模式之逐位元邏輯和(bitwise_AND ^^t0K(Progr^^ 二子时f私式化〇K」為低(L0W)’則*模式必須被程 至該記憶體中。若「程式化0K」為高(HIGH),則益 需進一步的程式化作業。 '1’·、 (2) 星( Erase Okay Function):在目前位 址之64位元資料的逐位元邏輯和係儲存於稱為“抹除 OKerase-okay)”的韌體可讀暫存器中。由於在該快閃記 憶體中被抹除的位元實際上顯示為高,此位元將指示是否 該64位元字中的所有位元皆已被抹除。「抹除⑽」的低值 則才日示該初體需執行額外的抹除。 (3) 不恢復功能: (1不恢馥^位元暫存器:如上所述,於該較佳實施 例中,每次係讀取64位元(4字元),此舉使得高速爆發讀 取功能能夠運作。需注意的是,該64位元之讀取作業^為 93813 14 200822136 操作,且上述讀取操作僅限於需 !?需求而予以實施’其中,該额外電路及電力係需;: 操作以確保該位元未被dr’須隨後執行恢復 之位元必須被恢復(軟程二度二除。而所有被過度抹除 , 彳、〖soi1: Programmed))。 當Μϋ行經㈣料,該❹ ^體予以設t高值係指示該64位元片段中沒有:= 抹除,因此無需進行恢復(軟編程)操作。而低值則係指干 ,亥位凡片段中至少一個位元係處於被抹除狀態,因二 、仃恢復操作。該•體將進人形成此δ4位元片段的4個而 6位π字的位址,並檢查該不㈣暫存器以縮小實際 恢復操作之區域。 W不恢復暫存H於議不恢復64位㈣存器奸 由檢測該64位元片段的内容所形成,該不㈣㈣ : 僅!6位元形成。由於每次可恢復位元之最小範圍係^16 :元、,因此可將該64位元片段進一步縮限至16位元字之 乾圍並在此範圍執行恢復操作,從而提升碼效率及時間 率〇 (暫存模組) 該暫存模組108係包括暫存器,且各該暫存器之數值 係於動體執行初始化過程中被載人,用以控制或調整該快 閃屺fe體上之各微調設定(trim setting)及其類比支援組 件。各種記憶體控制信號係由這些暫存器中之單獨位元戋 位元組合所取得。其中,該等暫存器中之—部分係用= 93813 15 200822136 • 及17/相麵於齡频《。範例包 +驟' 於二m V月間致能/禁能(enab!e/disabie)各種 二 ,程式化期間微調用於所使用之各種電荷泵 C arge卿ρ έ、值,振盈頻率微調 壓調整的能帶間隙(bandgap)微調。用於.工制編 用之她某些狀態暫存器或供該_ 時設定之“ ί 包括於程式化或抹除作業發生錯誤 ::、·日:立70、用以指示抹除指令是否已被懸置 設狀態之物一 initSv器存:5、以及用以指示電源處於重 位疋係有利於令該韌體決定是否該部件 被啟動(在該情形中1整初始化為必須),或是否今重⑼ 吊’纟牛可加快啟動速度,藉以增加裝置競爭力。 該懸置狀態暫存器提供用於懸置抹除及抹除恢復 點。由於抹除指令係依據待抹除之資料的大小而包 =夕/驟,此舉係有利於當抹除操作因受懸置指令而被 中,’可記錄該指令沿此順序所進行的進度,當計入 恢:時,該韌體能稍後知道何處再接續。而該δ位元二 ^㈣器即用於提供上述功效。當動體於執行抹除指令 日守’ _體記錄每-步驟於靜態移位暫存 ㈣咖;SSR)中。當發出抹除恢復指令時,該章刃體可透 過查看該靜態移位暫存器以瞭解已完成了些什麼,進而避 免重複執行已完成的步驟。再者,該p〇R—仙以及錯誤位 93813 16 200822136 元暫存器係可葬由上合 除。 9 δχ私々解碼器1⑽所產生的信號予以清 (輸入/輸出多工模組) 入/輪出多工模組1〇5 (可供該勒體 :=!統100之外。該輪入/輸出多工模組二 二ριο、·)ΐ#ηΓ及汗估期間提供優勢的通用輸入/輸出介面 該較佳實施财,由於晶粒上的尺寸限制而 猴法有足夠空問空細ϊ Ο Λν - + 而 :資料羅^ 位凡輸入/輪出埠(能與微控制器的 铁而二""雜匹配)之情形下,係使用4位元輸入/輪出槔。 '、靭可在輪出該匯流排之最初4位元資料後,將p 後之4位元資料於一猶古、两如h 丁十傻將& ^ ^ 、 之,月中予以輸出。該輸入/輪出埠 係為雙向傳輸,並可供該韋刃體執行讀取 阜 統100在除錯及評估期間,具有特殊之指令靜態暫存Γ _中運㈣體而非_,因此,在㈣或硬體 過程中,可於必要時修改該#讀程式。而GPI0109 係在上述修改過程中極有助益。 二丁 士所it纟發明係揭示一種改善之數位控制器系 統.。该系統包含多個子系統,包括:用以處理定時事件 (tinned events)之微控制器;用以轉譯用戶指令之指令解 I…用以處理快閃記憶體之爆發讀取作業之獨立 控制器一ameburstc〇ntr〇ller);用以處理將分頁寫 入快閃記憶體中之程式緩衝器;用以處理將資料從快閃核 Γ傳輸至該程式緩衝器以及將用於分頁寫人的位址控制從 5亥程式緩衝器傳輸至該快閃記憶體之分頁傳輸控制器 93813 17 200822136 (page transfer controller);用以儲存及調整記憶體控 市!1及5己is體測试核式虎之記憶體控制暫存器區塊 (memory control register block);用以多路傳輸位址至 5亥快閃§己fe體中並加速程式化、抹除及恢復驗證之記情體 平面介面(memory Plane interface);用以多路傳輸將資 料仗5亥该糸統輸出之輸入/輸出多工模組(I /〇 Mux module);以及在測試及除錯中能由該微控制器進行讀取及 寫入之通用輸入/輸出(GPl〇)介面。 雖然已根據所示實施例描述本發明,但在此技術領域 具有通常知識者將立刻了解可對該等實施例作修改且此等 修改會在本發明之精神及範#内。因此,在此技術領域且 有通常知識者可在不違背本發明之後述之巾請專利範圍ς 列之精神及範疇下作出許多修倚。 【圖式簡單說明】 弟1圖係顯示根據本發明之數位控制器卷 施例;以及 心孕乂仏貝 統之更詳細 第2圖係顯示根據本發明之數位控制器系 的較佳實施例。 【主要元件符號說明】 1 〇 0數位控制器系統 1 0 2程式緩衝模組 1 0 4爆發讀取模組 1 〇 6指令解碼器 1 0 8暫存模組 1 01分頁傳輸模組 1 〇 3 記憶體平面介面 1 0 5多工輸入/輪出模組 1 〇 7微控制器 、、 109通用輸入/輪出介面 93813 18
Claims (1)
- 200822136 十、申請專利範圍·· 1· 一種數位控制器系統,包括: 人士微控制器、’係當由該系統所接收的指令請求定時指 々4,該微控制器即被喚醒;以及 令。硬體加速器,係與該微控制_接,用以處理該指 2·如申請專利範圍第丨項之系 i 該定時指令⑴_ co嶋d)/、中㈣控制器處理 鄉圍第1項之系統,復包括指令解碼器,用 用戶指令,其中該指令解碼器係獨立於該 攸ί工制态之外管理用戶指令。 4·如申請專利範圍第3項之系統,其人 理非定時指令。 、^7解碼器處 5.:申請專利範圍第i項之數位控 :包;=單一週期内被執行、而需藉由: 括系統’其中,該硬體加速器包 括用於轉譯爆發讀取指令之 m〇dule)。 知喝取杈組(burst read 7.=請^利範園第6項之系統,其中,該爆發讀取漁 匕括禝數個用於定址該快閃記 、、、、 -W Sz ^ ^ ^ ^ ^ U肢之計數器,且該爆發 項取杈組係作為提供用於爆 …請專利範圍第6項之系統,:力=硬體加速。 係藉由控制起始位址的鎖存虚資;發讀取模組 、卄/、貝枓有效信號的升高之 93813 19 200822136 7初始延料間,以㈣爆料取資料之起始存取時 I 範圍第6項之系統’其中,該爆發讀取模組 二=查:停止/忙—綠信號,且令位址計數器於停止讀 、乍業之别完成目前資料的計數動作,來防止爆發位址 進入快閃記憶體中之忙碌頁面。 1〇.:申、請專利範圍第1項之系統,其中,該硬體加速器包 括^傳輸模組,用以提供分頁傳輪功能之硬體加速。 申请專利範圍第10項之系統,其中該分頁傳輸 包括: 、 、计數器,用以定址該快閃記憶體及程式缓衝模組; 以及 —“完成”信號’其中該“完成”信號係被輪詢以確 定分頁傳輸何時完成。 12·如申請專利範圍第i項之系統,其中該硬體加速 括: 程式化0K功能,用以程式化新模式至該快 體中; u 抹除0K功能’用以抹除字元(word);以及 不恢復功能,用以管理位元之過度抹除 (over-erasure)。 13·如申請專利範圍第1項之系統,復包括程式緩衝模組, 该程式緩衝模組包括記憶體,該記憶體作為用以程式化 至快閃記憶體中的分頁緩衝器(page buffer)。 93813 20 200822136 • 14.如申請專利範圍第1項之系統,復包括記憶體平面介面 (卿町PWlnterfaGe),係用以處理來自不同來源 之似匯流排的多路傳輪(multiplexing)至快閃記憶 體模組中。 15.如申請專利範圍第β之系統,復包括暫存模组 (卿伽_ule),係用以控制快閃記憶體上之各種 微調設定及其類比支援組件(analQg如卿^ component) ° ,16.^請專利範圍第13項之系統,其中,該暫存模組包 =數個暫存器,該複數個暫存器的值係於㈣初 常式期間被載入。 Π.如申請專利範圍第16項之數位控制器系統, 複數個暫存器包括: …錯誤位元’係用於設定程式化或抹除何時發生錯 懸置狀態暫存哭,将爾IV u x 置;以及 日不抹除指令是否已被懸 簡―此暫存n,制以指示已發生電源 18·如申請專利範圍第彳垣备 乾_ 1項之糸、統,復包括輸入/輪出多工 杈'、且,用以將資料多路傳輸至該系统外。 汛如=請專利範圍第18項之系統,其中,該輸入/輸出多 工杈組係包括通用輸入/輪出(GPI〇)介面。 2 〇.如申請專利範圍第!項之數位控制器系統,其中 控制器並非為該系統客製化設計。 — 93813 21 200822136 21·—種數位控制器系統,包括: 微控制器,係當由該系統所接 令時,該微控制器即被喚醒;的指令请未定時指 』硬體加速器,係與該微控制器料,若該指令 請求該定時指令時,用以處理該指令;以及”又 理用!: Γ馬器,係與該微控制器•接,用以偵測及管 ^戶和令,並於該指令請求該定時指令時用以喚㈣ 其中,該微控制器處理該定時指令,豆中哕 碼器處理非㈣指令,其中該指令解碼器係獨: 於該微控制器之外管理用戶指令。 22.=申請專,範圍第21項之系統,其中,該定時指令包 ^法於早—週期内被執行、而需藉由U事件的依 &生方能使該定時指令被完整執行之指令。 士申叫專利|已圍第23項之數位控制器系統,其中,該 :更體加速器包括用於轉譯爆發讀取指令之爆發讀取模 組0 • U利fe圍第23項之系統,其中’該爆發讀取模 ' 4 士括‘數個用以定址該快閃記憶體之計數器’且該爆 ^取模取係作為用於提供爆發讀取功能的硬體加速。 25. ,申請專利範圍第23項之系統,其中,該爆發讀取模 二係藉由控制料位址的鎖存與有效信號的升高之間、 、初始延遲時間,以控制爆發讀取資料之料存取時 間。 26. 如申請專利範圍第23項之系統,其中,該爆發讀取模 93813 22 200822136 、,且係藉由查看停止/忙碌 讀取作業之前完成 次$位址計數器於停止 丁〜則兀成目刖貧料的計I 址進入快閃記憶體中之忙綠頁面。,來防止爆發位 27.如申請專利範圍第21項之 二 28:t:i=r係用以提供分頁傳輪功能之加速。 包=專利乾園第27項之系統,其_該分頁傳輸模組 及 叶數器,用以定址㈣記憶體及程式緩衝模組;以 ‘‘:成”信號,其中該“完成”信號係被輪詢以確 疋分頁傳輸何時完成。 29·如申請專利範圍第21項之系統,其中該硬體加速器包 ίο · 程式化0Κ功能,用以程式化新模式至該快閃記憶 體中, 抹除0K功能,用以抹除字元;以及 不恢復功能,用以管理位元之過度抹除。 30·如申請專利範圍第21項之系統,復包括程式緩衝模 組,該程式缓衝模組包括記憶體,該記憶體係作為用以 程式化至快閃記憶體中的分頁缓衝器(page buffe〇。 31·如申請專利範圍第21項之系統,復包括記憶體平面介 面(memory plane interface),係用以處理來自不同來 源之位址匯流排的多路傳輸(mu 1 t i P 1 ex i ng)至快閃記 憶體模組中。 93813 23 200822136 ‘%如申請專利範圍第21項之系統,復包括暫存模組 :=如^6),係用以控制快閃記憶體上之各種 •又疋及其類比支援組件(咖log support component) 〇 33·如申請專利範圍第 弟心項之糸統,其中,該暫存模組包 括稷數個暫存器,該複數個 〇 常式期間被載人。 曰存㈣錢㈣體初始化 34·如申請專利範圍第33項之糸絲甘士 器包括 錯誤位元 士 e · 决, 器包括.· 、系、、充,其中,該複數個暫存 用於設定程式化或抹除何時發生錯 係 懸置狀態暫存哭',後 、 _ 置;以及 "’、以扣不抹除指令是否已被懸 P〇R— init 暫存哭,# _ 35.如申請專利範圍第『係用以指:已發生電源重設。 模組,用以將次 J、之系統,復包括輸入/輪出多工 36如申^料多路4輪至該系統之外。 •如申请專利範圍第 工模組係包括通用輪統’其中’该輸入/輸出多 州^入/輪出介面。 93813 24
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/288,509 US7600090B2 (en) | 2005-11-28 | 2005-11-28 | Microcontroller based flash memory digital controller system |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200822136A true TW200822136A (en) | 2008-05-16 |
Family
ID=38067979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095143902A TW200822136A (en) | 2005-11-28 | 2006-11-28 | Microcontroller based flash memory digital controller system |
Country Status (6)
Country | Link |
---|---|
US (2) | US7600090B2 (zh) |
EP (1) | EP1958067A2 (zh) |
JP (1) | JP2009517741A (zh) |
KR (1) | KR20080077657A (zh) |
TW (1) | TW200822136A (zh) |
WO (1) | WO2007062256A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI556160B (zh) * | 2012-02-01 | 2016-11-01 | 微晶片科技公司 | 時基週邊裝置 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600090B2 (en) | 2005-11-28 | 2009-10-06 | Atmel Corporation | Microcontroller based flash memory digital controller system |
US7574611B2 (en) * | 2005-11-28 | 2009-08-11 | Atmel Corporation | Command decoder for microcontroller based flash memory digital controller system |
DE102008020054A1 (de) * | 2007-04-18 | 2008-10-23 | Weinmann Geräte für Medizin GmbH + Co. KG | Verfahren und Vorrichtung zur Aktualisierung von Medizintechnik-Geräten |
US8296498B2 (en) * | 2007-11-13 | 2012-10-23 | Sandisk Technologies Inc. | Method and system for virtual fast access non-volatile RAM |
US8527690B2 (en) | 2008-06-26 | 2013-09-03 | Microsoft Corporation | Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear |
US20090327535A1 (en) * | 2008-06-30 | 2009-12-31 | Liu Tz-Yi | Adjustable read latency for memory device in page-mode access |
US8006004B2 (en) | 2008-07-08 | 2011-08-23 | Nuvoton Technology Corp. | Non-intrusive debug port interface |
KR101583090B1 (ko) * | 2009-12-15 | 2016-01-07 | 엘지이노텍 주식회사 | 마이크로 컨트롤러의 데이터 리드 방법 |
US20110161560A1 (en) * | 2009-12-31 | 2011-06-30 | Hutchison Neil D | Erase command caching to improve erase performance on flash memory |
US9134918B2 (en) * | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
US8868852B2 (en) * | 2010-07-07 | 2014-10-21 | Marvell World Trade Ltd. | Interface management control systems and methods for non-volatile semiconductor memory |
US9135168B2 (en) | 2010-07-07 | 2015-09-15 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error |
US9141538B2 (en) | 2010-07-07 | 2015-09-22 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive |
US9110782B2 (en) | 2012-04-27 | 2015-08-18 | Freescale Semiconductor, Inc. | Emulated electrically erasable memory parallel record management |
EP2770313B1 (en) * | 2013-02-21 | 2015-04-08 | ST-Ericsson SA | Temperature sensing method generating a temperature dependent and a temperature independent output frequencies |
US9424176B2 (en) | 2013-02-25 | 2016-08-23 | Freescale Semiconductor, Inc. | Robust sector ID scheme for tracking dead sectors to automate search and copydown |
US9563491B2 (en) | 2014-09-12 | 2017-02-07 | Nxp Usa, Inc. | High voltage failure recovery for emulated electrically erasable (EEE) memory system |
CN106528114B (zh) * | 2016-10-25 | 2022-03-29 | 北京海誉动想科技股份有限公司 | 一种安卓固件应用装置和安卓固件升级方法 |
WO2018231313A1 (en) | 2017-06-12 | 2018-12-20 | Sandisk Technologies Llc | Multicore on-die memory microcontroller |
US10824376B2 (en) | 2017-12-08 | 2020-11-03 | Sandisk Technologies Llc | Microcontroller architecture for non-volatile memory |
US10622075B2 (en) | 2017-12-12 | 2020-04-14 | Sandisk Technologies Llc | Hybrid microcontroller architecture for non-volatile memory |
US10777240B1 (en) | 2019-03-07 | 2020-09-15 | Sandisk Technologies Llc | Efficient control of memory core circuits |
US10971199B2 (en) | 2019-06-20 | 2021-04-06 | Sandisk Technologies Llc | Microcontroller for non-volatile memory with combinational logic |
US11507498B2 (en) | 2020-03-05 | 2022-11-22 | Sandisk Technologies Llc | Pre-computation of memory core control signals |
US11048443B1 (en) | 2020-03-25 | 2021-06-29 | Sandisk Technologies Llc | Non-volatile memory interface |
US11188268B1 (en) | 2020-05-28 | 2021-11-30 | Western Digital Technologies, Inc. | Programmable processor in an integrated memory assembly |
CN111722855A (zh) * | 2020-06-23 | 2020-09-29 | 湖南国科微电子股份有限公司 | 一种基于eMMC的固件烧录系统、方法与集成芯片 |
JP2022066083A (ja) * | 2020-10-16 | 2022-04-28 | キヤノン株式会社 | 情報処理装置 |
CN114924757B (zh) * | 2022-06-10 | 2023-03-28 | 北京东土科技股份有限公司 | 固件烧入方法、装置、控制单元、系统及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5072418A (en) * | 1989-05-04 | 1991-12-10 | Texas Instruments Incorporated | Series maxium/minimum function computing devices, systems and methods |
US5734927A (en) * | 1995-06-08 | 1998-03-31 | Texas Instruments Incorporated | System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates |
US6154788A (en) | 1997-04-25 | 2000-11-28 | Simple Technology, Inc. | Multi-function module incorporating flash memory having additional controller adapted to configure the data from the memory that is to be provided to the external source |
US6009496A (en) | 1997-10-30 | 1999-12-28 | Winbond Electronics Corp. | Microcontroller with programmable embedded flash memory |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
JP2000194551A (ja) | 1998-12-28 | 2000-07-14 | Oki Micro Design Co Ltd | フラッシュメモリ書換え回路 |
US6658540B1 (en) * | 2000-03-31 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Method for transaction command ordering in a remote data replication system |
US6246634B1 (en) * | 2000-05-01 | 2001-06-12 | Silicon Storage Technology, Inc. | Integrated memory circuit having a flash memory array and at least one SRAM memory array with internal address and data bus for transfer of signals therebetween |
US6751765B1 (en) * | 2000-11-27 | 2004-06-15 | International Business Machines Corporation | Method and system for determining repeatable yield detractors of integrated circuits |
US6754765B1 (en) | 2001-05-14 | 2004-06-22 | Integrated Memory Logic, Inc. | Flash memory controller with updateable microcode |
US6778436B2 (en) | 2001-10-10 | 2004-08-17 | Fong Piau | Apparatus and architecture for a compact flash memory controller |
US6859856B2 (en) | 2001-10-23 | 2005-02-22 | Flex P Industries Sdn. Bhd | Method and system for a compact flash memory controller |
US20040049627A1 (en) | 2001-11-09 | 2004-03-11 | Flex-P Industries | Method and system for controlling compact flash memory |
US6772276B2 (en) | 2002-01-04 | 2004-08-03 | Intel Corporation | Flash memory command abstraction |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7600090B2 (en) | 2005-11-28 | 2009-10-06 | Atmel Corporation | Microcontroller based flash memory digital controller system |
-
2005
- 2005-11-28 US US11/288,509 patent/US7600090B2/en active Active
-
2006
- 2006-11-28 WO PCT/US2006/045564 patent/WO2007062256A2/en active Application Filing
- 2006-11-28 KR KR1020087015804A patent/KR20080077657A/ko not_active Application Discontinuation
- 2006-11-28 TW TW095143902A patent/TW200822136A/zh unknown
- 2006-11-28 JP JP2008542476A patent/JP2009517741A/ja not_active Withdrawn
- 2006-11-28 EP EP06838496A patent/EP1958067A2/en not_active Withdrawn
-
2009
- 2009-09-29 US US12/569,778 patent/US8316174B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI556160B (zh) * | 2012-02-01 | 2016-11-01 | 微晶片科技公司 | 時基週邊裝置 |
Also Published As
Publication number | Publication date |
---|---|
US7600090B2 (en) | 2009-10-06 |
US20080040580A1 (en) | 2008-02-14 |
WO2007062256A2 (en) | 2007-05-31 |
EP1958067A2 (en) | 2008-08-20 |
US8316174B2 (en) | 2012-11-20 |
WO2007062256A3 (en) | 2009-05-07 |
KR20080077657A (ko) | 2008-08-25 |
US20100017563A1 (en) | 2010-01-21 |
JP2009517741A (ja) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200822136A (en) | Microcontroller based flash memory digital controller system | |
US8327161B2 (en) | Command decoder for microcontroller based flash memory digital controller system | |
US8996788B2 (en) | Configurable flash interface | |
TW201812782A (zh) | 重試讀取方法以及使用該方法的裝置 | |
JPH0258423A (ja) | 桁上げ入力を有するnビットカウンタの動作をテストするための方法およびシステム | |
TW559693B (en) | Apparatus for changing pulse width modulation at desired timing | |
JP3824122B2 (ja) | Dma装置 | |
US4124892A (en) | Data processing systems | |
JP4334026B2 (ja) | コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法 | |
JPS61123959A (ja) | 着脱自在なメモリモジユ−ルを有する電子機器 | |
JPH05324452A (ja) | 外部メモリインタフェース回路 | |
US11537319B2 (en) | Content addressable memory with sub-field minimum and maximum clamping | |
US10599589B2 (en) | Semiconductor device and flash-memory control method | |
US11068416B2 (en) | Processing device and method for changing function of pins | |
JPH0632051B2 (ja) | 情報処理装置 | |
JP2002278774A (ja) | プロセッサ内の機能単位の制御時に命令語を生成する方法と装置 | |
US6823439B2 (en) | Message logging | |
JP3057732B2 (ja) | 情報処理装置 | |
JPH01274240A (ja) | 並列処理プロセッサ | |
JPS5832299A (ja) | メモリテスト装置 | |
JPS60136834A (ja) | 情報処理システム | |
JPH03154933A (ja) | 並列処理プロセッサ | |
JPH06119085A (ja) | 情報処理システムの自動セットアップ方式 | |
JPS63204337A (ja) | 情報処理装置の試験方法 | |
JPS59167734A (ja) | ダイレクト・メモリ・アクセス制御方式 |