[go: up one dir, main page]

TW200915339A - Electronic data flash card with various flash memory cells - Google Patents

Electronic data flash card with various flash memory cells Download PDF

Info

Publication number
TW200915339A
TW200915339A TW96148378A TW96148378A TW200915339A TW 200915339 A TW200915339 A TW 200915339A TW 96148378 A TW96148378 A TW 96148378A TW 96148378 A TW96148378 A TW 96148378A TW 200915339 A TW200915339 A TW 200915339A
Authority
TW
Taiwan
Prior art keywords
flash memory
data
magnetic
write
block
Prior art date
Application number
TW96148378A
Other languages
Chinese (zh)
Inventor
David Q Chow
Frank I-Kang Yu
Charles C Lee
Abraham Chih-Kang Ma
Ming-Shiang Shen
Original Assignee
Super Talent Electronics 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
Priority claimed from US11/864,671 external-priority patent/US20080071973A1/en
Application filed by Super Talent Electronics Inc filed Critical Super Talent Electronics Inc
Publication of TW200915339A publication Critical patent/TW200915339A/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Abstract

An electronic data flash card is accessible by a host computer, and includes a processing unit connected to a flash memory device that stores a data file, and an input/output interface circuit activated so as to establish a communication with the host computer. In an embodiment, the electronic data flash card uses a USB input/output interface circuit for communication with the host computer. A flash memory controller includes an index for converting logical addresses sent by the host computer into physical addresses associated with sectors of the flash memory device. The index is controlled by arbitration logic referencing to values from various look up tables and valid data stored in the flash memory device. The flash memory controller further includes a first-in-first-out unit (FIFO) for recycling obsolete sectors of the flash memory device in the background process so that they are available for reprogramming.

Description

200915339 九、發明說明: .【發明所屬之技術領域】 ' 本發明涉及一種電子資料快閃記憶體卡,尤其是指一 =1!多樣快閃記憶體單元之電子資料快閃:憶“ 内控制快閃記憶體的系統和方法。 【先前技術】 D ^於軟碟或者是通過網路進行傳輸的個人資料槽 7吊通過需要密碼或加密編碼來保證檔的安全,個人文 安全封農或者壓縮打包後進行發送。“,在傳輸 =程中’個人資料檔案和文槽很可能因為密碼、加密碼、 或安全壓縮包遭到破壞而㈣露,從而導致個人資 訊遭到未授權的存取。 P通者快閃記憶體技術的發展,快閃記憶體將逐漸取代 磁的磁片作為移動线的存儲介質,快閃記憶體較軟碟 G 1硬碟有顯著的優點’如高G阻抗和低耗電。由於實體 :較小’快閃記憶體也更有利於移動系統。一般,快閃 勢j由於它的高容量和低消耗的特點已成為發展趨 因:為了各種性能、成本、容量的需求,很多種類的 記體設備應運而生,因此,當一個僅適配一種快閃 W體卡的移動$ 問題就出現了。 種W容的㈣記憶體時 相容 代個人電腦卡技術已經發展到將快閃記憶體和 、 標準的架構結合起來了,得益於XJSB標準對於 200915339 說更易實現和普遍,這進-步促進了快閃記情 體的發展趨勢。除了代替硬碟,還將取代軟碟 _ 快閃記憶體較軟碟能接徂 、 疋因為 速度。㈣碟仏供更兩的存儲能力和更快的存取 料標準的幾個特性如固定晝面時間、處理資 包::?處理等要求另外的處理器資源。,更好的: ,込二〇p件已經應用於各種專用積體電路。 Ο 取速= = = =存广速度慢,_介面的存 电于本成驅動盗(IDE)介面慢得多 上述的咖標準包含了 疋口為 包需要的附加資源。_桿準引入官二令以及信號交換 可以減緩-也資诉,作僅2 的崎_吻事務協定 ―貝源但僅限於⑽傳輸空閒的時候。 示了 USB標準引入的限制 、 有的限制因素。首I已被編程寫U閃讀體也有固 被重新編程寫入之前應、^己憶體磁區在 的使用壽命有限,例如,二::前==磁區 次數。相應地,根據寫前擦除特性存 體 快,而推移,擦除將破壞快閃記二=會太 為解決USB標準快閃記憶體的速度 利用存在的小電腦系統介面(scsi) 、 和韌體 能如近似於磁硬碟的大容量設H^ ^便快閃記憶體 設備被廣泛應用為存儲媒介之前,SCSI::快閃記憶體200915339 IX. Invention: [Technical field of invention] The present invention relates to an electronic data flash memory card, especially to a =1! multiple flash memory unit flashing electronic data: recalling "internal control" Flash memory system and method [Prior Art] D ^ in the floppy disk or the personal data slot 7 transmitted through the network to ensure the security of the file by password or encryption code, personal text security or compression After being packaged, it will be sent. "In the transmission = process, the profile and the file are likely to be damaged due to the destruction of the password, encryption code, or security package, resulting in unauthorized access to personal information. With the development of P-pass flash memory technology, flash memory will gradually replace the magnetic disk as a storage medium for moving wires. Flash memory has significant advantages over floppy disk G 1 hard disk, such as high G impedance and Low power consumption. Due to the entity: smaller 'flash memory is also more conducive to mobile systems. In general, the flash potential j has become a development factor due to its high capacity and low consumption characteristics: for various performance, cost, and capacity requirements, many types of recording devices have emerged, so when one is only adapted to one The problem of moving the flash body card flash $ appears. The W-compatible (IV) memory-compatible PC card technology has been developed to combine flash memory with a standard architecture. Thanks to the XJSB standard, it is easier to implement and universal for 200915339. The development trend of flashing sensation. In addition to replacing the hard drive, it will replace the floppy _ flash memory can be connected to the floppy disk, because of the speed. (4) Disks for more storage capacity and faster access. Several features of the material standard such as fixed face time, processing package::? Processing and other requirements require additional processor resources. , better: , 込 〇 〇 p parts have been applied to a variety of dedicated integrated circuit.取 Speed == = = The speed of the storage is slow, and the storage of the _ interface is much slower than the Benjamin Driver's (IDE) interface. The above-mentioned coffee standard includes the additional resources required for the package. The introduction of the official order and the handshake can be slowed down - also the complaint, for only 2 of the Saki-Kissing Agreement - Bay Source but only when (10) transmission is idle. It shows the limitations introduced by the USB standard and some limitations. The first I has been programmed to write the U flash read body. There is also a fixed lifetime before the reprogramming. The lifetime of the magnetic region is limited, for example, two:: before == the number of magnetic regions. Correspondingly, according to the pre-write erasure feature, the memory is fast, and the erasure will destroy the flash memory. 2. It will solve the USB standard flash memory speed. The small computer system interface (scsi) and firmware can be used. For example, similar to the large capacity of the magnetic hard disk, the flash memory device is widely used as a storage medium before the SCSI:: flash memory

謂標準大容量設備。相應地,USB襟準、Λ已^應用於 協定用於管理快閃記憶體。 m σ統SCSI 200915339 SCSI Μ, ^ Λ, 励疋的缺點是它們沒有擦除命令來解決快閃記 憶體的寫前拷哈U· m J婿除特性。因此,擦除管理是通過主機系統進 行處理的,Pm 15將佔用主機資源。 種解決辦法是引入了新的USB包定義,如寫快閃記 隐體4快閃記憶體和擦除快閃記憶體定義。然而,這些 定義並非是—彻女‘ H # 個有效的處理快閃記憶體的途徑,這是因為 一 額外的協定,這些協定要求額外的主機處理資It is a standard large capacity device. Accordingly, the USB standard has been applied to the agreement for managing flash memory. m σ SCSI 200915339 SCSI Μ, ^ Λ, The disadvantage of 疋 是 is that they do not have an erase command to solve the pre-write copy of the flash memory. Therefore, the erase management is handled by the host system, and the Pm 15 will occupy the host resources. One solution is to introduce new USB package definitions, such as write flash, hidden 4 flash memory, and erase flash memory definitions. However, these definitions are not – the ‘H # effective way to handle flash memory, because of an additional agreement that requires additional host processing resources.

源同時,它們同樣無法解決磁區損耗問題。 另種解決辦法是為快閃記憶體寫處理提供一個驅 動程式’這此«χ- 二牲式擁有三個不同的副程式。一般,首先讀 取被吻求陕閃s己憶體位址的資料,如果該位址中已有資料 寫入,勒體會執行—個擦除命令。此時,如果擦除命令執 行正確&體會執行一個寫入請求。然而,該驅動程式利 用需要額外的主機處理資源的協定。 、 種解决辦法疋提供一個擁有兩個區域:即資料區 域和備用區域的快閃記憶體磁區格式,冗餘區域包含有有 :於管理磁區標記的控制資料。然而當主機系統寫入磁區 時,標記增加了 ASIC複雜性。 上述方法和其他已知設備的缺點是包含了額外的用 於處理專用協定的佔用主機系統資源的和由 於管理快閃記憶體的處理時間。 的用 因此’必須研製一種帶有智慧處理單元的可支援 快閃記憶體種類的電子資料快閃記憶體卡。 同時還必須開發一個改進的用於控制快閃記憶體的 7 200915339 系統和方法。該系統和方法能適用於USB標準,能適配 ASIC硬體執仃,能簡單 '經濟、方便適配現有技術。 【發明内容] p Ο 。本發明提供了一種包含快閃記憶體設備、指纹感應 器、輸入/輪出介面電路和處理單元的電子資料快閃記憶體 卡μ電子=貝料快閃記憶體卡可被主機如個人電腦、筆記 或其他電子主機設備存取。由於電子資料快閃記憶 :攜帶和耐用性好’個人資料可以加密形式存儲於 快閃S己憶體設備中,從岐得其僅能被存取,例如,通過 ^卡體上設置指紋感測器來確保未授權用戶無法誤用該 卡0 單元發明—種實施方式,快閃記憶體控制器是處理 成部分’用於控制快閃記憶體設備運行。處理單 凡連接於快閃記恃f ❹制輸出介面電路。快閃記憶 記情體括用於檢測快閃記憶體設備是否為快閃 類=ΓΓ支援的快閃記憶體類型的快閃記憶體 部分:個人存儲快閃記憶體檢測演算法代碼的動態 電=人貝料於至少-個快閃記憶體設備中,不僅能使 閃印•陪妙# ’咸小’還能使新的快 體 在僅改變存儲於快閃記憶體中的快Μ α體檢测演算法動態部分而無需… 被支援。這樣就節省了總花費和也節就能 間》 p約了不必要的開發時 根據本發明-種實施方式,快閃記憶體控制器是處理 200915339 單元的組成部分,用於控制快閃記憶體設備運行,且快閃 記憶體控制器係一般相容於市場上大部分之快閃記憶體 •晶片’該控制器可將其動態快閃記憶體演算法儲存於u快閃 記憶體令且僅保持一小部分碼於R〇M中,在r〇m中之碼 主要用於啟動令央處理單元及將動態碼部分载入晶片上’、、 碼RAM ( on-chip code RAM ) ’在R〇M中之碼可以藉由出 讀取命令或是快閃記憶體之其他字元來識別快閃記憶 體,因此,藉由正確之時痒;+人人 〇 ^ Λ 碩之時序及/或命令,其可由快閃記憶體 讀取貝料及/或載入碼至快閃記憶體。 根據本發明另-種實施方式,電子資料快閃記憶體卡 的處理單元有三種可選禮★· 選权式.可編程寺莫式、資料恢復模式 和重置模式。在可編程模式 β _ 秀、卜處理早凡啟動輸入/輸出介 面電路從主機獲取個人資料於 個人貝料檔案,將其存儲於快閃記憶體 狄備中。在資料恢復模式下, 竭·理單兀•啟動輸入/輸出介面 電路以傳輸資料檔案至主 n 機在資料重置模式下,資料檔 , 案(和相關的指紋資料) 〇 ^^ 貝科)從快閃記憶體設備中擦除。 _、_6、RISC、aL =中,處理單元為 8°51、 任-種微處理器。 奶或數位信號處理器中的 根據本發明的第— USB介面電路。 式,輸入/輸出介面電路是 根據本發明的第二 使用BOT梳耳苑方式,USB快閃記憶體設備 便用BOT協疋在主機間 議更為右钕知古1阿速資料,B0T是比CBI協 遘更為有效和尚速的傳 協"義,因為B0T傳輸命令、資 200915339 料、狀態是依靠預設控制終點的咖。 根據本發明的另—種實施方 ;:、 括-個用於從主機系統接收至小―、U憶體控制器包 記憶體控制器還包括—個包含^個請求的處理器。快閃 的索引。處理器利用索引來決定 ' 的快閃記憶體磁區。本發明 面:重寫或讀操作 Ο 器還包括-個用於回收廢舊磁區二記憶體控制 單元。 重新編程的先進先出 根據前述的系統和方法,主機系統無需快閃記憶體配 貝戒,部可以和快閃記憶體控制器相互影響。因此,當 快閃記憶體相容刪標準和ASIC構造時,從快閃記憶體 中寫入和讀取資料的速度得以顯著提高。 【實施方式】 圖1所示為本發明一種實施方式的結構示意圖,如圖 〇 所示,一種電子資料快閃記憶體卡10,可通過介面匯流排 13、讀卡器12或其他周邊設備(圖中未示)被主機9存 取,包括卡體1、處理單元2、一個或多個快閃記憶體設 備3、指紋感應器4、輸入/輸出介面電路5、一可選的顯 示單元6、電源(如電池)7和功能鍵設置單元8。 快閃記憶體設備3設於卡體1上,以已知方式存儲一 個或多個資料檔案、相關密碼資訊、相關通過掃描一個或 多個電子資料快閃記憶體卡1 〇授權用戶的指紋獲得的指 紋資訊。僅授權用戶可存取這些存儲的資料檔案,資料檔 10 200915339 案可以是圖形檔或文字檔案。 指紋感測器4設於卡體!上,用於掃描電子資料快閃 .記憶體卡1〇用戶的指紋以生成指紋掃描資料。本發明可 .採用的指紋感測器4的一個示例在專利號為6547130、名 稱為“帶有指紋驗證功能的積體電路卡,,的共有美國專 利中已公開,其技術内容在此不再詳細說明。上述專利公 開的指紋感測器包括用於定義指紋掃描空間的掃描單元 〇陣列。指紋掃描資料包括大量通過掃描相應掃描單元陣列 行獲得的掃描行資料。掃描單元陣列行通過所述陣列的行 方向牙列方向進行掃描。當檢測到卡體上指紋高電平時, 各掃描單元產生-個第一邏輯信號,反之則產生一個第二 邏輯信號。 輸入/輸出介面電路5設於卡體1上,能被啟動,通過 介面匯流排13或讀卡器12經適當介面和主機9建立通 訊。本發明的一種實祐古1 頁她方式中,輸入/輸出介面電路5包含 D可通過介面匯流排13或讀卡器12接入主機9的犯介面 電路、MMC卡介面電路、CF介面電路、⑽介面電路、 pCI-Express介面電路、咖介面電路、8概介面電路的 一種。 处單702叹於卡體1上,通過卡體1上的傳輸線與 快閃記憶體設備3、指紋感測器4和輸入/輸出介面電路$ 連接。本發明的一種會J.2., 實施方式,處理單元2採用8 051、 8052、80286微處理器+ T的一種,比如,Intel公司生產的。 本發明的另一種實施t . 方式’處理單元包含RISC、ARM、 200915339 =s二其::位二號處理器。根據本發明的-方面,處 過至> 部分存儲於快 進行控制,使得處理單, 備3中的程式 模式,該模式下,處理單元2啟動模式:(D編寫 以接從來自主機9的資料槽案和相:指紋資出:,面電路5 儲於快閃記憶體設備3中 次曰、、5 ,並將其存 Ο Ο 下,處理單元2啟動輸入/輪出介二::模式’在該模式 閃記憶體設備3中的資料輸存儲於快 式,在該模式下,f㈣案# /重置模 設们中擦除。在運行中,主機9通^^快閃記憶體 讀卡介面匯流排13或 讀卡器12和接入處理單元2的輸人 飞 子資料快閃記憶體卡10發送寫和讀二“面電路5向電 記憶體控制器(圖中未示)向一個或;:依次利用快閃 3讀取或寫入操作。本發明的一種實施方:閃:憶體設備 安全保護,當檢測到自上次授權存取 ^ A 了更好的 備3令的資料稽案的預訂時間消耗掉時’處=記憶體設 開始運行資料重置模式。 早疋2自動 可選電源7設於卡體丨上,與處理 用於提供電源的其他單元連接。 兀2和卡體1上 可選功能鍵設置8,設於卡體丨上, 具可操作性以啟動處理單元2運行 接處理單元2, 資料恢復模式或資料重置模式下。可選、擇的編程模式、 =用於向處理單元2提供一個輸入密喝可被 輸入密碼和快閃記憶體設傷3中存儲早7" 2比 町相關密碼資訊, 12 200915339 經驗證輸入密碼和相關密碼一致,則啟動電子資料 憶體卡1 〇的授權操作。 、’乂 考可選顯示單元6設於卡…上,連接處理單元 處理單元2控制,用於姑丄a 田 . ;.居不和主機9交換資料擋案和雷早 資料快閃記憶體卡10的運行狀態。 本發明的優點如下•位 * — .弟一,電子貝料快閃記憶體卡體 積小、容量大、資料傳輪方 , ㈣万便帛一,由於每個人的指紋 Ο ϋ 疋、,電子資料快閃記憶體卡僅允許授權用戶存取其 内的資料檔案,增強了安全性能。 本發明的其他特徵和優點將在下面閣述。 圖2是本發明另一種 驗證過程的電子資… 式不帶心紋感測器和用戶 -種電憶體卡1〇A的結構示意框圖。 電;L?閃記憶體卡,包括由-輸入/輸出介面 的處理單一2Γ記憶體控制器21為減少花費高集成組成 的恩理單凡2Α。輸入/給φ人二兩Α 八α 電路5Α包括—收發模組、 "面電機組、資料緩衝器、寄存器和中斷邏 輯。輸入/輸出介面電路 輸出介> 5Α,,Ό合一内部匯流排使得輸入/ =1=的各個部件能和快閃記憶體控制器㈣ == 通訊。:閃記憶體控制器21包括-微處理 碼邏决閃δ己憶體控制器邏輯,改錯 式中,^ )邏輯。本發明的一種實施方 如電源好(PG),^寫Γρ、γ 用於狀態顯示,比At the same time, they also cannot solve the magnetic domain loss problem. Another solution is to provide a driver for flash memory write processing. This is a different subroutine. In general, first read the data that is kissed and ask for the address of the memory. If there is already data in the address, the strike will execute an erase command. At this time, if the erase command is executed correctly & the implementation performs a write request. However, the driver takes advantage of the agreement that requires additional host processing resources. Solution: Provide a flash memory area format with two areas: data area and spare area. The redundant area contains: control data for managing the magnetic area mark. However, when the host system writes to the magnetic zone, the tag adds ASIC complexity. Disadvantages of the above methods and other known devices are the inclusion of additional host system resources for processing proprietary protocols and processing time for managing flash memory. Therefore, it is necessary to develop an electronic data flash memory card with a smart processing unit that supports the type of flash memory. An improved 2009 2009339 system and method for controlling flash memory must also be developed. The system and method can be applied to the USB standard, can adapt to the ASIC hardware, and can be easily 'economical and convenient to adapt to the existing technology. SUMMARY OF THE INVENTION p Ο . The invention provides an electronic data flash memory card including a flash memory device, a fingerprint sensor, an input/rounding interface circuit and a processing unit, and a flash memory card which can be used by a host computer such as a personal computer. Take notes or other electronic host device access. Due to the flash memory of electronic data: portable and durable 'Personal data can be stored in encrypted form in the flash memory device, so that it can only be accessed, for example, by setting fingerprint sensing on the card body To ensure that unauthorized users cannot misuse the card. Unit 0 invention - the embodiment, the flash memory controller is processed into part 'for controlling the operation of the flash memory device. The processing unit is connected to the flash memory ❹f 输出 output interface circuit. The flash memory ticker includes a flash memory type for detecting whether the flash memory device is flash type = ΓΓ supported flash memory type: dynamic memory of the personal storage flash memory detection algorithm code = In the case of at least one flash memory device, it can not only enable flash printing, but also enable the new fast body to change only the fast alpha body detection stored in the flash memory. The dynamic part of the algorithm does not need to be supported. This saves the total cost and the savings. When the development is unnecessary, according to the present invention, the flash memory controller is a component of the 200915339 unit for controlling the flash memory. The device is running, and the flash memory controller is generally compatible with most of the flash memory on the market. • The chip can store its dynamic flash memory algorithm in the u flash memory and only Keep a small part of the code in R〇M. The code in r〇m is mainly used to start the processing unit and load the dynamic code part onto the chip. ', on-chip code RAM' in R The code in 〇M can identify the flash memory by reading commands or other characters of the flash memory, so it is itch by the correct time; + everyone 〇^ Λ A command that can read the batting and/or load code from the flash memory to the flash memory. According to another embodiment of the present invention, the processing unit of the electronic data flash memory card has three options: a selection option, a programmable temple mode, a data recovery mode, and a reset mode. In the programmable mode β _ show, Bu processing, start the input / output interface circuit to obtain personal data from the host in the personal shell file, and store it in the flash memory. In the data recovery mode, the system will start the input/output interface circuit to transfer the data file to the main machine in the data reset mode, data file, case (and related fingerprint data) 〇^^ Beike) Wipe from a flash memory device. _, _6, RISC, aL =, the processing unit is 8 ° 51, any kind of microprocessor. A first USB interface circuit in accordance with the present invention in a milk or digital signal processor. The input/output interface circuit is a second method for using the BOT comb ear in accordance with the present invention, and the USB flash memory device uses the BOT protocol to negotiate between the host and the right side. The B0T is a ratio. The CBI is more effective and faster than the speed of the agreement, because the B0T transmission command, the resources of 200915339, the state is dependent on the default control end point coffee. According to another embodiment of the present invention;: for receiving from the host system to the small -, U memory controller package memory controller also includes a processor containing ^ requests. Flash index. The processor uses the index to determine the 'flash memory footprint'. The present invention: the rewriting or reading operation device further includes a memory control unit for recycling the used magnetic domain. Reprogrammed FIFO According to the foregoing system and method, the host system does not require a flash memory to match the ring, and the portion can interact with the flash memory controller. As a result, the speed of writing and reading data from flash memory is significantly improved when flash memory compatible with standard and ASIC configurations. [Embodiment] FIG. 1 is a schematic structural view of an embodiment of the present invention. As shown in FIG. 1 , an electronic data flash memory card 10 can pass through an interface bus 13 , a card reader 12 or other peripheral devices ( Not shown in the figure) is accessed by the host 9, including the card body 1, the processing unit 2, one or more flash memory devices 3, the fingerprint sensor 4, the input/output interface circuit 5, and an optional display unit 6. , a power source (such as a battery) 7 and a function key setting unit 8. The flash memory device 3 is disposed on the card body 1 and stores one or more data files, related password information, and related fingerprints by scanning one or more electronic data flash memory cards 1 〇 authorized users in a known manner. Fingerprint information. Only authorized users can access these stored data files. Data file 10 200915339 can be a graphic file or a text file. The fingerprint sensor 4 is set on the card body! On, it is used to scan electronic data flashing. The memory card 1〇 user's fingerprint to generate fingerprint scanning data. An example of a fingerprint sensor 4 that can be used in the present invention is disclosed in U.S. Patent No. 6,547,130, entitled "Integrated Circuit Card with Fingerprint Verification," the technical content of which is hereby omitted. DETAILED DESCRIPTION The fingerprint sensor disclosed in the above patent includes a scanning unit array for defining a fingerprint scanning space. The fingerprint scanning data includes a plurality of scanning line data obtained by scanning a corresponding scanning unit array row. The scanning unit array row passes through the array. The row direction scans the direction of the dentition. When detecting the fingerprint high level on the card body, each scanning unit generates a first logic signal, and vice versa generates a second logic signal. The input/output interface circuit 5 is disposed on the card body. 1 can be activated to establish communication with the host 9 via the interface bus 13 or the card reader 12 via a suitable interface. In a mode of the present invention, the input/output interface circuit 5 includes a D-through interface. The busbar 13 or the card reader 12 is connected to the host interface circuit of the host 9, the MMC card interface circuit, the CF interface circuit, the (10) interface circuit, and the pCI-Express interface. Road, coffee interface circuit, 8 kinds of interface circuit. The single 702 sighs on the card body 1, through the transmission line on the card body 1 and the flash memory device 3, the fingerprint sensor 4 and the input/output interface circuit $ Connection. In one embodiment of the present invention, the processing unit 2 employs a type of 8 051, 8052, 80286 microprocessor + T, such as that produced by Intel Corporation. Another implementation of the present invention t. The processing unit includes RISC, ARM, 200915339 = s2:: bit 2 processor. According to the aspect of the present invention, the portion is stored in the fast control, so that the program mode in the processing unit 3 is processed. In this mode, the processing unit 2 starts the mode: (D is written to receive the data slot from the host 9 and the phase: the fingerprint is output: the surface circuit 5 is stored in the flash memory device 3, 5, 5, and After storing it, the processing unit 2 starts the input/rounding 2:: mode 'in this mode, the data in the flash memory device 3 is stored in the fast mode, in this mode, f(4) case # / reset mode Erase in the middle. In the running, the host 9 pass ^^ flash memory card reader The face bus 13 or the card reader 12 and the input data flash memory card 10 of the access processing unit 2 send the write and read two "face circuit 5 to the electric memory controller (not shown) to one Or;: sequentially use the flash 3 read or write operation. One embodiment of the present invention: flash: memory device security protection, when it detects the access to the device from the last authorized access When the booking time of the auditor is consumed, the location=memory setting starts to run the data reset mode. The early optional automatic power supply 7 is set on the card body and is connected to other units for supplying power. 兀2 and The optional function key setting 8 on the card body 1 is disposed on the card body, and is operable to start the processing unit 2 to operate in the processing unit 2, in the data recovery mode or the data reset mode. Optional, optional programming mode, = used to provide an input to the processing unit 2, can be entered into the password and flash memory set 3 stored early 7 " 2 than the town-related password information, 12 200915339 verified password In accordance with the relevant password, the authorization operation of the electronic data record card 1 is activated. , ' 可选 可选 optional display unit 6 is set on the card ..., connected to the processing unit processing unit 2 control, for aunt a field.;. Do not exchange data file with the host 9 and Ray early data flash memory card 10 running status. The advantages of the present invention are as follows: • Bit* — The younger one, the electronic shell material flash memory card is small in size, large in capacity, and the data is transmitted in the round. (4) Ten thousand one, because each person's fingerprint Ο 疋 ,, electronic data The flash memory card only allows authorized users to access the data files within it, enhancing security. Other features and advantages of the present invention will be described below. Fig. 2 is a block diagram showing the structure of an electronic memory-free sensor and a user-type memory card 1A in another verification process of the present invention. The L-flash memory card consists of a single 2-input memory controller 21 that is processed by the -input/output interface to reduce the cost of high integration. Input / give φ people two two Α eight α circuit 5 Α including - transceiver module, " face motor group, data buffer, register and interrupt logic. Input/Output Interface Circuit Output > 5Α, Combine an internal bus so that the input/=1= components can communicate with the flash memory controller (4) ==. The flash memory controller 21 includes - a micro-processing code logic flash δ hex memory controller logic, a correction error, ^) logic. An embodiment of the present invention, such as a good power supply (PG), ^ write Γρ, γ for status display, ratio

設備。快門 閃記憶體活動等等,和其他的I/O 决心㈣料!i21結合—個或多個快閃記憶體 13 200915339 設備3。 在該實施方式φ,土秘ΟΛ • «Α者带工一中 機9Α ""括一個功能鍵設置單元 或二器二料快。閃記憶體卡Μ運行時通過介面匯流排 '$ °貝?理早元2Α連接。功能鍵設置單元8Α用於設 置電子貝料快閃記憶體卡1〇Α的可選工作模式:可編程模 式、資料恢復模式或資料重置模式。功能鍵設置單元8Α 也可操作用於向主機9Α提供一個輪入密碼。處理單元Μ D比較輸入密碼和快閃記憶體設備3内已存的相關密碼資 訊,當驗證到輪入密碼和相關密碼資訊一致時啟動電 料快閃記憶體卡丨〇 Α的授權操作。 、 在該實施方式中,主機9A包括顯示單元6八 資㈣閃記憶體卡10A運行時通過介面匯流排或讀;器與 處理早το 2A連接。顯示單元从用於顯示和主機从之 =資料檔案交換’和電子資料快閃記憶體卡似的運行狀 態0 〇 113為處理單元2A的内部結構示意框圖,電子資料 :::::卡10A包括-個用於向處理單…供= ,體卡;0A:電源调節器22,供電可根據電子資料快閃記 •。卡〇A相關單元的電源要求提供device. Shutter Flash memory activity, etc., and other I/O determinations (four) material! I21 combines one or more flash memories 13 200915339 Device 3. In this embodiment φ, the soil secrets • «Α者一工一机9Α "" includes a function key setting unit or two. The flash memory card is connected through the interface bus '$ ° ? 早 早 Α 2 Α. The function key setting unit 8 is used to set an optional operation mode of the electronic bedding flash memory card 1 : a programmable mode, a data recovery mode, or a data reset mode. The function key setting unit 8 is also operable to provide a turnkey password to the host computer. The processing unit Μ D compares the input password with the related password information stored in the flash memory device 3, and activates the authorization operation of the flash memory card 当 when the verification of the round-up password and the related password information is consistent. In this embodiment, the host 9A includes a display unit 6 (four) flash memory card 10A running through the interface bus or read; and the device is connected to the early το 2A. The display unit is a schematic block diagram of the internal structure of the processing unit 2A from the operating state 0 for display and the host from = data file exchange and electronic data flash memory card, electronic data ::::: card 10A Including - for the processing of single ... for =, body card; 0A: power regulator 22, the power can be flashed according to the electronic data. Power requirements for the relevant units of the cassette A

於穩壓的電容器(圖中夫干雷电壓帶有用 句括伽η 未)電f料快閃記憶體卡i〇A 。括:個用於向處理單元2A提供重置信號的重置電路 23,通電後,重晉雷牧n a 肉邱番r 路23向所有單元發送重置信號。當 内邰電壓達到穩定,重置作 置號停止發送,電阻和電容(圖 中未不)用於適當的重置定時調整。電子資料快閃記憶體 14 200915339 卡l〇A也包含—石英晶體振還 理單元2A内的PLL提供基頻。 +未示),用於向處 根據本發明的一種實施方 重置電路23,和電源調節器:入輸出介面電路5A, 元2八上,這種高集成大大減少了、,部分集成於處理單 造成本。 厅而空間、複雜度和製 體積小和花費是移動設備如 〇In the voltage-stabilized capacitor (in the figure, the dry-thunder voltage is included with the sentence η η), the flash memory card i〇A. A reset circuit 23 for providing a reset signal to the processing unit 2A is turned on, and after being powered on, the reset signal is sent to all the units. When the internal voltage is stable, the reset number stops transmitting, and the resistor and capacitor (not shown) are used for proper reset timing adjustment. Electronic Data Flash Memory 14 200915339 The card l〇A also contains – the PLL in the quartz crystal vibration recovery unit 2A provides the fundamental frequency. + not shown, for resetting the circuit 23 according to an embodiment of the present invention, and the power conditioner: the input/output interface circuit 5A, the element 2, the high integration is greatly reduced, and the partial integration is processed. Single cause this. Room and space, complexity and system size and cost are mobile devices such as 〇

憶體卡的關鍵因素。目前的技電子資料快閃記 材料的分幻C部件集成於-個Icf詩㈣技術和 介面雷、裝比如,輸入輸| 路類比和數位混合電路, MCP封裝上。舌罢希 了集成於帶有處理單元爸 重置電路和電源調節 可隼忐於迆士占 疋頰比冤路,冋樣4 杲成於帶有處理單元的MCP封裝上。 》昆合信號積體電路技術的特 電路的^^ ^ 許類比電路和資料 而帝。集成。因此,兩集成可合併到包含輸入輸出y 路5A、快閃記憶體控制器2卜重置電路和電源彭 即器22的處理單元2A的同一模具内。 入本發明的另一種實施方式中,處理單元2A,輸入輪出 丨面電路5A,電源調節器22和重置電路23通過Μ。技 術或混合信號積體電路技術集成或部分集成。 快閃記憶體技術的優點已創造了大量的適應不同性 月t*花費和容量的快閃記憶體設備種類。比如,mbc快閃 記憶體設備或多階單元(Multi_Level Cel卜MLC )快閃記 憶體設備較SBC快閃記憶體設備或單階單元(Single_Level Cell ’ SLC )快閃記憶體設備,形狀要素相同,但容量更 15 200915339 大,一般而言,SLC形式之快閃記憶體單元之可靠較高且 具有較高之資料傳輸率,MLC形式之快閃記憶體單元之可 靠度較低且具有較低之資料傳輸率,但較為便宜。SLc形 式之記憶體單元可包含小區塊SLC ( Small Block SLC, SSLC)及大區塊 SLC(LargeBl〇ckSLC,LSLC)。同樣地, MLC形式之記憶體單元可包含小區塊MLC ( a MLC,SMLC )及大區塊]viLC( Large Block MLC,LMLC)。The key factor in memory card. The current technical electronic data flash flash material is divided into the ICF poem (four) technology and interface lightning, installed, such as input and output | analog analog and digital hybrid circuits, MCP package. The tongue is integrated into the dad with the processing unit. The reset circuit and the power supply adjustment can be used in the MCP package with the processing unit. The special circuit of the Kunhe signal integrated circuit technology ^^ ^ analog circuit and data. integrated. Therefore, the two integrations can be incorporated into the same mold of the processing unit 2A including the input/output y path 5A, the flash memory controller 2 reset circuit, and the power supply unit 22. In another embodiment of the present invention, the processing unit 2A, the input wheel output circuit 5A, the power conditioner 22 and the reset circuit 23 pass through. Technology or mixed-signal integrated circuit technology is integrated or partially integrated. The advantages of flash memory technology have created a large number of flash memory devices that accommodate different months of cost and capacity. For example, an mbc flash memory device or a multi-level cell (Multi_Level Cel BLC) flash memory device has the same shape factor as an SBC flash memory device or a single-level cell (SLC) flash memory device. However, the capacity is further 15 200915339. Generally speaking, the flash memory unit of the SLC form is more reliable and has a higher data transmission rate, and the flash memory unit of the MLC form has lower reliability and lower reliability. Data transfer rate, but cheaper. The memory unit of the SLc type may include a small block SLC (SSLC) and a large block SLC (LargeBl〇ckSLC, LSLC). Similarly, the memory unit in the form of MLC may include a cell block MLC (a MLC, SMLC) and a large block (MVLC).

CC

具有SMLC之快閃記憶體典型地安排為每頁5i2+i6位元 組,而具有LMLC之快閃記憶體則安排為每頁2〇48+64 位兀組’其中+ 16位元組及+ 64位元組係為頁備用㈣㈣ 區域’ '頁係為資料存取(資料讀出)及資料編寫(資料 寫)之單位自於頁尺寸之差異,大區塊之資料編寫(資 料寫入)速度可能較小區塊之資料編寫(資料寫入)速度 快四倍。MLC記情罝分夕姑:仓,攻 w + =己隱早7C之編寫(資料寫入)忙碌時間較 SLC#己憶单元長四件之容卜立 倍之多此思味者SLC記憶單元之資料 1輸率遠快於MLC記憶單元。圍繞NAND快閃記憶體相 =產權問題,AND或Super_AND快閃記憶體得以創 ^ 5樣’大頁尺寸(2k位元組)快閃記憶體較小頁尺寸 (5U位元組)快閃記憶體擁有更好的寫性能· 體的飛速發展,使得嗖備掖 ° 槪沾也… 件认備擁有大容量。為了支持如此多種 類的快閃s己憶體類型,伊 存取它們。 、U己隱體控制器相應需能檢測或 由於上述的潛在缺 的靈活性事實上唯—的 點以及費用原目’尋找快閃記憶體 方法就是要存取每一個不同的快 16 200915339 閃記憶體類型。因此勃 *.^ 囚此執订一個帶有智慧演算法的處理單元 來檢測和存取不同快 早儿 η夬閃s己憶體類型是非常重要的。 沐p/、里的决閃S己憶體設備包含一個ID代碼來驗證它的 快閃記憶體類型、製袢t 匕的 裏化商以及快閃記憶體的特性如頁面大 小、塊結構大小、容晉莖 雷工签W 重等。根據本發明的當前實施方式, —^快閃記憶體卡的處理單元在系統電源啟動時執Flash memory with SMLC is typically arranged as 5i2+i6 bytes per page, while flash memory with LMLC is arranged for 2〇48+64 bits per page' where +16 bytes and + The 64-bit tuple is page backup (4) (4) The area ' 'page is the difference between the page size for data access (data readout) and data writing (data writing), and the large block data is written (data is written) Data can be written in a small block (data writing) four times faster. MLC 记 罝 罝 : : 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓 仓The data 1 transmission rate is much faster than the MLC memory unit. Around NAND flash memory phase = property rights issue, AND or Super_AND flash memory can be created 5 large 'size (2k bytes) flash memory smaller page size (5U bytes) flash memory The body has better writing performance and the rapid development of the body, making the equipment 掖° 槪 也 also... To support such a wide variety of flash suffix types, I access them. U-hidden controllers need to be able to detect or due to the above-mentioned potential lack of flexibility. In fact, the only point and cost of the original 'find flash memory method is to access each different fast 16 200915339 flash memory Body type. Therefore, it is very important that the Boss *. prisoner handles a processing unit with a smart algorithm to detect and access different types of fast 夬 夬 s 己 己 。. Mu-p/, the flashback S-memory device contains an ID code to verify its flash memory type, the system of the system, and the characteristics of the flash memory such as page size, block structure size, Rong Jin Stee Leigong signed W and so on. According to the current embodiment of the present invention, the processing unit of the flash memory card is executed when the system power is turned on.

C Ο 1己隐體檢查操作來判斷快閃記憶體控制器是否支 援一個或更多電子眘 科快閃記憶體卡的快閃記憶體設備。 4A |^| 丁 I 了 j '、 個本發明相應的快閃記憶體檢測演算 先’處理單S被重定(塊4⑻,然後_的 讀取來驗證快閃呤格规j ..^ K隐體類型(塊420)。讀取的ID用來和 决閃3己憶體控制器φ沾士从, ^ 器中的支持快閃記憶體類型表相比較(塊C Ο 1 has a hidden check operation to determine whether the flash memory controller supports one or more flash memory devices of the electronic flash memory card. 4A |^| D I have j ', a corresponding flash memory detection algorithm of the present invention first 'processing single S is re-determined (block 4 (8), then _ reading to verify the flash 呤 grid rule j.. ^ K hidden The body type (block 420). The read ID is used to compare with the flash memory type table in the ^^ memory controller.

I不支援該快閃記憶體類型(塊435 ),快間記憶 體控制器將無法;w J ύ l:S 。 、 <K閃記憶體,不相容性將會通過一個 控制态輸出口的LED - I * 〇顯不出來,在控制器電路或是韌體之 天►振·下,此不相交祕+ 亦可經由卡片介面協定而回報給卡片 機(Card host),因此+ κ 士撒 些動作。回報而執行一 哭…$ 快閃記憶體類型,快閃記憶體控制 彻/,^到對應的快閃記憶體類型的存取模式(塊 45〇)。’、“快閃記憶體控制器開始存取快閃記憶體(塊 的私料快閃記憶體卡為使用快閃記憶體存儲資料 的快閃記憶體系絲 ,^ ……系、統。如圖4Β中所*,電子資料快閃記憶 體卡10Α包含了旁:田四_ 單元2Α、快閃記憶體3 a、隨機存取 17 200915339 Ο Ο 存儲區(RAM) 24以及帶有啟動編碼(BC) 一節作業系 ,(〇S)的唯讀記憶體(R0M) 25。一旦電源開啟,處理 單元2A取出rOM25中的啟動編碼並執行,從而初始化系 統的元件並把ROM25中的〇s代碼載入到ram24中。一 旦〇s被载入到RAM2”,它將獲取系統的控制權。〇s 包含完成基本任務例如控制和分配記憶體、優先和處理指 令和控制輸人輸出等的驅動程式。⑽代碼中當然也包括 了决閃。己隐體仏測决算法和快閃記憶體的變數資料。 因為存儲於ROM中資料的永久性,在支援常規類型 電子資料快閃記憶體卡被設計好並投人生產以後,r 〇 Μ中 的軟體就録結,因此無法支持市場上更晚出來的快閃記 憶體類型。在這樣的情況下’時常開發支援新快閃記憶體 類型的快閃記憶體控制器是昂責而且費時的。 再次關於圖4B,根據本發明的另一個實施方式,電子 資料快閃記憶體卡1GA包含了 —個被分離成靜態區域% 和動態區域27的快閃記億體檢測演算法代碼,靜態區域 26處理當前快閃記憶體類型,而動態區域27用於在靜態 區域無法㈣電子資料快閃記憶體卡中特殊快閃記憶體 :型後控制檢測處理。也就是說,當電子資料快閃記憶體 =〇八制舊的快閃記憶體類型製造時,快閃記憶體檢測 :算法代碼是在通電後識別該快閃記憶體ID,利用靜態區 域26執行讀取或者窝入到舊型快閃記憶體;相反地,奋 使用了新型配置的新型快閃記憶體設備(例如3A,圖4/所 在電源啟動處理過程"夫閃記憶體檢測演算法識別 18 200915339 快閃記憶體⑴並利用動態區域27執行對新型快閃記憶體 設備3A的讀取和寫入。在這種配置中,快閃記憶體檢測 演算法代碼的靜態區域26存儲於R〇M25,但快閃記憶體 檢測演算法代碼的動態區域27存儲於電子資料快閃記情 體卡10A的至少一個快閃記憶體設備3A中。通過存儲動. 態區域27和資料(未顯示)在至少一個快閃記憶體子設備 3A中,gROM25的大小可以減少,新型快閃記憶體也 p無需更換就可以獲得支援。也就是說,當出於某些出發點 ’製造了新型快閃記憶體(即靜態區域不支援)時,只需簡 單地在一個或多個快閃記憶體設備中存儲恰當的演/算法8 代瑪動態區域’而不用重置整個R〇M。因為預設的存取和 對動態區域讀取已經合併到快閃記憶體檢測演算法代碼 的執行中來,因此動態區域的類型可以被改動而無需影響 到快閃記憶體檢測演算法代碼的操作。因此,整個製造的 費用被降低,不需要的開發也被縮減了。 〇 纟於存儲和於快閃記憶體設備中讀取的資料是要被 存取和驗證的,宜球许> g -χΐΐ_ μ ι.» 八、又也疋汉備性此的一個重要參數。根 據虽則實施方式集合第四個的附加方面,除了使用一些現 有方法外,還可以在電子資料快閃記憶趙卡中執行一個雙 通道並行方法和隔行存取㈣記憶體來加速性能。 型的使用單通道(8位元)資料匯流排快間記 科快閃記憶體卡,如圖5A所示。通過雙通 中讀取戈、二排’更多的資料位元可以同時從快閃記憶體 _讀取或被寫入到体Μ 戚士 、1 $己憶體中,因此存取速度得以提 19 200915339 高。例如雙通道匯流排(16位元)可以將快閃^ 速度=一倍,四通道(32位元)可以將快閃記憶體存取 ,度提高四倍等等。帶有雙通道資料帶寬的電子資料快閃 二:體卡可以通過一個如圖③所示的16位元寬快閃記憶 實現、通過同一個單獨控制的兩個8位元寬快閃記 (圖5C)、或者通過兩個單獨控制的兩個8位元 閃 憶體(如圖5D)。 、岣。己I does not support the flash memory type (block 435), the fast memory controller will not; w J ύ l:S . , <K flash memory, incompatibility will be displayed through a control state output port LED - I * ,, in the controller circuit or firmware days ► vibration, this disjoint secret + It can also be returned to the Card host via a card interface agreement, so the + κ 士 撒 some action. Reward and execute a cry...$ Flash memory type, flash memory control Clear /, ^ to the corresponding flash memory type access mode (block 45 〇). ', 'Flash memory controller starts to access flash memory (block's private flash memory card is a flash memory system using flash memory to store data, ^ ... system, system. 4Β中*, Electronic Data Flash Memory Card 10Α Contains Side: Tian Si _ Unit 2 Α, Flash Memory 3 a, Random Access 17 200915339 Ο Ο Memory Area (RAM) 24 and with Startup Code (BC ) One operating system, (〇S) read-only memory (R0M) 25. Once the power is turned on, the processing unit 2A takes out the boot code in rOM25 and executes it, thereby initializing the components of the system and loading the 〇s code in ROM25. Go to ram24. Once 〇s is loaded into RAM2", it will gain control of the system. 〇s contains drivers for basic tasks such as controlling and allocating memory, prioritizing and processing instructions, and controlling input output. (10) Of course, the code also includes the flash. The hidden data and the variable data of the flash memory. Because the data stored in the ROM is permanent, the flash memory card is supported in the conventional type of electronic data. Investing in production The software in r 〇Μ is recorded, so it cannot support the type of flash memory on the market later. In this case, the flash memory controller that supports the new flash memory type is often developed. Responsible and time consuming. Again with respect to FIG. 4B, in accordance with another embodiment of the present invention, the electronic data flash memory card 1GA includes a flash code detection algorithm code that is separated into a static area % and a dynamic area 27. The static area 26 handles the current flash memory type, and the dynamic area 27 is used to disable the special flash memory in the static area (4) electronic data flash memory card: type control control processing. That is, when electronic data Flash memory = flash memory type when manufacturing, flash memory detection: the algorithm code identifies the flash memory ID after power-on, and uses the static area 26 to perform reading or nesting into the old Flash memory; on the contrary, it uses a new type of flash memory device (such as 3A, Figure 4 / power supply startup process & flash memory detection) The algorithm identifies 18 200915339 flash memory (1) and performs read and write to the new flash memory device 3A using the dynamic region 27. In this configuration, the static region 26 of the flash memory detection algorithm code is stored in R〇M25, but the dynamic area 27 of the flash memory detection algorithm code is stored in at least one of the flash memory devices 3A of the electronic material flash card 10A. By storing the dynamic area 27 and the data (not shown) In at least one of the flash memory sub-devices 3A, the size of the gROM 25 can be reduced, and the new flash memory can also be supported without replacement. That is, when a new flash memory is manufactured for some starting points When the body (ie, the static area is not supported), simply store the appropriate algorithm/algorithm 8 dynasty dynamic area in one or more flash memory devices without resetting the entire R〇M. Since the preset access and dynamic area reading have been incorporated into the execution of the flash memory detection algorithm code, the type of the dynamic area can be modified without affecting the operation of the flash memory detection algorithm code. . As a result, the overall manufacturing cost is reduced and unneeded development is reduced. The data stored in the flash memory device is to be accessed and verified, and it is an important parameter of this. . According to the fourth additional aspect of the implementation, in addition to using some existing methods, a two-channel parallel method and interlaced access (four) memory can be performed in the electronic data flash memory card to accelerate performance. The type uses a single-channel (8-bit) data bus to quickly record the flash memory card, as shown in Figure 5A. Through the two-way read Ge, the second row 'more data bits can be read from the flash memory or written to the body, gentleman, 1 $ memory, so the access speed is improved 19 200915339 High. For example, a two-channel bus (16-bit) can flash flash speed = double, four-channel (32-bit) can increase flash memory access, quadruple, and so on. Electronic data flash with dual channel data bandwidth 2: The body card can be realized by a 16-bit wide flash memory as shown in Figure 3, through the same single control of two 8-bit wide flash (Figure 5C ), or through two separate 8-bit flash memory bodies (Figure 5D). Oh. already

如圖5D所述的電子資料快閃記憶體卡1〇B,包含了 刀另】對應快閃記憶體3B 1和3B2的單獨控制器和輪出輸出 連接。因A ’使肖交替編程來增強速度以及降低耗電。】快 閃記憶體在編程模式(寫入)下,資料從寄存器頁中傳輸 到快閃記憶體陣列的快閃記憶體單元中,這比起其他模^ (例如4取快閃記憶體單元、寫入記憶體到外部設備的寄 存器頁中)來說需要消耗更多的電。根據當前發明,快閃 纪憶體設備3B1和3B2的交替編程包含著“交替寫入”, 其中快閃記憶體控制器2 1B使一個快閃記憶體設備(例如 快閃記憶體設備3B1 )來從它的頁寄存器中編程(寫入) 資料到它的快閃記憶體陣列中;同時另外一個快閃記憶體 設備(例如快閃記憶體設備3B2 )被限制只能進行非編程 操作(例如從控制器21B接收資料到頁寄存器中,當快閃 s己憶體設備3B i正在進行寫操作時快聞記憶體設倩3B2不 食*1進行寫操作)。這樣避免了在編程模式下同時操作多快 閃記愧體,存取每一個快閃記憶體設備3B1和3B2時增加 了快閃記憶體的存取速度和吞吐量來匹配主機介面標準 20 200915339 速度。除了増強存取速度,該交替存取方法也避免了由於 同時對多快閃記憶體進行寫入操作帶來的t力消耗。 上述各種新穎性在保持其實質和範圍時可以被此同 或者單獨地執行。例如,按照本發明的又-實施方式,圖 6顯7F 了 一個電子資料快閃記憶體卡10C (或者電子資料 儲存,I質,或者積體電路卡)。電子資料快閃記憶體卡⑺C j過一個介面匯流排或讀卡器(也就是連接通信)來適配 Ο Ο ::主機9A’它包含了卡體lc、一個包含了前述實施方 式中描述的快閃記憶體控制器21C、輸入輸出電路^ 及-個或更多記憶體設備3C的處理單元2c,電 閃記憶體卡⑽可以是上述電子資料快閃記憶體卡i〇A的 功能子系統,同時也可以作為其他應用的功能子系統。 快閃記憶體控制器21C通過它產生的命令 記憶體設備3C,在快閃記憶體設備中存儲資料權案。、門 上述處理單元2C連接到快閃記憶體設備,處 的快閃記憶體控制器21C通過一個或更多上述方法來 控制快閃記憶體設備3C。在一種實 控制考”*種實施方式中,快閃記憶體 器21C執订一個快閃記憶體類型演算法來測定存儲於 * Μ的快閃記憶體控制器邏輯的靜態區域是否支援 體己=設備3C’如果該類型為新型時讀取存健於快閃記情 m中的快閃記憶體控制器邏輯的動態區域。, 另一方面,輸入輸出介面電路5C被啟動,以通 二!=機9A建立USB批量傳輸(b〇t)通信。主二 …己憶體設備USB介面電路(之後也成為⑽設備) 21 200915339 Y斲、塊和同步 之間存在四種通信資料流程 Γ 〇 制傳輸是從主機到USB設備之間的控制管道中的資料流 程,它負責配置以及控制USB設備資訊;中斷傳輸是小量 資料、非週期性 '保證回應週期’通常是設備發起通信來 通知主機USB設備需要服務;塊傳輪中穿過USB介面電 路的大塊移動無時間鑒定響應;同步傳輸為主機和USB設 備提供週期的、持續的通信。USB介面電路通常支援兩種 資料傳輸協定:控制/塊/中斷(CBI)協定和塊傳輸協定 (BOT )。大谷里記憶體類CBI傳輸規範被批准用於使用 全速軟碟驅動器,而不是高速能力設備,或者其他超過軟 盤機的設備(根據USB協定與本發明的一種實施方式 :致,USB設備要和主機傳輸高速資料只有採用塊傳輸協 疋(BOT)。BOT比CBI協議更加高效而且快速,因為 傳輸命令、資料和狀態回應到塊終點和預設控制終點。 前述實施方式,處理單元2(:在編程模式下是可選操 作的,處理單S 2C促使輸入輸出介面電路%接收來自主 機9A的資料’並通過主機9A向快間記憶體控制器μ 發出寫命令把資料存儲到快閃記憶體設備3c巾;資料恢 =美:下,處理單元2C通過主機从向快閃記憶體控制器 存3出的讀命令來接收快閃記憶體設備3C中的資料並 存儲於快閃記憶體設備3C中的資料檔案,並 2出介面電路5C„料槽案傳輸到主置 模式二資料㈣將從快閃記憶體設備%中被擦除重置 本發明對應的智慧處理單元2C的優點包括: 22 200915339 (1)提供商度集成、充分降低了整個空間佔用,同時降 低了複雜性和製造成本; (2 )利用一個智慧演算法來檢測和存取不同類型的快閃 記憶體,拓寬了快閃記憶體的來源和供應; (3)把軟編程部分和快閃記憶體的資料放在一起,降低 了控制器的成本; ΟThe electronic data flash memory card 1B as shown in Fig. 5D includes a separate controller and a wheel output connection corresponding to the flash memory 3B 1 and 3B2. The A' is used to alternate programming to increase speed and reduce power consumption. 】Flash memory in programming mode (write), data is transferred from the register page to the flash memory unit of the flash memory array, which is compared to other modules (eg 4 flash memory cells, Writing memory to the register page of an external device requires more power to be consumed. According to the current invention, the alternate programming of the flash memory devices 3B1 and 3B2 includes "alternate writing", wherein the flash memory controller 2 1B causes a flash memory device (such as the flash memory device 3B1) to Program (write) data from its page register into its flash memory array; at the same time another flash memory device (such as flash memory device 3B2) is limited to non-programming operations only (eg from The controller 21B receives the data into the page register, and when the flash memory device 3B i is performing a write operation, the memory device 3B2 does not eat *1 for writing operation. This avoids the simultaneous operation of the flash memory in the programming mode. Accessing each of the flash memory devices 3B1 and 3B2 increases the access speed and throughput of the flash memory to match the host interface standard 20 200915339 speed. In addition to the bare access speed, the alternate access method also avoids the t-force consumption due to simultaneous write operations to multiple flash memories. The various novelty described above may be performed by the same or separately while maintaining its substance and scope. For example, in accordance with still another embodiment of the present invention, FIG. 6 shows an electronic data flash memory card 10C (or electronic data storage, I quality, or integrated circuit card). Electronic data flash memory card (7) C j through an interface bus or card reader (that is, connection communication) to adapt Ο 主机 :: host 9A' which contains card body lc, one containing the description described in the foregoing embodiment The flash memory controller 21C, the input/output circuit ^ and the processing unit 2c of the one or more memory devices 3C, the flash memory card (10) may be the function subsystem of the above electronic data flash memory card i〇A It can also be used as a functional subsystem for other applications. The flash memory controller 21C stores the data rights in the flash memory device through the command memory device 3C it generates. The above processing unit 2C is connected to the flash memory device, and the flash memory controller 21C controls the flash memory device 3C by one or more of the above methods. In a real control test, the flash memory device 21C performs a flash memory type algorithm to determine whether the static area of the flash memory controller logic stored in * 支援 supports the body = The device 3C' reads the dynamic area of the flash memory controller logic that is stored in the flash memory m if the type is new. On the other hand, the input/output interface circuit 5C is activated to pass the second! 9A establishes USB bulk transfer (b〇t) communication. Main 2...Responsive device USB interface circuit (later becomes (10) device) 21 200915339 There are four communication data flows between Y斲, block and synchronization 〇 传输 transmission is The data flow in the control pipeline from the host to the USB device, which is responsible for configuring and controlling the USB device information; interrupt transmission is a small amount of data, non-cyclical 'guaranteed response period' is usually the device initiates communication to notify the host USB device needs Service; large movements through the USB interface circuit in the block transfer wheel have no time to authenticate the response; synchronous transfer provides periodic, continuous communication for the host and USB devices. USB interface circuits are usually Supports two data transfer protocols: Control/Block/Interrupt (CBI) protocol and Block Transfer Protocol (BOT). The Otani Memory CBI Transport Specification is approved for use with full-speed floppy drives instead of high-speed capable devices, or other A device that exceeds the floppy disk drive (according to the USB protocol and an embodiment of the present invention: the USB device and the host transmit high-speed data only using a block transfer protocol (BOT). The BOT is more efficient and faster than the CBI protocol because of the transfer command, The data and status are echoed to the block end point and the preset control end point. In the foregoing embodiment, the processing unit 2 (: is optional in the programming mode, processing the single S 2C causes the input and output interface circuit % to receive the data from the host 9A' and The host 9A issues a write command to the fast memory controller μ to store the data to the flash memory device 3c; the data recovery=below: the processing unit 2C is stored by the host from the flash memory controller. Read the command to receive the data in the flash memory device 3C and store the data file in the flash memory device 3C, and output the interface circuit 5C Input to the main mode 2 data (4) will be erased from the flash memory device %. The advantages of the smart processing unit 2C corresponding to the present invention include: 22 200915339 (1) Provider integration, fully reducing the overall space occupation At the same time, the complexity and manufacturing cost are reduced; (2) using a smart algorithm to detect and access different types of flash memory, broadening the source and supply of flash memory; (3) soft programming part and The flash memory data is put together to reduce the cost of the controller;

(4 )利用更先進的快閃記憶體控制邏輯,可以實現提高 快閃記憶體存取的吞吐量。 Τ據本發明另一種實施方式,在電子資料快閃記憶體 卡中提供—種系統和方法來控制快閃記憶體。該快閃記憶 體控制器使用的系統和方法包括:一個用於接收至少一個 來自主機系統的請求的處理器、-個包含查詢纟(LUTs) 和實體使用表(Ρυτ)@索引。該索引將主機使用的邏輯 塊4址(LSAs)轉換為快閃記憶體的實體塊位址 胃t引還包括㈣記憶體配置資訊。處理器可選地利用該 索引來決^快閃記憶體可用於編程、重複編程以及讀取的 、區肖閃3己憶體控制器還包括一個可再生先進先出 (刪),可以时f塊使得它們可以用於再編程。回收 細作包括了複製和擦除操作,它在後臺被執行所以對主機 ::見。對應地,快閃記憶體管理以及快閃記憶體控制器 體的::慧代替了主機、结果,主機系統不需要快閃記憶 掊知☆酉己置就可以和快閃記憶體控制器交互。從而在保 或备USB ^準和ASIC架構的基礎上極大地增加了讀取 或窝入快閃記憶體的速度。 23 200915339 下面對本發明出現的專有名詞進行定義β 塊·_個基本存儲擦除單元,每一個塊包含了一定數量 的磁區’例如16、32、64等等。如果任何磁區遇到了寫 入錯誤整個塊將被定義為壞塊,該塊所有的有效磁區都 被重定位到其他的塊。 磁區:塊的子單位。每個磁區通常擁有兩個區域,資料 區域和備用區域。 〇 舊磁區:已被編程寫入資料且資料接著要被更新的磁 區。S資料更新後,舊的資料被保留在舊磁區,新的資料 被寫入立刻變為有效磁區的新磁區。 無效塊:帶有舊磁區的塊。 有效磁區:_個被編程寫入資料的磁區,且資料未過 期,例如為當前資料。 平均知耗决算法.一個方法,用於平均分配快閃記憶體 中塊的擦除次數,來延長快閃記憶體壽命。快閃記憶體中 0塊的擦數次數是有限度的’例如NAND快閃記憶體的典型 擦除最大次數就是一百萬。 備用塊.决閃s己憶體保留區,備用塊使得快閃記憶體系 統可以被壞塊使用。 袭:是由作業线用作㈣取指標以改善記憶體性能的 料磁區。在小容量記憶體操作中,通常就是兩(4) The use of more advanced flash memory control logic can improve the throughput of flash memory access. According to another embodiment of the present invention, a system and method are provided in an electronic data flash memory card to control flash memory. The system and method used by the flash memory controller includes a processor for receiving at least one request from the host system, a query containing L (LUTs), and an entity usage table (Ρυτ) @ index. The index converts the logical block 4 addresses (LSAs) used by the host into the physical block addresses of the flash memory. The stomach t includes (4) memory configuration information. The processor optionally utilizes the index to ensure that the flash memory can be used for programming, reprogramming, and reading, and the area flash flash 3 memory controller also includes a renewable first in first out (deletion), which can be f The blocks make them available for reprogramming. The recycling details include copy and erase operations, which are executed in the background so see the host :: see. Correspondingly, the flash memory management and the flash memory controller body:: Hui replaces the host, and the result, the host system does not need flash memory. 掊 ☆ ☆ 酉 酉 交互 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 This greatly increases the speed of reading or nesting flash memory based on the USB or ASIC architecture. 23 200915339 The following definitions of the proper nouns appearing in the present invention define β block _ basic storage erase units, each block containing a certain number of magnetic regions 'e.g. 16, 16, 32, 64, and the like. If any of the sectors encounter a write error, the entire block will be defined as a bad block, and all valid sectors of the block will be relocated to the other blocks. Magnetic area: The subunit of the block. Each zone typically has two zones, a data zone and a spare zone. 〇 Old Magnetic Area: The magnetic area that has been programmed to be written and the data is then updated. After the S data is updated, the old data is retained in the old magnetic area, and the new data is written into the new magnetic area which immediately becomes the effective magnetic area. Invalid block: A block with an old magnetic area. Valid magnetic area: _ a magnetic area programmed to be written to the data, and the data is not expired, for example, the current data. Average Known Algorithm. A method for evenly distributing the number of erases of blocks in flash memory to extend the life of the flash memory. The number of wipes of the 0 block in the flash memory is limited. For example, the typical erase maximum number of NAND flash memories is one million. The spare block. The flash memory is reserved for the memory block, and the spare block allows the flash memory system to be used by the bad block. Attack: It is the material magnetic field used by the line as (4) to take indicators to improve the performance of the memory. In small-capacity memory operation, usually two

個資料磁區的結合體,护B 假 k也疋擋大小單位的最小值。一個 典型的小塊記憶體(例如每 母磁b 512位兀組)的簇大小是 位元組,更大的塊的 己隐體(例如每磁區2112位元組) 24 200915339 的族大小為4K位元組。 FAT ·擁有鏈結位址指標的檔分配表。簇就是ρΑτ的最 小單位,例如FAT16就是一個簇地址為16位。 目錄和子目錄:作業系統定義的檔指標。 主啟動記錄(MBR ): —個存儲根目錄指標和可啟動的 相關啟動槽的固定位置。這個固定位置可以是第一個塊的 最後一個磁區,在第一個塊壞掉的情況下也可以是第二塊 的最後一個磁區。 〇 包· USB基本處理單元的一個可變長度格式。典型uSB 規範中一般的處理包含三種包:權標包、資料包和信號交 換/交握包。權標包有輸入、輸出以及配置的形式;一個資 料包大小可變’例如USB1.1版本中為64位元組,USB2.〇 中為512位元組;信號交換/交握包有ACK和NAK形式來 告知主機處理完成。 畫面:在USB通信不忙時,會用到使用高有限級別的 〇 晝面的塊處理。塊處理也可以在USB通信繁忙時等待下一 個晝面。 終端點:三種終端點包括控制、塊輸入和塊輪出。控制 終點用於系統初始列舉,塊輸入終點用於主機系統讀通 道’塊輸出終點用於主機系統寫通道。The combination of the data areas, the guard B, also the minimum value of the size unit. The cluster size of a typical small block of memory (for example, 512 bits per parent b) is a byte, and the larger block has a hidden body (for example, 2112 bytes per magnetic area). 24 200915339 has a family size of 4K bytes. FAT · A file allocation table with link address indicators. The cluster is the smallest unit of ρ Α τ, for example, FAT16 is a cluster address of 16 bits. Directories and subdirectories: File metrics defined by the operating system. Master Boot Record (MBR): — A storage root metric and a fixed location for the relevant boot slot that can be started. This fixed position may be the last magnetic region of the first block, and may be the last magnetic region of the second block if the first block is broken.包 Package · A variable length format for the USB Basic Processing Unit. The general processing in a typical uSB specification consists of three types of packages: a token package, a data package, and a signal exchange/handshake package. The token package has the form of input, output, and configuration; a packet size is variable 'eg 64-bit tuple in USB 1.1, 512-bit in USB 2. ACK and handshake ACK and handshake The NAK form tells the host that the processing is complete. Screen: When USB communication is not busy, block processing using a high finite level of 会 is used. Block processing can also wait for the next page when USB communication is busy. Terminal points: Three terminal points include control, block input, and block round-out. The control end point is used for the initial enumeration of the system, and the block input end point is used for the host system read channel 'block output end point for the host system write channel.

命令塊封裝(CBW): —個包包含命令狀態和相關資訊, 如資料傳輸長度(5丨2位元組如從8-11位元組),一個CBW 通常始於—個包邊界,並以傳輸一個精確為31位元組的 短包終止’所有的CBW傳輸都應當以LSB ( 〇位元組)優 25 200915339 先排序。 命令狀態封裝(csw): csw是包的範圍開始。Command Block Encapsulation (CBW): - A packet contains command status and related information, such as data transfer length (5丨2 bytes such as from 8-11 bytes), a CBW usually starts at a packet boundary and Transfer a short packet with a precision of 31 bytes. 'All CBW transmissions should be sorted first by LSB (〇 ) )) excellent 25 200915339. Command State Encapsulation (csw): csw is the beginning of the scope of the package.

降低塊命令(RBC)SCSI協定:1〇位元組的命令描述器。 圖7為包含了本發明相應快閃記憶體控制器ιι〇和快 閃記憶體設備112的電子資料存儲卡(快閃記憶體系統) ⑽的塊狀圖。主機系統52提供讀寫處理資源,擦除操作 由快閃記憶體控制!! 110實現。快閃記憶體控制器ιι〇通 過主機系統介面116連接到主機系統52。主機系統52可 以是PC或者其他類型的電腦系統。主機系統52的作業系 統可以是windows、MACOS,但不限於這些作業系統。在 該詳細實施方式中’快閃記憶體系統1〇〇遵從讎大容量 «準並且主機介面116為-個亀連接。刪規範可 以是1.1、2·ο或以上版本。快閃記憶體控制器u〇和快閃 記憶體U2都可以是匯流排供電或者自身供電,或者被用 作大容量存儲設備。作為大容量存儲設備的優點是低耗 電、易攜帶且容量遠遠大於傳統的軟碟。 快閃記憶體控制器Π0包含一個設備收發器12〇,可 將類比信號轉變為數位流,並提供一個相位回路鎖定(PPL) 電路來為内部資料鎖存產生精確時鐘。對於USB20來說, 由於其是在4讀赫兹下進行操作,ppL功能精確且有用 的。快一閃記憶體控制器110還包括了一個串列介面引擎 122^,它可以提供串列和並行資料轉換、包解碼/生成、迴 =几餘碼(CRC)生成/校檢、不歸零(NRZI )編解碼以及根 USB標準的位元填充。端點124和125接收來自主機系 26 200915339 統52的類型資訊(例如大容量儲存設備類)、快閃記憶體 配置資訊和預設的控制資訊;端點126接收來自主機系統 52的讀處理資訊;端點128接收來自主機系統52的寫處 理資訊。塊傳輸(B〇T)單元13〇包含了一個傳輸長度寄 存器132和一個邏輯塊位址寄存器134接收命令塊封裝 (CBW)。 本發明的一個方面,從實體塊位址分配到邏輯塊位址Reduce Block Command (RBC) SCSI Protocol: A 1-byte command descriptor. Figure 7 is a block diagram of an electronic data storage card (flash memory system) (10) incorporating the corresponding flash memory controller ιι〇 and flash memory device 112 of the present invention. The host system 52 provides read and write processing resources, and the erase operation is controlled by flash memory!! 110 implementation. The flash memory controller ιι is connected to the host system 52 via the host system interface 116. Host system 52 can be a PC or other type of computer system. The operating system of the host system 52 may be windows, MACOS, but is not limited to these operating systems. In this detailed embodiment, the flash memory system 1 is compliant with the "large capacity" and the host interface 116 is a 亀 connection. The deletion specification can be 1.1, 2·ο or above. The flash memory controller u〇 and flash memory U2 can be either bus-bar powered or self-powered, or used as a mass storage device. The advantages of being a mass storage device are low power consumption, portability, and much larger capacity than traditional floppy disks. The flash memory controller Π0 contains a device transceiver 12〇 that converts the analog signal into a digital stream and provides a phase loop lock (PPL) circuit to generate an accurate clock for the internal data latch. For the USB20, the ppL function is accurate and useful because it operates at 4 Hz. The flash memory controller 110 also includes a serial interface engine 122^, which can provide serial and parallel data conversion, packet decoding/generation, back=multiple code (CRC) generation/checking, non-return to zero ( NRZI) Codec and bit stuffing of the root USB standard. Endpoints 124 and 125 receive type information (e.g., mass storage device class), flash memory configuration information, and preset control information from host system 26 200915339 system 52; endpoint 126 receives read processing information from host system 52. The endpoint 128 receives write processing information from the host system 52. The block transfer (B〇T) unit 13A includes a transfer length register 132 and a logic block address register 134 to receive a command block package (CBW). An aspect of the invention, assigning from a physical block address to a logical block address

整個過程都是快閃記憶體控制器110完成的,因此允許主 機系統52在不需要快閃記憶體設備112中存儲資料的實 *實體位置(配置)就能連接到快閃記憶體控制器11 〇 (如 執仃讀取、寫和擦除操作)。也就是說,快閃記憶體控制 器利用存儲於電子資料快閃記憶體卡(即並非從主機 系、先5帛收到)的全部檢驗邏輯和資料來識別快閃記恃' 體112中的壞塊,把恤 ^ 配給邏輯塊位址二70中好塊的實體位址分 鬼位址,回收不可用塊並執行平均損耗演算法。 命令中的每—個命令都是獨立於主機系Μ],因 中操作得到增強。共有發明和另案申請的 管理之電子資料快閃…一名為《具快閃記憶體壞塊 器no ^ μ、 ㈣卡》中公開了㈣記憶體控制 照。 η (即檢驗邏輯)’在此-併提供參 磁區FIFO140在主機 5 憶體 在處 112時提供-個镇;^ 到快閃記 w 15〇w FIFG非空巾斷㈣142 理器150的中斷處理器⑷中 式 27 200915339 斷程式回應主機系統52來確定資料要被寫入到快閃記憶 體Π2中。同時’處理器15〇執行一個寫處理。 寫查詢表(LUT) 170、讀查詢表(LUT) 172和一個實體使 用表(PUT) 180提供的索引展示了快閃記憶體112的構造。 快閃記憶體控制器使用上述檢驗邏輯來控制讀和寫查詢 表170和172以及PUT180。讀和寫查詢表17〇和172各 自方便主機系統52和快閃記憶體i 12之間讀寫處理,讀 和寫查珣表170和172將主機提供的邏輯塊位址(lBAs) 轉換為快閃記憶體112的實體塊位址(PBAs)。ρυτι8〇執 仃實體磁區對照並提供一個已編程磁區點陣圖,如己被寫 入資料的磁區。 ,帶有快閃記憶體U2的快閃記憶體介面控制器186執 行來自處理器150的命令,快閃記憶體介面控制器186接 收來自讀和寫查詢表170和172讀、寫請求服務的邏輯實 體塊位址。 Ο …先進先出回收器19〇回收所有帶過期磁區的塊,從而 …匕們可以被編程,例如寫入新資料。回收操作是在寫 處理後立刻獨立執行的,因此不會影響到快閃記憶體控制 器11 0的寫處理。 最佳的專用積體電路中,讀和寫查詢表17〇和172、 使用表m以及先進先出回收器都是使用非易失性隨 2存取記憶體(RAM),如同步隨機存取記憶體(sram)。 ’、閃把憶體112可以執行為一個或者多個設備,並且每— 個可以擁有一個或者多個快閃記憶體陣列。 28 200915339 對於具有128K位元組/區塊結構之128M位元組快閃 3己憶體,其具有區塊,快閃記憶體之密度越高,其所具有 之區塊也越多,因此,當快閃記憶體之密度增加時,寫查 珣表(LUT) 170, 172及180之RAM大小可被擴充,為了最 佳ASIC之實現,控制器可考慮定義一區塊群組,例如 區塊為一群組,讀寫寫查詢表(LUT)17〇,172及18〇係設計 為一群組,而非整個快閃記憶體,此將使得RAM大小固 〇 定而快閃記憶體區塊數目大量地增加,因此,ASIC晶粒 大小將可控制在一經濟的尺寸,當讀寫動作由目前群組之 位址範圍改變至另一群組之位址範圍時,控制器將載入目 才示群组之表至寫查詢表(LUT),此載入程序需花費一些時 間但節省RAM之大小,該控制器可在效能及晶粒大小之 間取得平衡。 圖8更詳細地展示了本發明圖7中寫查詢表ι7〇、讀 查詢表172、實體使用表180和先進先出回收器19〇的塊 〇 狀圖。寫查詢表170提供了一個寫處理中將主機系統的邏 輯磁區位址轉換為快閃記憶體中實體塊位址的快閃記憶 體索引。寫查詢表170包含了實體塊位址3〇2a 3〇2b 3〇2c 和302d。為簡化圖例說明,每個查詢表僅僅顯示了 4個邏 輯磁區位址。邏輯磁區位址302a〜3〇2d中每一個包含一個 可選塊偏移位(位5〜位0 )。塊偏移位元對應塊中特殊磁 區0 邏輯磁區位址3〇2a〜302d中每一個關聯到實體塊位址 304a〜304d。相應地,每個邏輯磁區位址a〜d分別指向一 29 200915339 個關聯的實體塊位址a〜d。 ,.e ^ 在此特例中,實體塊位址為32 位兀長度。磁區區域306包含了 ^ .塊中的已蝙程磁區。 了—個子串位元顯示了一個 位址。η固特殊寫處理中’寫查詢表170僅僅記錄邏輯塊 位址。例如,、如果一個 續 将殊的寫處理需要兩個或更多的連 續塊而寫查詢表17G記錄起始的邏輯塊位址。 扣Φ换^句表172在進打讀處理中提供快閃記憶體索引並 〇 轉換為快閃記憶體的實體塊位 。§貝查詢表172包含邏輯塊位址302’a,302,b,302,c和 ΓΗ。讀查詢表172和寫查詢表Μ擁有相同的區域。在 母個寫操作完成後,讀查詢表172被更新來反映寫查詢表 的改變以便區分讀和寫查詢表17()和172。—旦讀查 詢表LUT被更新,它可以用來作為讀㈣的索引。 -實體使用表PUT180完成實體磁區對照並提供一個顯 不已編程磁區(即磁區已經被寫入資料)的點陣圖。無論 〇何時發生寫操作,實體使用表ρυτΐ8〇記錄使用資訊來顯 :已編程磁區。這樣有助於快閃記憶體控制器的處理器寫 操作根據PUT180來判斷哪些磁區可以編程和重編程。 ,、先進先出回收器190回收無效塊且在每個寫操作成功 後進行回收處理。無論何時遇到一個帶有舊磁區的塊作 為塊的實體位址資訊被置於FIF〇19〇中顯示為無效塊&在 完成有效位複製重定位操作後’先進先出回收器19〇提供 元成無效塊擦除操作位址資訊。先進先出回收器19〇使 用一個寫指標192作為無效塊更新先進先出位址,讀指標 30 200915339 和196作為兩個讀地址相關指標。讀指標二i96用於 後臺回收讀取參數,讀指標一 194作為擦除有效塊成功完 成的參數。讀指標一 194永遠不會超過讀指標二196,讀 扣払194和196都不會超過指針192。根據當前實施方式 的個方面,複製重置(廢棄塊仍然留有可用磁區)和擦 除回收操作都是在後臺完成的,即獨立於寫處理結果,不 會影響到寫處理。The entire process is performed by the flash memory controller 110, thus allowing the host system 52 to connect to the flash memory controller 11 without requiring a real physical location (configuration) of the data stored in the flash memory device 112. 〇 (such as performing read, write, and erase operations). That is, the flash memory controller uses all of the verification logic and data stored in the electronic data flash memory card (ie, not received from the host system, first 5) to identify the bad in the flash memory body 112. The block, the shirt ^ is assigned to the physical address of the good block in the logical block address 200, the ghost address, the unavailable block is recovered and the average loss algorithm is performed. Each command in the command is independent of the host system], because the operation is enhanced. The electronic data of the management of the invention and the application for another case is flashed... One of the memory control photos is disclosed in "No ^ μ, (4) Card with Flash Memory Bad Block". η (ie, check logic) 'here - and provide the magnetic field FIFO 140 to provide a town when the host 5 memory is at 112; ^ to flash flash w 15〇w FIFG non-empty towel break (four) 142 processor 150 interrupt processing (4) Chinese 27 200915339 The program responds to the host system 52 to determine that data is to be written to the flash memory Π2. At the same time, the processor 15 executes a write process. The write query table (LUT) 170, the read lookup table (LUT) 172, and an entity use table (PUT) 180 provide an index showing the construction of the flash memory 112. The flash memory controller uses the above verification logic to control the read and write lookup tables 170 and 172 and PUT 180. The read and write lookup tables 17A and 172 each facilitate read and write processing between the host system 52 and the flash memory i12, and the read and write tables 170 and 172 convert the host-provided logical block addresses (lBAs) to fast. Physical block addresses (PBAs) of flash memory 112. Ρυτι8〇 仃 The physical magnetic area is compared and provides a programmed magnetic area bitmap, such as the magnetic area that has been written into the data. The flash memory interface controller 186 with flash memory U2 executes commands from the processor 150, and the flash memory interface controller 186 receives logic from the read and write lookup tables 170 and 172 read and write request services. Entity block address. Ο ... FIFO Recycler 19 〇 Recover all blocks with expired magnetic zones, so that we can be programmed, for example to write new data. The reclamation operation is performed independently immediately after the write processing, and thus does not affect the write processing of the flash memory controller 110. In the best dedicated integrated circuit, the read and write lookup tables 17A and 172, the use table m, and the FIFO reclaimer all use non-volatile 2 access memory (RAM), such as synchronous random access. Memory (sram). The flash memory 112 can be implemented as one or more devices, and each can have one or more flash memory arrays. 28 200915339 For a 128M byte flash + 3 memory with 128K byte/block structure, it has a block, and the higher the density of the flash memory, the more blocks it has. Therefore, As the density of the flash memory increases, the RAM size of the write lookup tables (LUTs) 170, 172, and 180 can be expanded. For optimal ASIC implementation, the controller can consider defining a block group, such as a block. For a group, the read and write write lookup table (LUT) 17〇, 172 and 18〇 are designed as a group instead of the entire flash memory, which will make the RAM size fixed and the flash memory block The number is increasing in large numbers, so the ASIC die size can be controlled in an economical size. When the read/write action is changed from the address range of the current group to the address range of another group, the controller will load the target. The group's table is written to the lookup table (LUT). This loader takes some time but saves RAM. The controller balances performance and die size. Figure 8 shows in more detail a block diagram of the write query table ι7 〇, the read lookup table 172, the entity usage table 180, and the FIFO recycler 19 of Figure 7 of the present invention. The write lookup table 170 provides a flash memory index that translates the logical sector address of the host system into the physical block address in the flash memory in a write process. The write lookup table 170 contains the physical block addresses 3〇2a 3〇2b 3〇2c and 302d. To simplify the legend, each lookup table shows only four logical sector addresses. Each of the logical sector addresses 302a~3〇2d contains an optional block offset bit (bits 5 through 0). Each of the logical sector addresses 3〇2a to 302d in the block offset bit corresponding block is associated with the physical block addresses 304a to 304d. Correspondingly, each logical sector address a~d points to a 29 200915339 associated physical block address a~d. , .e ^ In this special case, the physical block address is 32 bits long. The magnetic zone region 306 contains the circumscribed magnetic regions in the ^. - A substring of bits shows an address. In the η solid special write process, the write query table 170 records only the logical block address. For example, if a subsequent write process requires two or more consecutive blocks, the write log table 17G records the starting logical block address. The buckle Φ table 172 provides a flash memory index in the read processing and converts to a physical block bit of the flash memory. § Bay lookup table 172 contains logical block addresses 302'a, 302, b, 302, c and ΓΗ. The read lookup table 172 and the write lookup table have the same area. After the parent write operation is completed, the read lookup table 172 is updated to reflect the changes to the write lookup table to distinguish the read and write lookup tables 17() and 172. Once the read lookup table LUT is updated, it can be used as an index for the read (four). - The entity uses the table PUT 180 to complete the physical volume comparison and provides a bitmap of the previously programmed magnetic regions (i.e., the magnetic regions have been written to the data). Regardless of when the write operation occurs, the entity uses the table ρυτΐ8〇 to record the usage information to display: the programmed magnetic area. This helps the processor write operation of the flash memory controller to determine which sectors can be programmed and reprogrammed based on PUT 180. The first in first out recycler 190 recovers the invalid blocks and performs the recycling process after each write operation succeeds. Whenever encountering a block with an old magnetic zone as a block, the physical address information is placed in FIF〇19〇 as an invalid block & After completing the valid bit copy relocation operation, the FIFO Recycler 19〇 Provides invalid block erase operation address information. The FIFO Recycler 19 uses a write indicator 192 as an invalid block to update the FIFO address, and reads indicators 30 200915339 and 196 as two read address related indicators. Read indicator II i96 is used to retrieve the read parameters in the background, and read indicator 194 as the parameter successfully completed by erasing the valid block. Reading indicator one 194 will never exceed reading indicator two 196, and reading 194 and 196 will not exceed the pointer 192. According to aspects of the current embodiment, the copy reset (the disc is still left with the available partitions) and the erase and recycle operations are done in the background, that is, independent of the write processing result, and does not affect the write processing.

圖9為本發明圖7更詳細的塊狀示意圖《快閃記憶體 1U每一個實體塊位址的資料結構包含一個資料區域4〇2 和備用區域404。每一個區域維持依賴於應用的一定數量 的位元組。例如,資料區域可能有512位元組、2112位元 組或更多位元1且,備肖區域可以有1 664或更多位元組。 資料區域402存儲原始資料,備用區域4〇4存儲記憶 體管理相關資訊。備用區域楊包括了 —個壞塊指示區^ 偏、-個錯誤糾正代碼(ECC)區域4〇8、—個擦除計數器 區域410以及一個邏輯塊位址區域412。因 趙使用表一…。、一。存儲:易= 隐體中’因此’不保存有效磁區資訊。邏輯塊位址區域M2 用於在斷電後初始化過程中重構讀和寫查詢表、I” 和實體使用表PUT180。 壞塊指示區域406指出壞塊。當嘗試寫入或擦除一個 特殊磁區失敗時,就會產生壞塊,殊壞塊指示器區域 被定位在最後_•個塊,這個位置便於細體讀取,當每個磁 區一個位時尤其如此。在此特殊的實施方式中,實體塊使 31 200915339 位元來5己錄磁區寫入失敗(64位元塊 位,組=16磁區=四分之—塊中任何^意味著該特殊 兔疋壞塊。為了維持可靠性,壞塊的四個 存在快閃記憶體的最後塊m也可以使用更少或^ 的複製。 。當前發明中幾乎不需要標記。查詢表中的有效磁區標Figure 9 is a block diagram showing a more detailed block diagram of Figure 7 of the present invention. The data structure of each physical block address of the flash memory 1U includes a data area 4〇2 and a spare area 404. Each zone maintains a certain number of bytes depending on the application. For example, the data area may have 512 bytes, 2112 bytes, or more bits 1 and the ambiguous area may have 1 664 or more bytes. The data area 402 stores the original data, and the spare area 4〇4 stores the memory management related information. The spare area Yang includes a bad block indication area, an error correction code (ECC) area 4〇8, an erase counter area 410, and a logical block address area 412. Because Zhao uses Table one... ,One. Storage: Easy = Invisible 'There' does not save valid volume information. The logical block address area M2 is used to reconstruct the read and write lookup table, I" and the entity usage table PUT180 during initialization after power down. The bad block indication area 406 indicates a bad block. When attempting to write or erase a special magnetic When the zone fails, a bad block is generated, and the bad block indicator area is positioned at the last block, which is convenient for fine reading, especially when each magnetic zone has one bit. In this particular embodiment In the middle, the physical block makes 31 200915339 bits to 5 recorded magnetic area write failure (64 bit block, group = 16 magnetic area = quarter - any ^ in the block means that the special rabbit is bad. In order to maintain Reliability, the last four blocks of the bad block that exist in the flash memory can also use less or ^ copy. In the current invention, almost no markup is required. The valid magnetic area mark in the lookup table

€ S己使用唯—的標記用於幫助動體做出判斷。這樣也減少了 讀和寫處理的複雜性。 圖丨〇是本發明快閃記憶體管理方法的一個高階流程 圖°首先’快閃記憶體控制器制處理器獲取來自主機系 統至少一個請求(步驟逝),這個請求可以是寫或讀請求。 因此,通過快閃記憶體控制器内部的索引表和處理器判斷 可用於編程、再編程或讀的快閃記憶體的磁區(步驟504)。 主機系統不需要快閃記憶體配置資訊就可以作用於快閃 記憶體。 …将定的實施方式,快閃記憶體控制器接收到 個來自主機系統的相容USB大容量印梧M| 八谷夏°己憶體類的請求,接 來的圖例描述該特定的實施方式。 圖11顯示本發明USB大容詈在蚀 八备篁存儲設備類服務請求 箱方法的流程圖。f去,株m, ® n肖閃圯憶體控制器接收來自主 糸統的請求,如步驟602所示,呤丰跑β 1 , 7不該步驟即為所述的命令 輸步驟6〇2。該命令可以是寫 頌δ月未。如果為寫請求 W元成一個寫處理,如步驟60 鉍, U4該步驟即為所述的資3 輪出步驟6〇4 ;如果為讀請求, 员J π成一個讀處理,如. 10 200915339 驟606,該步驟即為所述的資料登錄步驟606。一旦完成 一個寫或者讀處理’快閃記憶體控制器發送一個確認包到 主機系統來確認處理完成,如步驟608,該步驟即為所述 的狀態傳輸步驟608。 由於資料包是從主機系統發出的,所以命令傳輪步驟 602和資料輸出步驟604通常是塊輸出傳輸。而由於資料 包是發送給主機系統的,所以資料登錄步驟606狀態傳輸 步驟608通常是塊傳入傳輸。 圖12A-C展示了本發明命令塊封裝(CBW)702、精簡 的塊命令讀取格式(RBC)704和命令狀態封裝(CSW) 706 的塊狀示意圖。USB標準中每個請求包括三種包: CBW702、RBC704 和 CSW706。CBW702、RBC704 和 CSW706也通常分別被稱為權標、資料和確認信號交換/ 交握包,並分別用於命令傳輸、資料登錄輸出和狀態傳 輸,如圖11中步驟602〜608。 仍然關於圖12A-C,CBW702包含了主機系統資料要 遵循的的資訊,CBW702為31位元組長度並包含了命令解 碼和範圍和一個唯一的邏輯塊位址。CBW702中的邏輯塊 ‘位址包含了檔分配表(FAT )和目錄指標。CB W702也包 含了作為RBC命令中的一部分的15位元組的讀/寫範圍。 RBC704包含了寫入快閃記憶體的資料資訊,它是一個小 型電腦系統介面精簡的塊命令讀取格式(SCSI RBC )。資 料長度可以根據不同版本的USB標準定義。例如USB 1.1 為64位元組,USB2.0定義為512位元組。CSW706包含 33 200915339 了4認過程和處理結束資訊,狀態位元m使用㈣元組。 圖13為本發明讀、寫或擦除方法的流程圖。結合圖 • 12A_C和圖8所示,首先接收來自主機系統的請求(步驟 • 802),為遵循USB標準,該請求包含cb㈣2、㈣剔 和CSW706,然後讀或寫請求命令被檢測到(步驟綱); 然後⑽和CSW的寄存器被初始化(步驟806)。 ,如果請求為—個寫處理的寫請求,快閃記憶體控制器 〇巾磁區貝料FIFO被填充。當512位元組已就緒,磁區資 的寫指標增加並發送一個中斷到快閃記憶體控制 =的理^ (步驟810 )。然後,寫處理被執行(步驟812)。 隶終’ 一個確認包被發送ί丨丨:t Μ多A 4 成(步驟814)。 丨主機系統來確認寫處理成功完 成功完成寫處理後,快閃㈣㈣^ 圈酬狀態(步驟㈣)。如果迴圈觸非空,迴體圈檢^ 就會回收舊的磁區(步驟822)。 〇 长為個讀處理的讀請求,CBW中的邏輯塊位 址用於和FIFO磁Γ5· 、-磁區的所有入口比較(步驟828 )β如果匹 配°月求的資料被寫回主機系統(步驟830 )。狭後,一個 機系統來確4讀處理已經成功完成(步驟 , 不匹配,請求的資料是從快閃記憶體中讀取出 來的(步驟834 )。最線,T讀取出 確認讀處理已經成功;:成^匕被發送到主機系統來 、乂成功元成(步驟836 )。 圖14所不流程圖展示依據本發明之一方 -第-階段的寫處理、一第二階段的寫處理、—讀處包理含 34 200915339 一回收操作。首先,接收到CBW (步驟902中),然後, 判斷是否為寫請求(步驟9〇4 )。然後如果請求為寫請求, FIF〇磁區被檢查(步驟906中),如果FIFO磁區非空, 則發起寫請求^ 為了維持塊位址的連續性和提高寫效率,寫處理有兩 個階段。在第-個階段,資料被寫人到一個特殊數量的磁 區並發送一個確認包給快閃記憶體控制器的處理器和主 機系統來通知寫處理已經完成(步驟910 )。 如果沒有後續的未處理讀請求,寫處理的第二階段就 被執行^相應地,有效磁區從無效塊中複製到另一個塊的 新位址(步驟920)〇為了保持資料一致性,步驟92〇在後 臺被執行》 如果判斷為讀請纟’並且在寫處㈣第一個階段完i 後立刻有-個讀請求,快閃記憶體使用讀査詢表#的實覺 塊位址來取出請求的資料(步驟930)。讀取請求被執行 〇後,如果有一個寫請求的第二未處理階段,這個第二階名 被執行(步驟920 )。 步驟940 +,當沒有請求需要處理時,迴圈f㈣回 2舊磁區。在-個特定實施方式中,當迴圈阳〇完成塊 ^除任務時,快閃記憶體控制器的㈣可以返回來服 自主機系統的其他請求。 圖15A_D展示了本發明相應的寫處理第-和第二階 段的典型結果的塊狀示意圖。 M 馬進步闡明本發明的上述 特性’特提供了下面的例子。圖 閩DA-D顯不了包含有四個 35 200915339 不同字串資料的寫請求,圖15D顯示了—個資料更新後的 寫處理。為便於說明,每個塊僅僅顯示了 4個磁區。 快閃記憶體112兩個塊(PBA 0 and Pba 1)的每個塊有 四個磁區。在第一個寫處理中,寫查詢表17〇寫入到快閃 記憶體112中第一實體塊(pb A0 )的起始6個實體磁區。 在本例中’假定快閃記憶體112起始為空。為了本例中的 目的,標威A0-A5 .在第一個寫入處理時再次進行資料寫 入。 對應快閃記憶體112所對應實體使用表pUT180中的 位元顯示為1來表示哪些磁區已被編程,即已被佔用。快 閃s己憶體控制器的動體利用PUT 1 80來判斷可用磁區。對 應地’那些直到擦除前不能寫入的有資料的磁區後面可以 讀取。寫查詢表170寫入全部為1的有效磁區,讀查詢表 172的資訊從寫查詢表17〇中複製來反映最近的改變。儘 管如此’一旦完成寫入階段後完成和查詢表17〇的最終同 步,並把之前的寫查詢表17〇複製到讀查詢表172。對應 地’帶有全部0的空白磁區的寫查詢表17〇將顯示預更新 資訊直到讀查詢表1 72被更新。 對於圖15B,寫查詢表17〇寫入新的資料B到pBA1 中下一個可用磁區。這是第二個處理。寫查詢表17〇、實 體使用表PUT 1 80和快閃記憶體塊反映了本次更新。讀查 询表172已經更新了上次的改變,但是還沒有被更新到反 映當前的改變。 關於圖15C,寫查詢表ι7〇被寫入新資料c〇和C1到 36 200915339 下一個可用磁區, __ _ 化疋第二個寫處理。注意資料<:〇和C1 和資料AO A5 -樣交又了塊範圍。寫查詢纟】7〇和實體使 用表刚和快閃記憶體塊再次反映了本次更新。讀查 172被更新為上次的改變但尚未更新到反映當前的改變。€ S has used the only mark to help the body make judgments. This also reduces the complexity of read and write processing. Figure 丨〇 is a high-order flow of the flash memory management method of the present invention. The first 'flash memory controller processor acquires at least one request from the host system (step lapse), which may be a write or read request. Thus, the magnetic regions of the flash memory that can be used for programming, reprogramming, or reading are determined by the index table and processor internal to the flash memory controller (step 504). The host system can act on the flash memory without flash memory configuration information. ...in the embodiment, the flash memory controller receives a request from the host system for a compatible USB large-capacity printer M|eight Valley summer memory, and the following legend describes the particular implementation. Fig. 11 is a flow chart showing the method of the USB large-capacity storage device type service request box of the present invention. f goes, strain m, ® n 圯 圯 控制器 控制器 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收 接收. The command can be written 颂δ月未. If the write request W element is a write process, as in step 60, U4, the step is the step 3 〇 4 for the capital 3 round; if it is a read request, the member J π becomes a read process, such as . 10 200915339 At step 606, the step is the data entry step 606. Once a write or read process is completed, the flash memory controller sends an acknowledgment packet to the host system to confirm that the process is complete. In step 608, the step is the state transfer step 608. Since the packet is sent from the host system, command pass step 602 and data output step 604 are typically block output transfers. Since the packet is sent to the host system, the data entry step 606 state transfer step 608 is typically a block incoming transfer. 12A-C show block diagrams of a Command Block Encapsulation (CBW) 702, a Reduced Block Command Read Format (RBC) 704, and a Command State Encapsulation (CSW) 706 of the present invention. Each request in the USB standard includes three types of packets: CBW702, RBC704, and CSW706. CBW 702, RBC 704, and CSW 706 are also commonly referred to as tokens, data, and acknowledgment handshake/shake packets, respectively, and are used for command transmission, data registration output, and status transmission, respectively, as shown in steps 602-608 of FIG. Still referring to Figures 12A-C, CBW 702 contains information to be followed by the host system data, CBW 702 is 31 bits long and contains command decode and range and a unique logical block address. The logic block in the CBW702 ‘address contains the file allocation table (FAT) and directory metrics. CB W702 also contains a 15-bit read/write range as part of the RBC command. The RBC704 contains data information written to the flash memory, which is a small computer system interface streamlined block command read format (SCSI RBC). The length of the data can be defined according to different versions of the USB standard. For example, USB 1.1 is a 64-bit tuple and USB 2.0 is defined as a 512-bit tuple. CSW706 contains 33 200915339 4 recognition process and processing end information, status bit m uses (four) tuple. Figure 13 is a flow chart of a method of reading, writing or erasing the present invention. Referring to FIG. 12A_C and FIG. 8, the request from the host system is first received (step 802). To comply with the USB standard, the request includes cb (4) 2, (4) ticks and CSW 706, and then the read or write request command is detected (step outline) Then (10) and the registers of the CSW are initialized (step 806). If the request is a write-requested write request, the flash memory controller 〇 magnetic zone FIFO is filled. When the 512-bit tuple is ready, the write indicator for the magnetic zone is incremented and an interrupt is sent to the flash memory control = (step 810). Then, the write process is performed (step 812). By the end, an acknowledgment packet is sent ί丨丨:t ΜA 4 is (step 814).丨 The host system confirms that the write process is successful. After successfully completing the write process, flash (4) (4) ^ the reward status (step (4)). If the loop is not empty, the loopback will reclaim the old volume (step 822). The read request is read by a read, and the logical block address in the CBW is used to compare with all the entries of the FIFO disk 5· and the magnetic region (step 828). If the matching data is written back to the host system ( Step 830). After a narrow, one machine system confirms that the 4 read processing has been successfully completed (step, mismatch, the requested data is read from the flash memory (step 834). The most line, T read out confirms that the read processing has been Success;: is sent to the host system, and succeeds (step 836). Figure 14 is a flowchart showing one-stage write processing, a second-stage write processing, - Read the package contains 34 200915339 - Recycling operation. First, the CBW is received (in step 902), and then it is judged whether it is a write request (step 9〇4). Then if the request is a write request, the FIF is checked. (Step 906), if the FIFO magnetic area is not empty, a write request is initiated. ^ In order to maintain the continuity of the block address and improve the write efficiency, the write process has two stages. In the first stage, the data is written to a person. A special number of magnetic regions and a confirmation packet is sent to the processor and host system of the flash memory controller to notify that the write process has been completed (step 910). If there are no subsequent unprocessed read requests, the second stage of the write process is Execution ^ Accordingly, the valid magnetic region is copied from the invalid block to the new address of another block (step 920). In order to maintain data consistency, step 92 is executed in the background. If it is judged to be read, please write and write At the end of the first phase (i), there is a read request, and the flash memory uses the real block address of the read lookup table # to retrieve the requested data (step 930). After the read request is executed, if There is a second unprocessed phase of the write request, this second-order name is executed (step 920). Step 940 +, when there is no request to process, loop f (four) back to 2 old magnetic regions. In a particular implementation When the loop is completed, the flash memory controller (4) can return to other requests from the host system. Figure 15A_D shows the typical write-process of the present invention in the first and second stages. A block diagram of the results. M Ma progresses to clarify the above characteristics of the present invention. The following example is provided. Figure DA-D shows a write request containing four 35 200915339 different string data, and Figure 15D shows a After the data is updated Write processing. For convenience of explanation, each block only displays 4 magnetic regions. Each block of the flash memory 112 two blocks (PBA 0 and Pba 1) has four magnetic regions. In the first write process The write query table 17 is written to the first 6 physical magnetic regions of the first physical block (pb A0 ) in the flash memory 112. In this example, 'assumed that the flash memory 112 is initially empty. For the purpose of the example, the label A0-A5 is again written in the first write process. The corresponding entity in the flash memory 112 uses the bit in the table pUT180 to display 1 to indicate which areas have been It is programmed to be occupied. The moving body of the flash memory controller uses PUT 1 80 to judge the available magnetic area. Corresponding locations can be read after the magnetic regions that have data that cannot be written before erasing. The write lookup table 170 writes the valid sectors of all 1 and the information of the read lookup table 172 is copied from the write lookup table 17 to reflect the most recent changes. Despite this, once the write phase is completed, the final synchronization of the table 17 is completed and the previous write lookup table 17 is copied to the read lookup table 172. The write lookup table 17 对应 corresponding to the blank area with all 0s will display the pre-update information until the read lookup table 172 is updated. For Figure 15B, the write lookup table 17 writes the new data B to the next available magnetic region in pBA1. This is the second deal. The write query table 17〇, the entity usage table PUT 1 80 and the flash memory block reflect this update. The read query table 172 has updated the last change, but has not been updated to reflect the current change. Regarding Fig. 15C, the write query table ι7〇 is written to the new data c〇 and C1 to 36 200915339 the next available magnetic area, __ _ 疋 the second write process. Note that the data <: 〇 and C1 and the data AO A5 - the sample is in the block range. The write query 〇 7〇 and the entity use table just and flash memory blocks to reflect this update again. Read 172 was updated to the last change but has not been updated to reflect the current change.

關於圖15D,寫查詢表17〇已被寫入資料將存在的資 料A0-A4更新為“這是第四個處理。在寫處理的第 個步驟t ’因為塊PBA0和pBA1需要先被擦除後才能 被重編程,更新資料相被寫入到同一個磁區數的下一 個可用塊中,即PBA3_4。一旦第一個寫入階段完成,確 認包被發送到快閃記憶體控制器的處理器來確認寫處理 的第一個階段的完成。寫查詢纟17〇、實體使用纟贿刚 和〖夬閃5己憶體塊反映這個更新,讀查詢表i 被更新了之 刖的改變但是還沒有被更新到反映當前的改變。 塊ΡΒΑ0和PBA1因為它們的某些磁區過期而變成無 效。相應地,那些塊可以被迴圈FIF019〇回收。迴圈 FO190改變相應位元為〇來顯示此回收。迴圈ριρ〇ΐ9〇 的寫指標192增加並指向存儲於下一個無效塊位址的下一 個可用位置。 在寫處理的第二階段,資料A5、B和C0被複製到新 的塊寫查詢表170中保持連續的PBA3-4中。寫查詢表 170、實體使用表PUT 180和快閃記憶體塊將反映本次更 新。讀查詢表172將被更新並反映當前的改變。寫操作的 兩個階段都完成後’寫和讀查詢表丨7〇和丨72將擁有相同 的内容。 37 200915339 圖16顯示本發明圖14中執行實體塊位址和磁區計數 器更新過程的第一個階段的流程圖,主要是做一個邏輯塊 位址和實體塊位址之間的索引對照以便可以保持追蹤讀 和寫位址。表1(下面所述)是一個查詢表入口和FIF〇假 定快閃記憶體中每塊8個磁區的簡化例子β 1的入口意味 著磁區資料有效,0表示磁區可用。請注意查詢表(對照 表)是用LBAX來做指標的,但是FIFO是使用Wr_ptr和 Rd_ptrs來做指標的。 表1 PBA W/O 磁 磁 磁 磁 磁 磁 磁 磁 磁區偏移量 1¾ 區 1¾ 區 區 區 區 區 區 區 區 IS 區 域 域 域 域 域 域 域 域 0 1 2 3 4 5 6 7 ΡΒΑχ 1 0 0 1 1 0 0 0 Ο Ο 最初,來自主機的邏輯塊位址和磁區計數被估算,如 步驟1102所示。然後邏輯塊位址偏移位元被編碼到一個 磁區计數器中,如步驟1104 »邏輯塊指向快閃記憶體的一 個實體塊位址。如邏輯塊位址為0010,0101並且磁區數量 為16 ’那麼〇〇1〇就是兩個查詢表入口指標的初始[ΒΑχ 塊地址。如果實體使用表的磁區區域為〇(即磁區可用), 那麼磁區計數器寄存器就等於CBW磁區計數,同時寫查 詢表的實體塊位址將被載入,如步驟11〇6所示。 如果寫查珣表的磁區區域為1,這意味著快閃記憶體 38 200915339 磁區被之則的編程使用了,寫指標指向的塊要被擦除,如 步驟1108所示。然後,通過寫指標指向的迴圈FlF〇的入 口被當前ΡΒΑχ填充,如步驟111〇所示。在回收操作期 間’寫指標指向的塊將被擦除。然後,實體使用的磁區區 域被置為卜如涉驟m2所示,其中實體塊位址顯示了這 個磁區正在被使用中。然後磁區的數量增加,如步驟aw 所示。 接下來’將磁區數量和塊的範圍進行比較,如步驟 1116所示。如果磁區數量和塊範圍匹配,則寫指標增加, 如步驟1118所示。當到了快岡記憶體塊邊界後,寫查詢 表中的邏輯塊位址增加,如步驟112〇所示。然後更新正 確磁區數位置的寫查詢表,如步驟1122所示。 如果磁區數量不匹g己塊的範圍,步驟1118和η π被避開, 然後更新正確磁區數量位置的寫查詢表,如步驟1122所 〇 〇 +回到步驟1106,如果寫查詢表的磁區區域為〇,則; 味著陕門η己隐體磁區沒有被之前的編程所用,也即寫處茨 尚未完成。然後,磁區計數和CBW的磁區計數進行比較 如步驟1124所示。如果它們相同,由查詢表的LBAx^ 的PBAX將在步驟1126中被更新,然後處理到步驟1128 如果磁區計數寄存器不等於步驟1124中CBW的磁區計 ::兩個查詢表和將被寫入快閃記憶體的資料的磁區區* +被置為1接下來,磁區數量增加,如步驟⑴8所示 成功寫入快閃記憶體後,CBW磁區計數被減去,如步肩 39 200915339 113 0所示。 接下來,磁區計數被檢查,如步驟1132所示。如果 • 磁區計數等於0,寫處理的第一階段終止。如果磁區計數 不等於〇,這意味著主機發送了一個不正確數量的資料。 相應地,磁區FIF0被檢查來判斷是否還有更多的有效資 料,如步驟1134所示。如果沒有,一個超時序列被執行 來標誌、一個異常流程終止,FIF〇磁區也會持續檢查直到足 〇 夠的資料可用,如步驟1136所示,如果FIFO磁區還有更 多的可用資料,磁區數量將和塊的範圍進行比較,如圖 1116所示。 圖17為本發明對應的圖14的寫處理中執行第二階段 的方法的流程圖表。首先,寫和讀指針的指針值進行比 較,如步驟1202。迴圈FIFO的讀指標指向的入口磁區區 域指示了一個需要被複製到新的實體塊位址來維持寫查 詢表中連續性的有效磁區。當複製完成,讀查詢表被更新 (J 來區別於寫查詢表,如步驟1204所示。接下來,讀指標 指向的磁區數量被檢查,如步驟12〇6所示。如果磁區數 量為卜磁區中的資料被複製到新塊,如步驟12〇8所示。 然後,查詢表中的磁區數量被置為i,如步驟121〇所示。 接下來,寫查詢表磁區區域被更新,如步驟1212所示。 然後,讀查詢表磁區區域被更新,如步驟1214所示。接 下來,磁區數量增加。回溯到步驟12〇6,如果磁區數量不 為1則磁區數量增加’如步驟1216所示。 磁區數量一達到塊的範圍,磁區複製處理就會完成。 200915339 磁區數量和塊範圍進行比較,如步驟12丨8戶_ 區數量匹配塊的範圍,讀指標增加,如步驟所^。如果磁 接下來’讀&針和寫指標進行比較,如步驟⑵ 步驟丨218中磁區數量不匹配塊範圍, 如果在 區數量被檢查,如步驟1206所示。S 私向的磁Regarding Fig. 15D, the write lookup table 17 〇 has been written to update the existing data A0-A4 to "This is the fourth process. In the first step t of the write process, since the blocks PBA0 and pBA1 need to be erased first. After being reprogrammed, the update data phase is written to the next available block of the same number of sectors, PBA3_4. Once the first write phase is completed, the acknowledgement packet is sent to the flash memory controller for processing. To confirm the completion of the first stage of the write process. Write the query 纟17〇, the entity uses the bribe and the 夬 5 己 己 己 己 己 己 反映 反映 反映 反映 反映 反映 反映 反映 己 己 己 己 己 己 己 己 己 己 己 己 己 己 己Not updated to reflect current changes. Blocks ΡΒΑ0 and PBA1 become invalid because some of their magnetic regions have expired. Accordingly, those blocks can be reclaimed by loop FIF019〇. Loop FO190 changes the corresponding bit to 显示 to display this Recycling. The write index 192 of the loop ριρ〇ΐ9〇 is incremented and points to the next available location stored in the next invalid block address. In the second phase of the write process, data A5, B, and C0 are copied to the new block write. Query table 170 In the continuous PBA 3-4, the write lookup table 170, the entity usage table PUT 180 and the flash memory block will reflect this update. The read lookup table 172 will be updated and reflect the current change. Both stages of the write operation are Upon completion, the 'write and read lookup tables 丨7〇 and 丨72 will have the same content. 37 200915339 Figure 16 shows a flow chart of the first stage of the process of performing physical block address and sector counter update in Figure 14 of the present invention, The main thing is to do an index comparison between a logical block address and a physical block address so that the read and write addresses can be kept tracked. Table 1 (described below) is a lookup table entry and FIF 〇 assumed in flash memory. A simplified example of a block of 8 magnetic regions means that the entry of β 1 means that the magnetic zone data is valid, and 0 means that the magnetic zone is available. Please note that the lookup table (reference table) uses LBAX as an indicator, but the FIFO is done using Wr_ptr and Rd_ptrs. Table 1 PBA W/O Magnetic magnetic magnetic magnetic magnetic magnetic field offset 13⁄4 Area 13⁄4 Area Area Area IS Area Area Domain Area Domain Area 0 1 2 3 4 5 6 7 ΡΒΑχ 1 0 0 1 1 0 0 0 Ο最初 Initially, the logical block address and the magnetic zone count from the host are estimated, as shown in step 1102. The logical block address offset bit is then encoded into a magnetic zone counter, as in step 1104 » Logical Block Pointing A physical block address of the flash memory. If the logical block address is 0010, 0101 and the number of magnetic regions is 16 ', then 〇1〇 is the initial [ΒΑχ block address of the two query table entry indicators. If the entity uses the table The magnetic zone area is 〇 (ie, the magnetic zone is available), then the magnetic zone counter register is equal to the CBW magnetic zone count, and the physical block address of the write lookup table will be loaded, as shown in step 11〇6. If the area of the magnetic area of the write table is 1, this means that the flash memory 38 200915339 is used by the programming, and the block pointed by the write indicator is to be erased, as shown in step 1108. Then, the entry of the loop FlF〇 pointed to by the write indicator is filled with the current file, as shown in step 111. During the reclamation operation, the block pointed to by the write indicator will be erased. Then, the magnetic region used by the entity is set as shown in step m2, where the physical block address shows that the magnetic region is being used. Then the number of magnetic regions increases, as shown in step aw. Next, the number of magnetic regions is compared to the extent of the block, as shown in step 1116. If the number of sectors matches the block range, the write indicator increases, as shown in step 1118. When the boundary of the fast memory block is reached, the logical block address in the write lookup table is incremented, as shown in step 112. The write lookup table for the correct number of locations is then updated, as shown in step 1122. If the number of magnetic regions is not in the range of blocks, step 1118 and η π are avoided, and then the write lookup table of the correct number of magnetic regions is updated, as step 1122 〇〇 + returns to step 1106 if the query table is written The magnetic zone area is 〇, then; the taste of the Shaanxi η 隐 hidden magnetic area has not been used by the previous programming, that is, the writing has not been completed. The magnetic zone count is then compared to the magnetic zone count of the CBW as shown in step 1124. If they are the same, the PBAX of the LBAx^ of the lookup table will be updated in step 1126 and then processed to step 1128. If the magnetic zone count register is not equal to the CBW's magnetic zone meter in step 1124: two lookup tables will be written The magnetic zone* of the data into the flash memory is set to 1. Next, the number of magnetic zones is increased. After successfully writing to the flash memory as shown in step (1) 8, the CBW magnetic zone count is subtracted, such as the step shoulder 39. 200915339 113 0 is shown. Next, the magnetic zone count is checked as shown in step 1132. If • The magnetic zone count is equal to 0, the first phase of the write process is terminated. If the zone count is not equal to 〇, this means that the host sent an incorrect amount of data. Accordingly, the magnetic zone FIF0 is checked to determine if there is more valid information, as shown in step 1134. If not, a timeout sequence is executed to mark, an exception process is terminated, and the FIF 〇 magnetic area will continue to check until enough data is available, as shown in step 1136, if there is more data available in the FIFO area. The number of magnetic regions will be compared to the range of the block, as shown in Figure 1116. Figure 17 is a flow chart showing a method of performing the second stage in the write process of Figure 14 corresponding to the present invention. First, the pointer values of the write and read pointers are compared, as in step 1202. The entry sector area pointed to by the read index of the loop FIFO indicates a valid sector that needs to be copied to the new block address to maintain continuity in the write lookup table. When the copy is complete, the read lookup table is updated (J to distinguish it from the write lookup table, as shown in step 1204. Next, the number of magnetic regions pointed to by the read indicator is checked, as shown in step 12: 6. If the number of magnetic regions is The data in the tile is copied to the new block, as shown in steps 12 and 8. Then, the number of magnetic regions in the lookup table is set to i, as shown in step 121. Next, write the query table magnetic region It is updated as shown in step 1212. Then, the read lookup table magnetic region is updated, as shown in step 1214. Next, the number of magnetic regions is increased. Going back to step 12〇6, if the number of magnetic regions is not 1 then magnetic The number of zones increases as shown in step 1216. As soon as the number of magnetic zones reaches the block range, the magnetic zone copying process is completed. 200915339 The number of magnetic zones is compared with the block range, as in step 12丨8 _ zone number matching block range The reading index is increased, as in the step ^. If the magnetic next 'read & pin and write indicator are compared, as in step (2) step 218, the number of magnetic regions does not match the block range, if the number of zones is checked, as in step 1206 Shown. S private magnetic

圖18為本發明相應的圖14的讀處理執行方法的 圖表。首先,CBW被接收到並且被識別為讀請长,並且 ⑽的邏輯塊位址和磁區計數被載入’如步驟⑽。接 下來’寫查詢表的邏輯塊位址被轉換到一個對應的實體塊 位址和磁區數量,如步驟1304。然後,磁區區域位元被檢 查,如步驟1306_如果磁區區域位元等於〗,資料被讀取, 磁區計數器減少,4區數量增加為下—個讀處理做準備, 如步驟1308 ^如果磁區區域位元不等於i,例如等於〇, 讀查詢表的邏輯塊位址LB A被轉換為相應的實體塊位 址,如步驟1309所示。然後資料被讀取,磁區計數器減 少’磁區數量增加,如步驟13〇8所示。 接下來完成一個錯誤糾正碼(ECC )計算,如步驟 1310。然後ECC介面用於和快閃記憶體備用區域讀出值進 行比較’如步驟1312。如果這些值是一樣的,磁區計數器 被檢查,如步驟1314。如果值不同,將進行一個Ecc糾 正’如步驟1316’然後和步驟1314 —樣磁區計數器被檢 查。如果磁區計數器接近0,如等於〇,讀處理終結。如 果磁區計數器沒有接近0’塊範圍也會被檢查,如步驟 1317。如果磁區數量不匹配塊的範圍,讀查詢表中的邏輯 41 200915339 塊位址增加,如步驟丨32(^然後讀查詢表更新為正確的磁 區數量位置,如步驟1318所示。 寫處理的第一階段後立即執行一個讀處理。讀處理比 之岫的寫處理的第二階段擁有更高的優先權,這樣可以保 戍快閃記憶體系統的最佳反映。讀處理比寫處理要快得多 並且讀處理也不會導致壞塊情況(僅僅在寫處理和擦除操 作的時候才可能發生)。 3貝處理和磁片緩存功能的無論何時磁區fIF〇的内容 都疋可用的有所不同,這種情況僅僅在當讀查詢表中邏輯 塊位址和如一個寫查詢表的邏輯塊位址匹配時才可能發 生磁片緩存概念是從硬磁片概念中借用並應用到小容量 决閃屺憶體s己憶體中。這種特性通常被禁用來節省緩存費 圑為本發明對應 〇 流程圖。首先,迴圈FIF〇被檢查,如步驟14〇2所示。如 果迴圈FIFO非空,讀指標2被檢查,如步驟14〇4,這樣 的匱况下就會發生後臺擦除操作。一旦擦除成功,為另二 個有效塊重編程檢查操作的讀錢!增加,這兩個讀 ^不會超過寫指針。儘管如此,如果兩個讀指針被執行後 :指針可能回到它的原起始位置。如果讀指針2 :置’回收操作被終結。如果讀指標2沒有超過寫指標: 使用表PUT中對應的位被清空(即〇 )’如步驟二6 丁顯示了實體塊現在可用於重編程。然後, 定位到指向要被擦除的塊,如步驟14〇8 * w r米’讀指針 42 200915339 2在成功擦除後掸 所示。 為下二人寫位址檢查操作,如步驟⑷〇 ^圈FIFO的指標比較可以通過向寫和 增加-個或多個位來 1“索引再 個腸入口_FIFC>含有8 從〇辦加到7祐 而不疋三個位將用於指針 '寫指針將 從υ增加到7並回到〇。寫 指標。當它們相等“:總是等於或大於讀 的^如 等時,意味者迴圈F㈣為空。迴圈FIF0 Ο Ο 平衡^二了數量會影響行複製速度和擦除速度之間的 千衡因此太少的人σ會使得迴圈_更加不理想。 ,發明快閃記憶體控制器可以完成 統的快閃記憶體設備擁有—個貝科存取傳 建的2位元組的寄存 &憶體的資料必須行寫人到寄存器中然後寫 憶體單元中。傳統的快閃記憶體控制器和他内 憶體控制制快閃記憶體的存取週期。傳統的快閃記 閃記憶體的-個頁寄存^ 料到快 m ^ ^ # ° 旦512的頁寄存器被填滿 單塊:料:八他對快閃記憶體的存取。因此,傳統的使用 枓存取法的快閃記憶體控制器,限制了快閃記憶體 :據本發明’快閃記憶體控制器使用Μ或更大的頁 °予窃。本發明的快閃記憶體控制器是可以同時發送多塊 資料到快閃記憶趙中填滿頁寄存器的多塊存取控=多; ^極大地提高了資料傳輪的性能。比起傳統的一次只能傳 别一個塊的單晶片資料傳輸控制器,使用本發明的快閃記 43 200915339 憶體控制器的資料傳輸性能得到了極大的改善。 些快閃δ己憶體晶片具有每頁2K位元組、每頁4K位 元組或更大之大型頁之構造,例如,典型之多階存儲單元 (Multi-Level-Cel卜MLC )快閃記憶體具有每頁2Κ位元 組及總計每區塊128頁,該等頁可被限制為僅在區塊被抹 除後一次編寫,例如,如果某一實體區塊被抹除且在此區 塊之第一頁被寫入,則任何對此頁之編寫動作可能導致資 ρ 料之流失(或是不確定之結果),此稱之為N0P = 1(Number WPr〇gramequalto 〇,此外,此亦意味著如果一頁被部 =寫入,則此頁剩餘之空間將不能再被編寫,此稱之為部 分寫入禁止(Partial Write Pr〇hibited),因為傳統之單一 區塊資料移轉係每次以5 12位元組編寫快閃記憶體,此意 味快閃記憶體頁(每頁2k位元組)可被編寫四次,此在 許多典型之快閃記憶體裝置中是不被允許的。在一實施例 中’快閃記憶體控制器以下述之方式解決此一問題。 〇 在一些實施例中,快閃記憶體控制器利用一 2k戋更 大:頁暫存器,此意味來自—主機之4*512位元組或更多 之貝枓可被緩衝在該控制器中,以一次執行—全頁(仏位 $組或更大)之編寫’而非對-頁多次編寫。 在一些實施例中,該快閃記憶體控制 頁對照)來避免對-大型頁之多次二= 定義—6 7位疋之解析度,以藉由強化咖17〇及172來 快閃::段’頁之狀態,此6位元值(或是對128頁/區段 體之7位元)為邏輯頁(或磁區)位址(LpA), 44 200915339 此外,每一實體頁之備用(spare)區域具有此6-位元LPA之 紀錄以及如圖2 1所示之L B A,舉例而言,表2 a是一加強 表,實體磁區0是用於邏輯磁區1,實體磁區1是用於邏 輯磁區5,.…實體磁區6及7被標記為(二進制的 6’bllllll ),意指磁區為空。 表2 a PBA W/0 磁 磁 磁 磁 磁 磁 磁 磁 磁區偏移置 區 區 區 區 區 區 區 區 區 區 區 區 區 區 區 域 域 域 域 域 域 域 域 0 1 2 3 4 5 6 7 PBAx 1 5 63 63 63 63 63 63 表2b PBA W/0 磁 磁 磁 磁 磁 磁 磁 磁 磁區偏移置 區 區 區 區 區 區 區 區 1¾ 區 區 區 區 1¾ 域 域 域 域 域 域 域 域 0 1 2 3 4 5 6 7 PBAx 1 5 8 63 63 63 63 63 45 200915339 表2cFigure 18 is a diagram of a corresponding read processing execution method of Figure 14 of the present invention. First, the CBW is received and recognized as a read request length, and the logical block address and the magnetic zone count of (10) are loaded as in step (10). Next, the logical block address of the write query table is converted to a corresponding physical block address and the number of magnetic regions, as in step 1304. Then, the magnetic zone area bit is checked, as in step 1306_ if the magnetic zone area bit is equal to 〗, the data is read, the magnetic zone counter is reduced, and the number of 4 zones is increased to prepare for the next read process, as in step 1308^ If the extent area bit is not equal to i, for example equal to 〇, the logical block address LB A of the read lookup table is converted to the corresponding physical block address, as shown in step 1309. The data is then read and the magnetic zone counter is reduced by the number of magnetic zones increased, as shown in steps 13-8. Next, an error correction code (ECC) calculation is completed, as in step 1310. The ECC interface is then used to compare with the flash memory spare area readout value' as in step 1312. If these values are the same, the sector counter is checked, as in step 1314. If the values are different, an Ecc correction will be performed 'as in step 1316' and then in step 1314, the sample sector counter will be checked. If the sector counter is close to 0, if equal to 〇, the read process is terminated. If the sector counter is not close to the 0' block range, it will be checked, as in step 1317. If the number of sectors does not match the range of blocks, the logic 41 200915339 block address in the read lookup table is incremented, as in step ( 32 (^ then the read lookup table is updated to the correct number of sectors, as shown in step 1318. A read process is performed immediately after the first phase. The read process has a higher priority than the second phase of the write process, which guarantees the best reflection of the flash memory system. The read process is better than the write process. It is much faster and the read processing does not cause bad block conditions (only possible during write processing and erase operations). 3 shell processing and disk cache functions are available whenever the magnetic area fIF〇 is available. The difference is that the disk cache concept can only occur when the logical block address in the read lookup table matches the logical block address of a write lookup table. It is borrowed from the hard disk concept and applied to small. The capacity is flashed and recalled. This feature is usually disabled to save the cache fee. This is the corresponding flowchart of the present invention. First, the loop FIF is checked, as shown in step 14〇2. The FIFO is not empty, the read indicator 2 is checked, as in step 14〇4, the background erase operation will occur under such conditions. Once the erase is successful, the read memory for the other two valid blocks is reprogrammed! These two reads will not exceed the write pointer. However, if two read pointers are executed: the pointer may return to its original starting position. If the read pointer 2: set the 'recycling operation is terminated. If the index 2 is read No more than write metrics: Use the corresponding bit in the table PUT to be emptied (ie 〇)' as shown in step 2 hex shows that the solid block is now available for reprogramming. Then, locate the block to be erased, as in step 14〇 8 * wr m 'read pointer 42 200915339 2 after successful erasure 掸. Write address check operation for the next two people, such as step (4) 〇 圈 FIFO metric comparison can be done by writing and adding - one or more Bits come to 1 "index again intestine entry _FIFC> contains 8 from 〇 to 7 but not 疋 three bits will be used for pointers 'write pointers will increase from υ to 7 and back to 〇. Write metrics. When they Equivalent ": always equal to or greater than the read ^, etc., meaning Circle F (four) is empty. Loop FIF0 Ο Ο balance ^ two the number will affect the line between the copy speed and the erase speed, so too few people σ will make the loop _ more unsatisfactory. Invented flash memory The controller can complete the flash memory device. The data of the 2-bit register of the Beko access and the memory of the memory must be written to the register and then written in the memory unit. Traditional fast The flash memory controller and the internal memory control system control the access period of the flash memory. The traditional flash memory memory - page registration ^ material to the fast m ^ ^ # ° 512 page register is filled Single block: material: eight his access to the flash memory. Therefore, the traditional flash memory controller using the 枓 access method limits the flash memory: according to the present invention 'flash memory controller Use Μ or larger pages to steal. The flash memory controller of the invention can simultaneously send multiple pieces of data to the flash memory Zhao to fill the page register with multiple access control=multiple; ^ greatly improve the performance of the data transfer wheel. Compared with the conventional single-chip data transmission controller which can only transmit one block at a time, the data transmission performance of the flash memory using the flash memory 43 200915339 of the present invention is greatly improved. Some flash δ hex memory chips have a structure of 2K bytes per page, 4K bytes per page or larger, for example, a typical multi-level memory cell (Multi-Level-Cel) The memory has 2 bytes per page and a total of 128 pages per block, which can be limited to writing only once after the block is erased, for example, if a physical block is erased and is in this area If the first page of the block is written, any writing of this page may result in the loss of the material (or the result of uncertainty), which is called N0P = 1 (Number WPr〇gramequalto 〇, in addition, this It also means that if a page is written to the part = the remaining space of the page can no longer be written, this is called Partial Write Pr〇hibited, because the traditional single block data transfer system Flash memory is written in 5 12-bits each time, which means that flash memory pages (2k bytes per page) can be written four times, which is not allowed in many typical flash memory devices. In an embodiment, the 'flash memory controller solves this problem in the following manner. In some embodiments, the flash memory controller utilizes a 2k戋 larger: page register, which means that the 4*512 bytes or more of the host can be buffered in the control. In the program, one-time execution - full page (仏 $ group or larger) is written 'instead of writing the page multiple times. In some embodiments, the flash memory control page is compared) to avoid the pair - large Pages multiple times = definition - 6 7-bit resolution, to flash by strengthening the coffee 17 〇 and 172:: segment 'page state, this 6-bit value (or 128 pages / section The 7-bit body is a logical page (or magnetic region) address (LpA), 44 200915339 In addition, the spare area of each physical page has a record of this 6-bit LPA and as shown in FIG. The LBA, for example, Table 2a is a reinforcement table, the physical magnetic zone 0 is for the logical magnetic zone 1, the physical magnetic zone 1 is for the logical magnetic zone 5, .... the physical magnetic zones 6 and 7 are marked as (binary 6'bllllll) means that the magnetic area is empty. Table 2 a PBA W/0 magnetic magnetic magnetic magnetic magnetic magnetic magnetic region offset location area area area area area area area area domain domain domain area 0 1 2 3 4 5 6 7 PBAx 1 5 63 63 63 63 63 63 Table 2b PBA W/0 Magnetic magnetic magnetic magnetic magnetic magnetic magnetic field offset area area area area 13⁄4 area area 13⁄4 domain domain domain domain domain domain 0 1 2 3 4 5 6 7 PBAx 1 5 8 63 63 63 63 63 45 200915339 Table 2c

PBA W/O 磁 磁 磁 磁 磁 磁 磁 1~--- 磁 磁區偏移量 1¾ 區 區 區 區 區 區 區 區 區 區 區 區 域 域 域 域 域 域 域 域 0 1 2 3 4 5 6 7 -—.— PBAx 1 5 8 8 63 63 63 63 -----J 在此以 ΟPBA W/O magnetic magnetic magnetic magnetic magnetic 1~--- magnetic magnetic field offset 13⁄4 area area area area area area domain domain domain domain 0 1 2 3 4 5 6 7 -—.— PBAx 1 5 8 8 63 63 63 63 -----J here Ο

範例顯示如何保護一多次編寫之磁區,假設 磁區2一具有2k位元組資料空間且均為空,如圖20a及表 2a所不’來自主機之—寫入命令被收到以 磁區位址8之循序的512位元組’該控制器可找出一空的 實體磁區(例如此範例之磁區2)以供寫入,因此,實際 上磁區2係部分被寫入lk位元組資料,如圖2肋及表以 所不,然後,另一命令被收到以寫入在邏輯磁區位址8之 剩餘空間,控制器不寫入資料至實體磁區,因為此將導致 二次(programming)編寫,控制器找出下一空的磁區(在此 範例中為實體磁區3)作為目標磁區’其讀出先前寫入在 實體磁區2之資料,並將之與新收到的資料合併,然後將 整個2k位元組之資料寫入至磁區3 (目標磁區),最終之 狀態係顯示於表2c及圖20c,圖20d顯示大部分MLC快 閃記憶體不支援且控制器需避免採取在此描述之方案的 動作。 當所收到之邏輯磁區號碼由表2c讀出資料’控制器 46 200915339 僅由表2C之底端至頂端搜尋該邏輯磁區號碼,第一個相 符的磁區為最新的磁區,例如,實體磁區3在表2c具有 值8’且_蒐尋8”時’其為第一個符合之磁區,因此,實 體磁區3為對邏輯磁區8所最大更新之磁區,且實體磁區 2可視為"過時"磁區(亦即無用之讀出資料)。 然而,以此方式,一具有N磁區(頁)之實體區塊(例 如N= 128)可能不具有N邏輯磁區,此乃因一邏輯磁區佔 、有兩或更多之實體磁區是可能的,當控制器偵測一區塊之 f 底端(最末)磁區被寫入,例如在表中磁區N的值並非指 示為空的磁區(例如當N=128時不等於127),控制器可 找出另一空的區塊,並移動所有最大更新的磁區至新的區 塊,而所有"過時"磁區並不被複製,此程序稱之為"磁區 合併’’,在每一磁區合併之後,在該區塊中之每一實體磁 區被指派一獨一的邏輯磁區。 為了在啟動時將該磁區/頁對照資訊回覆至,該快 ◎ 己憶體在每-磁區/頁之備用位置具有至少6位元,因 此,圖9中之快閃記憶體可更新為圖21所示之快閃記憶 體’在其中定義有邏輯頁位址412A( LPA )。 本發明快閃記憶體控制器也提供了雙通道處理來改 善快閃記憶體系統的性能。雙通道提供一個第二通道,或 所明的肖速公路’,,來執行快閃記憶體設備和快閃記憶 f控制器之間的處理。傳統的快閃記憶體控制器使用一個 單=的記憶體匯流排可以連接到一個或更多的快閃記憶 體設備。儘管如此,傳統的架構限制了傳統快閃記憶體控 47 200915339 制器的性能。 根據本發明,系統使用了至少2 每個記憶體匯流排連接 4龍机排集。 憶體控制器可以… 閃記憶體設備。快閃記 果就是,雙通道處 獨存取這些快閃記憶體設備。結 、處理被執行的速度可一 個記憶體匯流排還可關展記憶龍流㈣倍此外’母 本發明快閃記憶體控制器也可以進行交替操作 Ο Ο 使用一個帶有-個或多個快閃記憶體 ‘二::::::::排:广如此,傳統㈣記 此,值纪ΛΛ 存取一個快閃記憶體設備。儘管如 =的架構限制了傳統快閃記憶體控制器的性能。 情體控制’至少需要用到一組或兩組額外的快閃記 獨的…能和繁_。此 、 記隐體匯流排,至少右0 Jm lb 遠极$,ι # ^ 主〆有2個快閃記憶體設備 者寫記憶體匯流排。當料—個單^忙於讀或 本發明快閃記憶體控制器可以存取一個快閃記憶 又相應地,本發明快閃記憶體控制器可以完全利用 Μ體^匯流排,因此極大地提高了性能。此外,快閃 控引聊數量也通過共用記憶體輪入輸出和 的成:少,這樣也減少了製造快閃記憶體設備 =據本發明’可以把集成多塊存取、多單元交替存取 通道操作集成到一個記憶體存期週期單晶片來達 到性能最優化。 48 200915339 根據本發明,快閃記憶體控制器可以使用USB,也可 以使用PCI Express插入和插座系統。當然,快閃記憶體 控制器可以在其他包括SD、MMC、MS、CF、IDE和STAT 等插入和插座系統的實施方式中。 根據本文揭示的系統和方法,本發明提供了許多的優 點。如把快閃記憶體管理和主機其他智慧從主機轉移到快 閃Z憶體控制器,以便主機系統不需要快閃記憶體的配置 〇 貝訊就可以和快閃記憶體控制器互相影響;例如快閃記憶 體控制器提供LBA_T〇_pBA轉換,舊的磁區回收和平均損 耗演算法等,此外,回收操作還是在後臺被執行的;此外 還排,了快閃記憶體專用定義包和標諸;此外快閃記憶體 控制器提供了多塊資料存取、多通道處理和多單元交替存 取等因此,在保持對USB和ASIC架構相容性的同時, 快閃記憶體的寫入和讀取資料得到了極大的增長。 、本發明揭示了一個用於控制快閃記憶體卡的系統和 〇 方法。^系統和方法由一個接收至少一個來自主機的請求 的處理益一個由查詢表和實體使用表組成的索引。該索 將來自主機的邏輯塊位址轉換為快閃記憶體的實體塊 。 、索引還包含了作為快閃記憶體配置的資訊。處理 器可以利用該帝3丨办 京弓丨來判斷快閃記憶體中可用於編程、再編The example shows how to protect a multi-written magnetic area. Assume that the magnetic area 2 has 2k bytes of data space and is empty. As shown in Figure 20a and Table 2a, the write command is received. The 512-bit tuple of the region address 8 'the controller can find an empty physical magnetic region (such as the magnetic region 2 of this example) for writing, so in fact, the magnetic region 2 is partially written to the lk bit. The tuple data, as shown in Figure 2, is ribbed and the table is not. Then, another command is received to write the remaining space in the logical sector address 8, and the controller does not write the data to the physical magnetic area because this will result in Programming, the controller finds the next empty magnetic region (in this example, the physical magnetic region 3) as the target magnetic region' which reads the data previously written in the physical magnetic region 2 and associates it with The newly received data is merged, and then the entire 2k byte data is written to the magnetic zone 3 (target magnetic zone). The final state is shown in Table 2c and Figure 20c, and Figure 20d shows most of the MLC flash memory. Not supported and the controller should avoid the actions of the solution described here. When the received logical sector number is read from Table 2c, the controller 46 200915339 searches for the logical sector number only from the bottom to the top of Table 2C. The first matching magnetic region is the latest magnetic region, for example The physical magnetic region 3 has a value of 8' and _search 8" in the table 2c, which is the first magnetic region, so the physical magnetic region 3 is the magnetic region that is most updated to the logical magnetic region 8, and the entity The magnetic zone 2 can be regarded as an "obsolete" magnetic zone (i.e., useless readout data). However, in this way, a physical block having an N magnetic zone (page) (e.g., N = 128) may not have N Logical magnetic domain, because a logical magnetic domain occupies two or more physical magnetic regions. When the controller detects that a bottom block (the last) magnetic region of a block is written, for example, The value of the magnetic zone N in the table is not a magnetic zone indicating empty (for example, when N=128 is not equal to 127), the controller can find another empty block and move all the newly updated magnetic zones to the new block. And all "obsolete" magnetic regions are not copied, this program is called "magnetic zone merge'', merged in each magnetic zone Thereafter, each physical magnetic zone in the block is assigned a unique logical magnetic zone. In order to reply the magnetic zone/page control information to the start-up, the fast memory is in the per-magnetic zone/ The alternate position of the page has at least 6 bits, so the flash memory in FIG. 9 can be updated to the flash memory shown in FIG. 21 in which the logical page address 412A (LPA) is defined. The memory controller also provides dual channel processing to improve the performance of the flash memory system. The dual channel provides a second channel, or the known Xiaospeed Highway', to perform flash memory devices and flash memory. Processing between controllers. Traditional flash memory controllers can be connected to one or more flash memory devices using a single = memory bus. However, traditional architectures limit traditional flash memory. Body Control 47 200915339 The performance of the controller. According to the invention, the system uses at least 2 memory busbars to connect 4 dragon machine rows. The memory controller can be... Flash memory device. Flash memory is, two channels Access these separately Flash memory device. The speed at which the junction and processing are performed can be a memory bus. It can also shut down the memory stream (4) times. In addition, the female flash memory controller can also perform alternate operations. Ο Use one with - One or more flash memories 'two:::::::: row: wide so, traditional (four) remember this, value ΛΛ access to a flash memory device. Although the architecture like = limits the traditional flash The performance of the memory controller. The morphological control 'At least one or two sets of additional flash flashing... can be used. This, remember the hidden bus, at least right J J lb far $, ι # ^ The main memory has 2 flash memory devices to write memory bus. When a single-busy read or flash memory controller of the present invention can access a flash memory, the flash memory controller of the present invention can fully utilize the bus body bus, thereby greatly improving the performance. In addition, the number of flash control chats is also reduced by the shared memory wheeled output and output, which also reduces the manufacturing of flash memory devices. According to the present invention, integrated multi-block access and multi-cell alternate access can be implemented. Channel operation is integrated into a single memory-storage cycle to achieve performance optimization. 48 200915339 According to the present invention, the flash memory controller can use USB or a PCI Express plug-in and socket system. Of course, the flash memory controller can be implemented in other implementations including plug-in and socket systems such as SD, MMC, MS, CF, IDE, and STAT. The present invention provides a number of advantages in accordance with the systems and methods disclosed herein. For example, the flash memory management and other wisdom of the host are transferred from the host to the flash Z memory controller, so that the host system does not require the configuration of the flash memory, and the flash memory controller can interact with the flash memory controller; for example; The flash memory controller provides LBA_T〇_pBA conversion, old magnetic area recovery and average loss algorithm, etc. In addition, the recovery operation is executed in the background; in addition, the flash memory dedicated definition package and standard are also arranged. In addition, the flash memory controller provides multiple data access, multi-channel processing, and multi-cell alternate access. Therefore, while maintaining compatibility with the USB and ASIC architecture, flash memory writes and Reading data has grown tremendously. The present invention discloses a system and method for controlling a flash memory card. The system and method consists of an index that receives at least one request from the host, an index consisting of a lookup table and an entity usage table. This cable converts the logical block address from the host into a solid block of flash memory. The index also contains information that is configured as a flash memory. The processor can use the Emperor's 3D to calculate the flash memory for programming and re-editing.

程和讀取的磁ps· HCheng and read magnetic ps·H

πβ °快閃記憶體控制器此外還包括一個迴圈 先進先出(FIFO、,田I ) 用於回收舊磁區使得它們可用於再編 程。回收操作包合 匕含了複製和擦除操作,這都是在後臺完成 的’因此對主嫵i μ + 系統來說都是不可見的。相應地,管理快 49 Ο Ο 200915339 閃記憶體和相關智慧由快閃記憶體控制器而不是主機系 統完成,結果,主機系統不需要快閃記憶體的配置資訊就 可以和快閃記憶體控制器互相影響。因此在保持對υ犯和 ASIC架構相容性的同時,快閃記憶體的寫入和讀取資料 得到了極大的增長。 、’ 儘管本文上下文描述的本發明所述為一個帶有或者 不帶有指紋驗證功能的電子資料快閃記憶體卡,但是本發 明可能在健保留它的精神和範_應用於其他類型的 =系統。此外,儘管本文上下文描述的本發明所述為 標準’但是本發明可能在仍然保留它的精神和範圍内 應用於其他類型標準。因此,本發 ^ ^ ^ 々贫月的貢施方式可以通過 人^、軟體、包含程式指令的電腦可讀媒體或者它們的複 口體。因此’還可以從本文的精神和附加的權利要求出發 通過對文中的—個普通的技能的進行多種多樣的修改。 【圖式簡單說明】 圖1為本發明一種實施方式的帶有指紋驗證功能的電子資 料快閃記憶體卡的結構示意框圖。 圖2為本發明另一種實施方式的料 電路結構示意框圖。 卄决閃3己憶體卡的 圖3為本發明另—種實施方式的用 卡的處理單元的結構示意框圖。 胃枓快閃兄憶體 圖4A為本發明第一種實施方式 處理流程圖。 檢㈣閃記憶體類型的 50 200915339 資料快閃記憶體卡 圖4B為本發明另一種實施方式中電子 局部的結構示意框圖。 圖5A為8位處理器存取 意框圖。 8位元資料快閃記憶 體的結構示 16位元資料快閃記,隐體的結構 圖5B為16位處理器存取 示意框圖。 〇 圖50為16位雙通道處理器通過單控制器存取 資料快閃記憶體的結構示意框圓。 兩個8位元 圖5D為根據本發明第一種實 裡耳施方式,採用16位元交 道處理器通過單獨控制考在 τ巧幻^列盗吞取兩個8位开咨极u» 0日& ^ ^ J似δ诅兀貢枓快閃記憶體 的結構不意框圖〇 圖6為本發明另一種實施方式φ蕾工达』丨丨^ ^万式中電子資料快閃記憶體卡的 電路模组結構示意框圖。 圖為本發月3有决閃,己憶體控制器和快閃記憶體的㈣ 記憶體系統的結構示意框圖。The πβ ° flash memory controller also includes a loop FIFO (FIFO, Field I) for recycling old magnetic areas so they can be used for reprogramming. The recycle operation package contains both copy and erase operations, which are done in the background 'and therefore are invisible to the host μi μ + system. Accordingly, the management speed is 49 Ο Ο 200915339 Flash memory and related wisdom are completed by the flash memory controller instead of the host system. As a result, the host system does not require the flash memory configuration information and the flash memory controller. Influence each other. Therefore, while maintaining the compatibility of the hacker and the ASIC architecture, the write and read data of the flash memory has been greatly increased. 'Although the invention described in the context of this document describes an electronic data flash memory card with or without fingerprint verification, the present invention may retain its spirit and paradigm in health_ applied to other types of systems. . Furthermore, although the invention described herein is described as standard in the context of the invention, the invention may be applied to other types of standards within the spirit and scope of the invention. Therefore, the method of giving a tribute to the poor moon can be done by means of humans, software, computer readable media containing program instructions or their multiplexes. Thus, departures may be made from the spirit of the invention and the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic block diagram showing the structure of an electronic data flash memory card with a fingerprint verification function according to an embodiment of the present invention. Fig. 2 is a schematic block diagram showing the structure of a material circuit according to another embodiment of the present invention. Fig. 3 is a schematic block diagram showing the structure of a processing unit for a card according to another embodiment of the present invention.枓 枓 枓 兄 图 图 Figure 4A is a process flow diagram of the first embodiment of the present invention. Detecting (4) Flash Memory Type 50 200915339 Data Flash Memory Card FIG. 4B is a schematic block diagram showing the structure of an electronic portion in another embodiment of the present invention. Figure 5A is an 8-bit processor access block diagram. 8-bit data flash memory structure shows 16-bit data flash, hidden structure Figure 5B is a 16-bit processor access schematic block diagram. 〇 Figure 50 shows the structure of a 16-bit dual-channel processor that accesses the data flash memory through a single controller. Two 8-bit graphs 5D are the first type of real-ear implementation according to the present invention, using a 16-bit cross-talk processor to control two octaves through a separate control test. The structure of the day & ^ ^ J like δ 诅兀 诅兀 枓 枓 枓 枓 枓 〇 〇 6 6 6 6 6 6 另一 另一 另一 另一 另一 工 工 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ A schematic block diagram of the circuit module structure. The figure is a schematic block diagram of the structure of the (4) memory system of the memory controller and the flash memory.

圖8為本發明圖7中寫查詢表、讀查詢表、實體用法表和 回收先進先出單元的具體結構示意框圖。 圖9為本發明圖7中快閃記憶體的具體結構示意框圖。 圖10為本發明用於f理快閃記憶體的方法的高位流程圖。 圖11為本發明用於傳輸USB大容量級服務請求的方法的 流程圖。 圖12A、12B、12C分別為本發明命令塊包裹、命令讀格 式化簡化塊、命令狀態包裹的結構示意框圖。 圖13為本發明用於讀、寫、擦除方法的流程圖。 51 200915339 圖μ為本發明包含寫處理的第—相位、寫處理的第二相 位、讀處理和回收管理方法的高位流程圓。 圖ba'hhc'bd分別為根據本發明從寫處理第一、 第二相位得出的代表性結果的示意框圖。 圖16為實現圖丨4寫處理第一相位方法的流程圖。 圖17為實現圖14寫處理第二相位方法的流程圖。 圖18為實現圖14讀處理方法的流程圖。 圖19為實現圖14回收管理的方法的流程圖。 圖20a-20d顯示在MLC(MBC)快閃記憶體系統中所遭遇之 多重時間編寫問題之一範例。 圓21顯示一實體頁之一實施例。 【主要元件符號說明】 ’卞體 2, 2A,2C處理單元 3, 3A’ 3B1,3B2, 3C快閃記憶體設備 〇 介面電路 4指紋感測器 5,^,%輸入/輪出 6, 6A顯示單元 7雷调 8, 8A功能鍵設置單元 9, 9A主機 1〇, l〇A,l〇B,10c電子資料快閃記憶體卡 12讀卡器 13介面匯流排 21,21B,21C快閃記憶體控制器 22電源調節器 23重置電路 24隨機存取存儲區 以,152唯讀記憶體 26靜態區$ 27動態區域 52 200915339 52主機系統 110快閃記憶體控制器 116主機系統介面 122串列介面引擎 130塊傳輪單元 134邏輯塊位址寄存器 140 磁區 fifo 148中斷處理器 1 7 0寫查詢表 180實體使用表 190 FIFO 194, 196讀指標 404備用區域 406壞塊指示區域 410擦除計數器區域 702命令塊封裝 Ο 1〇〇快閃記憶體系統 112快閃記憶體 120設備收發器 124,125,126,126 端點 132傳輸長度寄存器 142 FIFO非空中斷信號 15〇處理器 172讀查詢表 1 86快閃記憶體介面控制器 192寫指標 402資料區域 414特殊壞塊指示器區域 408錯誤糾正代碼區域 412邏輯塊位址區域 Ο 704精簡的塊命令讀取格式 706和命令狀態封裝 502, 504, 602, 604, 606, 608, 802, 804, 806, 810, 812, 814, 820, 822, 828, 830, 832, 834, 836, 902, 904, 906, 910, 920, 930, 940, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1302, 1304, 1306, 1308, 1309, 1310, 1312, 1314, 1316, 1317, 1318, 1320, 1402, 1404, 1406, 1408, 1410 步驟 53FIG. 8 is a schematic block diagram showing the specific structure of the write lookup table, the read lookup table, the entity usage table, and the recycling FIFO unit of FIG. 7 of the present invention. FIG. 9 is a schematic block diagram showing the specific structure of the flash memory in FIG. 7 of the present invention. Figure 10 is a high level flow chart of a method for processing flash memory in accordance with the present invention. Figure 11 is a flow diagram of a method for transmitting a USB bulk capacity service request in accordance with the present invention. 12A, 12B, and 12C are block diagrams showing the structure of a command block wrap, a command read format simplified block, and a command status wrap, respectively. Figure 13 is a flow chart of a method for reading, writing, and erasing according to the present invention. 51 200915339 Figure μ is a high-order flow circle including the first phase of the write process, the second phase of the write process, the read process, and the recycle management method. Figure ba'hhc'bd is a schematic block diagram of representative results derived from the first and second phases of the write process, respectively, in accordance with the present invention. FIG. 16 is a flow chart of a method for implementing the first phase of the write processing of FIG. Figure 17 is a flow chart showing the method of implementing the second phase of the write process of Figure 14. Figure 18 is a flow chart for implementing the read processing method of Figure 14. 19 is a flow chart of a method of implementing the recovery management of FIG. Figures 20a-20d show an example of multiple time programming problems encountered in an MLC (MBC) flash memory system. Circle 21 shows an embodiment of a physical page. [Main component symbol description] '卞 2, 2A, 2C processing unit 3, 3A' 3B1, 3B2, 3C flash memory device 〇 interface circuit 4 fingerprint sensor 5, ^, % input / round out 6, 6A Display unit 7 Thunder 8, 8A function key setting unit 9, 9A host 1〇, l〇A, l〇B, 10c electronic data flash memory card 12 card reader 13 interface bus 21, 21B, 21C flash Memory controller 22 power conditioner 23 reset circuit 24 random access memory area, 152 read only memory 26 static area $ 27 dynamic area 52 200915339 52 host system 110 flash memory controller 116 host system interface 122 string Column interface engine 130 block transfer unit 134 logic block address register 140 magnetic area fifo 148 interrupt processor 1 70 write query table 180 entity use table 190 FIFO 194, 196 read indicator 404 spare area 406 bad block indication area 410 erase Counter area 702 command block package Ο 1 〇〇 flash memory system 112 flash memory 120 device transceiver 124, 125, 126, 126 endpoint 132 transfer length register 142 FIFO non-null interrupt signal 15 〇 processor 172 read query table 1 86 flash memory interface Controller 192 writes indicator 402 data area 414 special bad block indicator area 408 error correction code area 412 logical block address area 704 704 compact block command read format 706 and command status package 502, 504, 602, 604, 606, 608, 802, 804, 806, 810, 812, 814, 820, 822, 828, 830, 832, 834, 836, 902, 904, 906, 910, 920, 930, 940, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1302, 1304, 1306, 1308, 1309, 1310, 1312, 1314, 1316, 1317, 1318, 1320, 1402, 1404, 1406, 1408, 1410 Step 53

Claims (1)

200915339 十、申請專利範圍·· 1. -種適配可建立通喊接的 快閃:憶體卡,所述的電子資料快閃記憶體貝料 -於卡體上的快閃記憶體設備 :大=儲資料槽案的非易失性存儲單二 多=早?包含至少一種單階存儲單…C)類及 夕階存儲早兀(MLC )類記憶單元;200915339 X. The scope of application for patents·· 1. The type of adaptation can establish a flash of screaming: the memory card, the electronic data flash memory beaker - the flash memory device on the card body: Large = non-volatile storage of the data storage case more than two = early? Included in at least one single-order memory list...C) class and a memory store early memory (MLC) class memory unit; Ο 備二=一卡體上,並經由電性連接所述快閃記憶體設 備和所述輸入輸出介面電路的快閃記憶體控制器;和 一輸入輸出介面電路。 2 .如權利要求i所述的電子資料快閃記憶體卡,直 中該SLC記憶單元包含每f2k位元組之記憶單元及每頁 4k位元組之記憶單元。 3 .如權利要求丨所述的電子資料快閃記憶體卡,其 中該MLC s己憶單元包含每頁2k位元組之記憶單元及每頁 4k位元組之記憶單元。 4 如權利要求丨所述的電子資料快閃記憶體卡,其 更包含複數個裝設在該電子資料快閃記憶體卡之快閃記 憶體控制器。 5 ·如權利要求1所述的電子資料快閃記憶體卡,其 中該快閃記憶體控制器係用以管理每頁2k位元組之SLC s己憶單元、每頁4k位元組之SLC記憶單元、每頁2k位元 組之MLC記憶單元、每頁4k位元組之MLC記愧單元之 至少其中一種。 54 200915339 6 .如權利要求1所述的電子資料快閃記憶體卡,其 中該快閃記憶體控制器係用以管理SLC及MLC記憶單元。 • 7 .如權利要求1所述的電子資料快閃記憶體卡,其 • 中該快閃記憶體控制器係用以執行頁對照及磁區合併,以 避免多次編寫該MLC類快閃記憶體單元之一磁區。 8 ·如權利要求7所述的電子資料快閃記憶體卡,其 中該快閃記憶體控制器執行之磁區合併包含·· 接收資料及一將該資料寫入至該MLC類快閃記憶體 單元之部分寫入實體磁區的要求; 回應該要求; 指定該MLC類快閃記憶體單元之一下一空實體磁區 為一目標磁區; 由該部分寫入實體磁區讀出資料; 將由該部分寫入實體磁區讀出之資料與收到之資料 合併以形成一合併資料;及 將該合併資料寫入至目標磁區。 55Preparing two = one card body and electrically connecting the flash memory device and the flash memory controller of the input/output interface circuit; and an input/output interface circuit. The electronic data flash memory card of claim 1, wherein the SLC memory unit comprises a memory unit of every f2k bytes and a memory unit of 4k bytes per page. The electronic data flash memory card of claim 3, wherein the MLC memory unit comprises a memory unit of 2k bytes per page and a memory unit of 4k bytes per page. The electronic data flash memory card of claim 3, further comprising a plurality of flash memory controllers mounted on the electronic data flash memory card. The electronic data flash memory card of claim 1 , wherein the flash memory controller is configured to manage SLC s memory cells of 2k bytes per page, and SLC of 4k bytes per page. At least one of a memory unit, an MLC memory unit of 2k bytes per page, and an MLC recording unit of 4k bytes per page. 54 200915339 6. The electronic data flash memory card of claim 1, wherein the flash memory controller is for managing SLC and MLC memory units. 7. The electronic data flash memory card of claim 1, wherein the flash memory controller is configured to perform page comparison and magnetic zone merging to avoid writing the MLC type flash memory multiple times. One of the magnetic units of the body unit. 8. The electronic data flash memory card of claim 7, wherein the magnetic zone combination performed by the flash memory controller comprises: receiving data and writing the data to the MLC type flash memory. The part of the unit is required to be written into the physical magnetic zone; the response is required; the next empty physical magnetic zone of one of the MLC-type flash memory cells is designated as a target magnetic zone; the physical magnetic zone is read by the part to read the data; The data read by the partially written physical magnetic zone is combined with the received data to form a combined data; and the combined data is written to the target magnetic zone. 55
TW96148378A 2007-09-28 2007-12-18 Electronic data flash card with various flash memory cells TW200915339A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/864,671 US20080071973A1 (en) 2000-01-06 2007-09-28 Electronic data flash card with various flash memory cells

Publications (1)

Publication Number Publication Date
TW200915339A true TW200915339A (en) 2009-04-01

Family

ID=40517355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96148378A TW200915339A (en) 2007-09-28 2007-12-18 Electronic data flash card with various flash memory cells

Country Status (2)

Country Link
CN (1) CN101398785A (en)
TW (1) TW200915339A (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5310348B2 (en) * 2009-07-17 2013-10-09 ソニー株式会社 Receiving device, receiving method, program, and transmitting device
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
CN102567209B (en) * 2010-12-21 2015-03-04 厦门市美亚柏科信息股份有限公司 Flash memory chip data analyzing method and flash memory chip data analyzing device
KR101893145B1 (en) * 2011-12-06 2018-10-05 삼성전자주식회사 Memory systems and block copy methods thereof
TWI649759B (en) * 2017-09-28 2019-02-01 慧榮科技股份有限公司 Data storage device and method for writing data into memory device
CN109934023A (en) * 2017-12-19 2019-06-25 陈新 Intelligent and safe storage control
CN108109665A (en) * 2018-01-12 2018-06-01 成都信息工程大学 A kind of memory operating method
CN112582017B (en) * 2020-12-30 2024-08-13 东芯半导体股份有限公司 Semiconductor memory device and test method thereof
CN114816571B (en) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 Method, device, equipment and storage medium for plug-in flash memory
US12067240B2 (en) * 2022-09-30 2024-08-20 Silicon Motion, Inc. Flash memory scheme capable of automatically generating or removing dummy data portion of full page data by using flash memory device

Also Published As

Publication number Publication date
CN101398785A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
US7702831B2 (en) Flash memory controller for electronic data flash card
TW200915339A (en) Electronic data flash card with various flash memory cells
TWI351605B (en) Managing bad blocks in flash memory for electronic
TW200915080A (en) Flash memory controller for electronic data flash card
US7318117B2 (en) Managing flash memory including recycling obsolete sectors
US7690031B2 (en) Managing bad blocks in flash memory for electronic data flash card
US20080071977A1 (en) Electronic data flash card with various flash memory cells
US20080320209A1 (en) High Performance and Endurance Non-volatile Memory Based Storage Systems
US7299316B2 (en) Memory flash card reader employing an indexing scheme
US20080082736A1 (en) Managing bad blocks in various flash memory cells for electronic data flash card
US12360665B2 (en) Storage device for executing processing code and operating method of the storage device
JP2014513484A (en) Cryptographic transport solid state disk controller
CN112992231B (en) Data storage device and parameter rewriting method
TW201207621A (en) Method for dispatching and transmitting data stream, memory controller and memory storage apparatus
CN118733494A (en) Memory controller, memory system and operation method thereof
CN117093137A (en) Embedded storage device, host system having same and operating method thereof
KR20230092173A (en) Operating method of host device, operating method of storage device, and electronic device
CN117573208B (en) Instruction information distribution method and memory storage device
CN116108442A (en) Secure processor, operating method thereof, and storage device including the secure processor
KR20220045342A (en) Host device, Data storage device, Data processing system and Data processing method
KR102547251B1 (en) Controller for controlling nonvolatile memory device, storage device having the same, and operating method thereof
TWI893792B (en) Command responding method, memory storage device and memory control circuit unit
US20240402945A1 (en) Storage device and prefetch method thereof
KR20200114208A (en) Controller, memory system and operating method of the controller
TWI705330B (en) Data storage device and parameter rewrite method thereof