TW200917017A - Mass production testing of USB flash cards with various flash memory cells - Google Patents

Mass production testing of USB flash cards with various flash memory cells Download PDF

Info

Publication number
TW200917017A
TW200917017A TW97108510A TW97108510A TW200917017A TW 200917017 A TW200917017 A TW 200917017A TW 97108510 A TW97108510 A TW 97108510A TW 97108510 A TW97108510 A TW 97108510A TW 200917017 A TW200917017 A TW 200917017A
Authority
TW
Taiwan
Prior art keywords
usb
block
flash memory
formatting
data
Prior art date
Application number
TW97108510A
Other languages
Chinese (zh)
Other versions
TWI351599B (en
Inventor
David Q Chow
Abraham Chih Kang Ma
Edward W Lee
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/871,117 external-priority patent/US7788553B2/en
Application filed by Super Talent Electronics Inc filed Critical Super Talent Electronics Inc
Publication of TW200917017A publication Critical patent/TW200917017A/en
Application granted granted Critical
Publication of TWI351599B publication Critical patent/TWI351599B/en

Links

Landscapes

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

Abstract

A high volume testing/formatting process is provided for Universal Serial Bus-based (USB-based) electronic data flash cards (USB devices) that meets the increasing demand for USB electronic data flash cards (USB devices). A test host is simultaneously coupled to the multiple USB devices (e. g. , using a multi-port card reader or a probe fixture), a controller endpoint value is read from each of the USB devices and verified with a known good value, and then testing/formatting is performed on each of the USB devices by writing predetermined data into each USB device in a pipelined manner, then reading out and testing the predetermined data. In one embodiment, the test host implements a special USB driver that blocks standard USB registration procedures upon detecting the plurality of USB devices. Control and/or boot code data are written onto the flash memory device (i. e. , instead of being provided on a controller ROM)

Description

200917017 九、發明說明: 本申請案是正處於申請中的美國專利申請號11/626, 347之「High Volume Testing for USB Electronic Data Flash Cards」的部 分連續案(CIP),其中美國專利申請號11/626, 347之申請曰期係 2007年1月23日,此案亦為於2000年1月6日申請的美國案-申請序號 09/478, 720 之「Electronic Data Storage Medium with Fingerprint Verification Capability」及 2006 年 8 月 23 日申 請的美國案-申請序號 11/466, 759 之「Flash Memory Controller For Electronic Data Flash Card」之部分連續案(CIP),而美國 申請序號11/466,759又是為於2004年2月26曰申請的美國案, 但現在已撤鎖之申請序號10/789,333「System and Method for controlling Flash Memory」的部分連續案(CIP)。本申請案亦與 在1999年8月4曰申請的美國申請案號09/366,976,而專利案號 是 6, 547, 130 的「Integrated circuit card with fingerprint verification capability」有關0 本申請案也是2007年4月19曰申請的美國專利申請號 11/737,336 之「Cell-Downgrading and Reference-Voltage Adjustment for a Multi- bit-cell Flash Memory」的部分連續 案(CIP),其中美國專利申請號11/737,336亦為於2000年1月6 曰申請的美國案-申請序號09/478, 720之「Electronic Data Storage Medium with Fingerprint Verification Capability」 及2006年8月23日申請的美國案-申請序號11/466, 759之「Flash 200917017200917017 IX. INSTRUCTIONS: This application is a continuation (CIP) of "High Volume Testing for USB Electronic Data Flash Cards" of U.S. Patent Application Serial No. 11/626,347, the entire disclosure of which is incorporated herein by reference. The application period of 626, 347 is January 23, 2007. The case is also the US Patent Application No. 09/478, 720 of the "Electronic Data Storage Medium with Fingerprint Verification Capability" filed on January 6, 2000. The US case filed on August 23, 2006 - Part of the serial file (CIP) of the "Flash Memory Controller For Electronic Data Flash Card" numbered 11/466, 759, and the US application number 11/466,759 is for 2004 The US case filed on February 26, but the partial case (CIP) of the application number 10/789,333 "System and Method for controlling Flash Memory" has been withdrawn. This application is also related to the US Application Serial No. 09/366,976 filed on August 4, 1999, and the "Integrated circuit card with fingerprint verification capability" of the patent number 6, 547, 130. A partial continuous case (CIP) of "Cell-Downgrading and Reference-Voltage Adjustment for a Multi-bit-cell Flash Memory" of U.S. Patent Application Serial No. 11/737,336, the entire disclosure of which is incorporated herein by reference. US Patent Application for January 6, 2000 - Application No. 09/478, 720 "Electronic Data Storage Medium with Fingerprint Verification Capability" and US Patent Application No. 11/466, 759, filed on August 23, 2006 "Flash 200917017"

Memory Controller For Electronic Data Flash Card」之部分 連續案(CIP),而美國申請序號11/466,759又是為於2004年2月 26日申請的美國案’但現在已撤銷之申請序號l〇/789,333「System and Method for control 1 ing Flash Memory」的部分連續案(CIP)。 本申請案也是2007年9月28曰申請的美國專利申請號 11/864,696 「Backward Compatible Extended Usb plug And Receptable With Dual Personality」的部分連續案,其中專利 申請號11/864, 696又是2007年1月18曰申請的美國專利申請號 11/624, 667「Electronic Data Storage Medium With Fingerprint Verification Capability」的部分連續案,且專利申請號 11/624,667是2000年1月6日申請的美國專利申請號09/478, 720 的分割案,亦是2007年2月13日申請的美國申請號11/674,645 「Recycling Partially-Stale Flash Blocks Using a Sliding Window for Multi-Level-Cell(MLC) Flash Memory」的部分連續 案;本申請案是於2007年4月30曰申請的美國專利申請號 11/742,270 「Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited Write Flash-Memories」的部分連續案;本申請案是2007年1月18曰 申請的美國專利申請號 11/624, 667「Electronic Data Storage Medium With Fingerprint Verification Capability」的部分連 續案,且專利申請號11/624,667是2000年1月6曰申請的美國 200917017 專利申請號09/478,720的分割案;本申請案是2004年5月25日 申請的美國專利申請號 10/854, 004「Extended Secure-Digital Card Devices and Hosts」的部分連續案,且專利申請號 10/854,004是美國專利申請號10/708,172,現為美國專利號 7,021,971的部分連續案。 本申請案也是2007年10月3曰申請的美國專利申請號 11/866,927 之「Extended USB Plug, USB PCBA and MLC USB Flash Drive with Dua 卜 Personality」的部分連續案(CIP)。 上述之申請案與專利的揭露可納入,於此作為參考整體引述。 【發明所屬之技術領域】 本發明係關於一種電子資料快閃卡,特別係一種用於在製造 期間測試USB電子資料快閃卡的系統與方法。 【先前技術】 機密資料檔案常儲存在軟磁碟機(fl〇ppy disk),或者是透 過冑碼或使加t編碼以確保安全#網路來傳送,且機密資 料標案在傳送過程中會藉由加入安全圖章(紐的與水印 (water mark)來發送。然、’一旦密碼、加密編碼、安全圖章與印 記遭破解,則機密資料财與文件就暴露在危險之中,而造成無 權限者可使用此機密資訊。 因為快閃記憶體技術變得更加决 &加先進,所以對於行動系統 (mobile system)而言,快閃記愔牌 ^體正逐漸取代傳統作為儲存媒 介的磁碟機。快閃記憶體相對於较 軟墙磲機或磁性硬碟具有顯著的 200917017 優勢’例如具有高G衝震阻力與低功率消耗。由於快閃記憶體的體 積小’故對於行動系統亦更有傳導性。於是,因其與可攜式(行動) 系統的相容性和低功率特色,快閃記憶體之趨勢已經逐漸成長。 USB電子資料快閃卡(flashcard)係可攜帶性及低功率的裝 置其和用通用序列匯流排(USB)技術,作為電腦主機和快閃卡之快 閃記憶體裝置的介面,j_USB電子資料快閃卡具有多種形式,例 如筆式驅⑽存裝置、MP3播放器、數位相機。在每—個例子中, USB電子資料快閃記憶卡一般包括一快閃記憶體裳置,一處理器及 USB介面電路。 由於USB電子資料快問卡快速的流行,υ3β電子資料記憶卡 (或USB决閃卡)之製造量持續成長。隨著增加製造量,製造業 所面臨的問題是在裝運到終端使用者之前,如何有效及可靠地測 試U S B快閃卡。為了低成本、相容性及可靠度之因素,習知的測 試方法係利用-個人電腦⑽去測言式_快閃+ (即最終端使用 者-般係使用USB快閃卡與pC相連,於購買後將能夠快速、可靠 地使用USB快閃卡)。這種習知使用pc之測試方法所具有的問題 疋:k的PC window (或)操作系統一次只有支援一些USB 裝置,且對於操作系統來彳貞測及魏_快閃卡,需要大量的時 間用手插《又每- USB快閃卡,然後用手拔除每—娜快閃卡。因 此,習知的測試方法無法跟上製造產量的增加。 有鐘於此,係有需要一種大量測試方法,以滿足對於哪電 200917017 子資料快閃卡需求增加之需要。 【發明内容】 本發明之主要係在提供—種電子資料快閃卡,其包括一快閃 記憶體裝置…可選配的指紋感測器,—輸人/輸出介面電路,及 一處理器。電子資料快閃卡適合受—主機電腦所使用,例如個人 電腦、筆記型電腦或其他電子主機I置。由於電子資料快閃卡較 容易攜帶且耐用,個人資料能以加密的方式儲存在快閃記憶體震 置内’故就可如湘與卡本體結合的指紋感測器,讓只有指紋吻 合者才能使用記憶卡’確保非權限者無法使用記憶卡。Part of the Continuous Case (CIP) of the Memory Controller For Electronic Data Flash Card, and US Application No. 11/466,759 is the US case filed on February 26, 2004, but the application number that has been revoked is now l〇/789,333" Partial Continuity (CIP) for System and Method for control 1 ing Flash Memory. This application is also a continuation-in-part of U.S. Patent Application Serial No. 11/864,696, entitled "Backward Compatible Extended Usb plug And Receptable With Dual Personality", filed September 28, 2007, in which Patent Application No. 11/864,696 is again in 2007. U.S. Patent Application Serial No. 11/624,667, the entire disclosure of which is incorporated herein by reference. The division of /478, 720 is also a partial succession of the US Application No. 11/674,645 "Recycling Partially-Stale Flash Blocks Using a Sliding Window for Multi-Level-Cell (MLC) Flash Memory" filed on February 13, 2007. The present application is a partial continuation of US Patent Application No. 11/742,270, "Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited Write Flash-Memories", filed on April 30, 2007; U.S. Patent Application Serial No. 11/624,667, filed Jan. A continuation of the ication Capability, and the patent application No. 11/624,667 is a division of US Patent Application No. 09/478,720, filed on Jan. 6, 2000, filed on Jan. 25, 2004. A contiguous version of the application Serial No. 10/854, 004, "Extended Secure-Digital Card Devices and Hosts", and the patent application number 10/854, 004 is U.S. Patent Application Serial No. 10/708,172, which is hereby incorporated herein by reference. This application is also a partial continuation (CIP) of "Extended USB Plug, USB PCBA and MLC USB Flash Drive with Dua Personality" of U.S. Patent Application Serial No. 11/866,927, filed on Oct. 3, 2007. The disclosures of the above-identified applications and patents are hereby incorporated by reference. BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to an electronic data flash card, and more particularly to a system and method for testing a USB electronic data flash card during manufacture. [Prior Art] Confidential data files are often stored in a soft disk drive (fl〇ppy disk), or transmitted through a weight or t code to ensure security #network, and the confidential data file will be borrowed during transmission. By adding a security stamp (new and watermark) to send. However, once the password, encryption code, security stamp and imprint are cracked, confidential information and documents are exposed to danger, resulting in no permission This confidential information can be used. Because flash memory technology has become more advanced & advanced, the flash memory card is gradually replacing the traditional disk drive as a storage medium for the mobile system. Flash memory has a significant 200917017 advantage over soft wall smashers or magnetic hard disks', for example, high G shock resistance and low power consumption. Due to the small size of the flash memory, it is more conductive to the mobile system. Therefore, due to its compatibility with portable (mobile) systems and low power features, the trend of flash memory has gradually grown. USB electronic data flash card (flashc) Ard) is a portable and low-power device that uses Universal Serial Bus (USB) technology as the interface for the flash memory device of the host computer and flash card. The j_USB electronic data flash card has various forms, such as Pen drive (10) storage device, MP3 player, digital camera. In each case, USB electronic data flash memory card generally includes a flash memory, a processor and a USB interface circuit. The fast-paced card is popular, and the manufacturing volume of the β3β electronic data memory card (or USB flash card) continues to grow. With the increase in manufacturing volume, the problem facing the manufacturing industry is how to be effective and reliable before shipment to the end user. Test the USB flash card. For the reasons of low cost, compatibility and reliability, the traditional test method uses the personal computer (10) to test the language _ flash + (that is, the most end user - the general use of USB The flash card is connected to the pC and will be able to use the USB flash card quickly and reliably after purchase. This is a problem with the PC test method: k PC window (or) operating system only once Aid some USB devices, and for the operating system to speculate and Wei_flash card, it takes a lot of time to manually insert the "every-USB flash card, and then manually remove each-na flash card. Therefore, Xi Known test methods can not keep up with the increase in manufacturing yield. There is a need for a large number of test methods to meet the need for which 200917017 sub-data flash card needs to be increased. [Summary of the Invention] Providing an electronic data flash card, comprising a flash memory device, an optional fingerprint sensor, an input/output interface circuit, and a processor. The electronic data flash card is suitable for receiving the host Used by computers, such as personal computers, notebook computers, or other electronic hosts. Since the electronic data flash card is easy to carry and durable, the personal data can be stored in the flash memory in an encrypted manner. Therefore, the fingerprint sensor can be combined with the card body, so that only the fingerprint can be matched. Use a memory card to ensure that a non-authorized person cannot use the memory card.

本發明亦對基於通用序列匯流排(USB_based)的電子資料快 間卡(USB裝置)’提供-種大量測試/格式化過程,以滿足電子資 料快閃卡(USB裝置)曰益增加的需求。本發明提供裝置之大 量測試/格式化的方法與系統,利用一測試主機同時耦接至多頭的 USB裝置(例如一具有多插槽的讀卡機或一探針治具),從每一 usb 裝置磧取一控制器端點值,且利用一已知良好值確認此控制器端 點值,然後,對每個USB裝置進行格式化,以”管線”方式對每 個USB裝置寫入預定的資料。USB裝置之後被讀取出來以進行測 試,測試這些預定資料。在一實施例中,測試主機利用特定的usb 驅動器於偵測到多數USB裝置時,會阻止標準USB註冊程序。本 發明在測試/格式化前,忽略習知的USB註冊程序與確認控制器端 點值’透過刪除耗時且不必要的註冊過程以助於有效且大量測试/ 格式化USB裝置。此外,本發明以”管線”方式將資料寫入USB 200917017 裝置中,係助於大量測試/格式化USB裝置’大大地減少生產時間。 根據本發明之一方面’修改每個USB裝置,將所選定的控制 碼與啟動碼資料'裝置資訊與組態資訊儲存在快閃記憶體震置 上,以減小控制器ROM之尺寸。因為習知的USB註冊過程需要使 用很多這種控制碼、啟動碼、裝置資訊、組態資訊(因為習知的 USB註冊過程假定這種碼與資訊係從控制器ROM中取得),所以勿 略習知USB註冊過程係提供避免系統失敗或長久延遲的功能,因 當未格式化的USB裝置(具空白快閃記憶體裝置)耦接測試主機 系統’主機系統會等待這控制瑪、啟動碼與資訊。 根據本發明之另一方面,測試/格式化過程的目的係包括檢杳 所有的晶片是否正確的被焊接、目前消耗程度是否符合規格、每 個元件裝置(例如控制器與快閃記憶體裝置)與測試主機實施的 測試/格式化是否相容。格式化過程提供下載正確的控制器操作所 需的所有進入點數值、抹除快閃記憶體、建立剩餘的不良區塊清 單(bad-block—list)檔案以便於曰後不良區塊管理,並提供助 於0S辨識的低階格式化。 根據本發明之—實施例,在測試/袼式化過程的初始階段所讀 取的控制ϋ無值純括-組態描述符值、—大量儲存類別瑪值 與-產品辨識值。當從每個裝置所讀取的控制器端點值係與 儲存在測試主機的良好數值匹配時,則顯示於測試主機監視器上 的旗標會表示成功狀態(例如旗標從紅色變成綠色)。 200917017 根據本發明之另一實施例’測試/格式化過程包括將掃瞒不良 區塊資料之一個或多個儲存在快閃記憶體裝置内,確認每個快閃 記憶體裝置所儲備的儲存容量和一預定大小是否相等(例如整個 記憶體容直的特定比例),至少兩份不良區塊資料副本寫入至快閃 記憶體裝置中,控制碼與/或啟動碼寫入至快閃記憶體裝置中,所 提供的客戶資料寫入至快閃記憶體裝置中,以及更新序號、曰期 碼、產品版本碼值寫入至快閃記憶體裝置中。 底下藉由具體實施例配合所附的圖式詳加說明,當更容易瞭解 本發明之目的、技術内容、特點及其所達成之功效。 【實施方式】 本發明係關於對製造電子資料快閃卡之方法上的改進,雖然 本發明以下係以USB電子資料快閃卡為具體參考,但本發明之創 新處疋可使用於廣泛的快閃卡類型之製造,包括pci ,The present invention also provides a large number of test/formatting processes for electronic data flash cards (USB devices) based on Universal Serial Bus (USB_based) to meet the increased demand for electronic data flash cards (USB devices). The present invention provides a method and system for extensive testing/formatting of a device, using a test host coupled to a multi-head USB device (eg, a multi-slot card reader or a probe fixture), from each usb The device retrieves a controller endpoint value and confirms the controller endpoint value with a known good value, and then formats each USB device to write a predetermined subscription to each USB device in a "pipeline" manner. data. The USB device is then read out for testing to test the predetermined data. In one embodiment, the test host utilizes a particular usb drive to block the standard USB registration process when most USB devices are detected. Prior to testing/formatting, the present invention ignores the conventional USB registration procedure and confirms the controller endpoint value' by deleting the time consuming and unnecessary registration process to facilitate efficient and extensive testing/formatting of the USB device. In addition, the present invention writes data in a "pipeline" manner into a USB 2009 17017 device, which aids in the large number of test/format USB devices' greatly reducing production time. In accordance with one aspect of the invention, each USB device is modified to store the selected control code and activation code data 'device information and configuration information' on the flash memory to reduce the size of the controller ROM. Because the conventional USB registration process requires the use of many such control codes, boot codes, device information, and configuration information (because the conventional USB registration process assumes that such codes and information are retrieved from the controller ROM), The conventional USB registration process provides a function to avoid system failure or long delay, because when an unformatted USB device (with a blank flash memory device) is coupled to the test host system, the host system will wait for this control, the boot code and News. In accordance with another aspect of the invention, the purpose of the test/formatting process includes checking that all of the wafers are properly soldered, whether the current level of consumption meets specifications, and each component device (eg, controller and flash memory device). Compatible with the test/formatting implemented by the test host. The formatting process provides all the entry point values needed to download the correct controller operation, erases the flash memory, creates the remaining bad-block-list file for later bad block management, and Provides low-level formatting to aid in OS recognition. In accordance with an embodiment of the present invention, the control read during the initial phase of the test/saling process has no value-only configuration descriptor values, a large number of stored class values, and a product identification value. When the controller endpoint value read from each device matches a good value stored on the test host, the flag displayed on the test host monitor indicates a successful status (eg, the flag changes from red to green) . 200917017 According to another embodiment of the present invention, the test/formatting process includes storing one or more of the bad broom block data in a flash memory device to confirm the storage capacity of each flash memory device. Whether a predetermined size is equal (for example, a specific ratio of the entire memory capacity), at least two copies of the bad block data are written to the flash memory device, and the control code and/or the boot code are written to the flash memory. In the device, the provided customer data is written into the flash memory device, and the update serial number, the date code, and the product version code value are written into the flash memory device. The purpose, technical contents, features and effects achieved by the present invention will become more apparent from the detailed description of the embodiments and the accompanying drawings. [Embodiment] The present invention relates to an improvement on a method for manufacturing an electronic data flash card. Although the present invention uses a USB electronic data flash card as a specific reference below, the innovation of the present invention can be used for a wide range of fast. Flash card type manufacturing, including pci,

Secure Digital (SD)^ Memory Stick ( MS) · Compact Flash ( CF ) > IDE及SATA陕閃δ己憶卡,但並不侷限於上述之這些快閃卡類型。 參照第1(A)圖,根據本發明之一實施例,一電子資料快閃卡 10係透過外部(主機)電腦9藉由任一介面匯流排( bus) 13或-讀卡機(圖中未示)或其他介面機制(圖中未示)而 吏用且電子:貝料快閃卡1〇包括一卡本體卜一處理單元2,一 或夕個的决閃,己憶體裝置3,可選配的指紋感測器(保全裝置) 輸人/輸出介面電路5’ -可選配的顯示單元6,一可選配的 電源7 (例如電池)’及-可選配的功能性按鍵組8。 12 200917017 快閃記憶體裝置3是裝設在卡本體1上,以熟知方式將資料 檔案、參考密碼、指紋參考資料存於其内’其中指紋參考資料係 藉由掃描有權使用資料檔案者之指紋而取得。資料檔案可以是圖 片檔或文字檔。以下會進一步提出’快閃記憶體裝置3也包括啟 動碼資料與控制碼資料。 指紋感測器4係位在卡本體1上’且用於掃瞄電子資料快閃 卡之使用者的指紋以產生指紋掃瞄資料。用在本發明的指紋感測 器4之一例子係揭示在美國專利號6, 547, 130之「INTEGRATED CIRCUIT CARD WITH FINGERPRINT VERIFICATION CAPABILITY」中, 整個内容可在此納入做為參考。在上述專利案中所敘述的指紋感 測器乃包括一掃瞄單元陣列來定義一指紋掃瞄區域。指紋掃瞒資 料包括複數掃瞄線資料(scan line data),其係藉由掃瞄掃瞄單 元之陣列對應的知目苗線而取得。且,掃猫單元陣列之掃猫線係以 此陣列的橫向方向及縱向方向掃瞄。每一個掃瞄單元在偵測卡本 體之握持者的指紋突起(ridge)部分時會產生一第一邏輯訊號, 在4貞測卡本體之握持者的指紋凹下(va 11 ey)部分時會產生一第 二邏輯訊號。 輸入/輸出介面電路5係位在卡本體1上,藉由一介面匯流排 5B或一讀卡機使用一適當的插座(socket ),以受到致動而與主機 電腦建立通訊關係。在一實施例中,輸入/輸出介面電路5包括電 路及控制邏輯’其中控制邏輯係與通用序列匯流排(USB) ' PCmca、 13 200917017 RS232介面結構之其中之一有關,以連接至一與主機電腦9連接或 位在主機電腦9上的插座。在另一實施例中,輸入/輸出介面電路 5可包括一 SD介面電路、一 MMC介面電路、一 CF介面電路、一 MS介面電路、一 PCI-Express介面電路、一整合驅動電子(IDE) 介面電路及一 SATA介面電路之其中之一,藉由介面匯流排13或 讀卡機與電腦主機9接觸。 處理單元2係位在卡本體1上,且利用位在卡本體1上的相 關導電線路或導線連接記憶體裝置3、指紋感測器4與輸入/輸出 介面電路5。在一實施例中,處理單元2可以是如Intel公司所出 產的8051、8052、80286微處理器之其中之一。在其他實施例中, 處理單元2包括一 RISC、ARM、ΜIPS或其他訊號處理器。根據本 發明之一觀點,處理單元2受至少部分儲存於快閃記憶體裝置3 的程式所控制,如此處理單元係選擇性地可操作在:(1)一程式化 模式(programming mode)’其中處理單元2致動輸入/輸出介面 電路5接收來自主機電腦的資料檔案,啟動碼資料與控制碼資料、 可選擇的指紋參考資料,及儲存儲存資料在快閃記憶體裝置内(可 選擇以壓縮格式增加記憶體裝置的儲存空間);(2)—重設模式 (reset mode ),其中啟動碼資料與控制碼資料係從快閃記憶體裝 置3讀取出來,並被用於設定及控制處理單元的操作;(3)—資料 擷取模式(data retrieving mode ),其中處理單元2從指紋感測 器4讀取指紋掃瞄資料,並將指紋掃瞄資料與快閃記憶體裝置3 14 200917017 内之至少一部分的指紋參考資料做比較,以確認電子資料快閃卡 的使用者是否有權使用儲存於快閃記憶體裝置3内的資料檔案, 且一旦確認使用者有權使用存於快閃記憶體裝置3内的資料檔 案,則致動輸入/輸出介面電路5傳送資料檔案至主機電腦9; (4) 一碼更新模式(code updat i ng mode ),更新在快閃記憶體裝置内 的啟動碼資料與控制碼資料;(5)—資料重設模式(data reset mode),從快閃記憶體裝置3抹除資料檔案與指紋參考資料。在操 作方面,主機電腦9透過讀卡機或介面匯流排13傳送寫入要求與 讀取要求至電子資料快閃卡10,輸入/輸出介面電路傳送至處理單 元2’輪流使用快閃記憶體控制器對一個或多個快閃記憶體裝置3 讀取或寫入。在一實施例中,處理單元2 —偵測到從資料檔案與 指紋參考資料儲存在記憶體裝置3, 一預設時間週期已經過去後, 就會自動初始化資料重置模式操作。 8051、8052與80286係由Intel公司所發展出來的微處理器, 係使用複雜的指令組。8051與8052具有8位元的資料匯流排, 80286具有16位元的資料匯流排。RIsc、ARM、MIPS係使用減少 指令組架構的微處理器。8051與8052廣泛用於低成本的應用。 80286可以用於高速操作的應用。RISC、ARM、Mips係成本較高的 微處理器’比較適合更複雜的應用,例如先進的錯誤修正碼(ECC) 與資料解碼。 可選配的電源7係位在卡本體1上,且連接至處理單元2與其 15 200917017 他位在卡本體上的相關單元,以供應其所需的電力。 可選配的功能性按鍵組8係位在卡本體1上並連接至處理單元 2,且係可操作以便處理單元2在程式化、重設、資料擷取、碼更 新或資料重設模式中選擇其中之一開始操作。功能性按鍵組8係 可操作來對處理單元2提供一輸入密碼。處理單元2將輸入密碼 與存在快閃記憶體裝置3的參考密碼比較,一旦確認輸入密碼與 參考密碼一致,電子資料快閃卡10開始授權操作。 可選配的顯示單元6係位在卡本體1上,且連接至處理單元2 並受到處理單元2之控制,用以顯示與主機電腦9交換的資料檔 案及顯示電子資料快閃卡10的操作狀態。 以下是揭示本發明之一些優點:首先,電子資料記憶卡具有 小體積卻具很大的儲存容量,藉此在資料傳送過程中造成便利 性;第二,因為每一個人所具有的指紋是獨一無二的,所以電子 資料快閃卡只允許有權限者使用儲存於其内的資料檔案,藉此加 強安全性。 本發明之其他的特徵與優點會在以下進一步提出。 第1(B)圖為根據本發明之另一實施例,顯示電子資料快閃卡 10A的方塊圖,是提供一般的感測器單元4A代替上述的指紋感測 器。示範的感測器單元包括能夠偵測有權限使用者之生理特徵的 視網膜掃描器或聲音辨識裝置,且操作方式與上述的指紋感測器4 類似。 16 200917017 第1(C)圖為根據本發明之另—實施例,顯示電子f料快閃卡 10B的方塊圖。電子資料快閃卡⑽❺去指紋感測器與相關使用者 辨識過程。為了使成本降低,電子資料快閃卡⑽也包括一高整 合的處理單it 2B,其含有-輸人/輪出介面電路沾與―快間記憶 體控制器21。輸入/輸出介面電路邛包括一收發區塊 (transceiver block)與連續介面弓丨擎區塊(seHai恤咖⑶ engine bl〇ck)、資料緩衝器、暫存器、中斷邏輯。輸入/輸出介 面電路5B純至㈣匯流排以允許輸人/輸出介面電路5B之不同 元件和快閃記憶體控制器21之不Μ件間與快閃記憶體控制器的 元件溝通。快閃記憶體控制器21包括—微處理單元…唯讀記憶 體(_)、-靜態隨機存取記憶體(_、_議控制器邏輯、 、曰誤t正碼邏輯、通用型之輸入輪出(G刚)邏輯。在本實施例中, ^用型之輸人輸出(GPIG)邏輯_複數個二極體來作為狀齡示,例如 指示電力良好或讀取/寫閃摔 谓,舌動等,且GPI0邏輯連接其他I/O裝置。 快閃記憶體控制器21則叙 锅接個或多個快閃記憶體裝置3B。 在本實施例中,主機電 @ 9δ包括一功能性按鍵組8B’當電子 資料快閃卡10Β在操作,透 „ οη 還過項卡機或介面匯流排連接至處理單 70 。功能性按鍵組8Β可用;^ & ..s . j用於從程式化 '重設、資料擷取、程式 ,、、更新或資料重設模式 1Πβ ^ ’選擇性設定電子資料快閃卡 。功能性按鍵組8β 9Ββ處理單〜 作提供—輸人密碼給主機電腦 构入密碼與存在快閃記憶體裝置3Β的參考密 17 200917017 碼比較,確認輸人密碼與參考密碼—致,電子資料快閃卡⑽ 開始授權操作。 同時在本實施例中,主機電腦9B包括-顯示單元6B,當電子 資料f夬閃卡1GB在操作’透過讀卡機或介面匯流排連接至處理單 兀2B。顯不單兀6B用以顯示與主機電腦8交換的資料棺案及顯示 電子資料快閃卡10B的操作狀態。 〜據本發月之冑施例,處理單元2包括—快閃記憶體類型 决异法(flash贴啊type alg〇rithm),用於㈣快閃記憶體 員里疋否又到决閃5己憶體控制器所支配。由於效能、成本與容量之 因素’快閃記憶體的進步已產生多種快閃記憶體類型。又因潛在 的知缺與成本因素’需要快閃記憶體來源彈性化及需要特有的 控制制不同㈣記憶類性,所以湘具有智慧型演算法的處理 單元來偵測及使用不同的快閃記憶體類型是重要的。—般的快閃 記憶體包含辨識⑽碼以辨識快閃記憶體的類型、製造者、快閃 記憶體的特徵/參數,例如頁(障)容量、區塊大小、組織、容量 等特徵/參數。智慧型演算法控制處理單元2在重設(⑽⑷狀態 讀取快閃記憶體3的Π),及將此_受快閃記憶體控制器所支配 ㈣之表(table)比較。假如快閃記憶體3沒有受 、門》己It體控制H支配’快閃記憶體控制器將不能使用快閃記 :3 不相#性會戈到快閃記憶體控制器輸出端的lED所指 示。假如快閃記憶體有受到支配,在快閃記憶體控制器開始使用 200917017Secure Digital (SD)^ Memory Stick (MS) · Compact Flash (CF) > IDE and SATA flash memory, but not limited to these types of flash cards. Referring to FIG. 1(A), an electronic data flash card 10 is transmitted through an external (host) computer 9 through any interface bus 13 or card reader according to an embodiment of the present invention (in the figure) Not shown) or other interface mechanism (not shown) and electronic: the material flash card 1 〇 includes a card body, a processing unit 2, a flash or a flash, a memory device 3, Optional fingerprint sensor (security device) Input/output interface circuit 5' - Optional display unit 6, an optional power supply 7 (eg battery)' and - optional functional buttons Group 8. 12 200917017 The flash memory device 3 is mounted on the card body 1 and stores the data file, the reference password and the fingerprint reference data in a well-known manner. The fingerprint reference data is scanned by the person who has the right to use the data file. Obtained by fingerprint. The data file can be a picture file or a text file. It will be further suggested below that the flash memory device 3 also includes starter code data and control code data. The fingerprint sensor 4 is located on the card body 1 and is used to scan the fingerprint of the user of the electronic data flash card to generate fingerprint scanning data. An example of a fingerprint sensor 4 for use in the present invention is disclosed in "INTEGRATED CIRCUIT CARD WITH FINGERPRINT VERIFICATION CAPABILITY" in U.S. Patent No. 6,547,130, the entire disclosure of which is incorporated herein by reference. The fingerprint sensor described in the above patent includes a scan unit array to define a fingerprint scan area. The fingerprint broom data includes a plurality of scan line data obtained by scanning the eyebrow line corresponding to the array of scan cells. Moreover, the sweeping cat line of the swept cat unit array is scanned in the lateral and longitudinal directions of the array. Each of the scanning units generates a first logic signal when detecting the fingerprint portion of the holder of the card body, and the fingerprint of the holder of the card body is recessed (va 11 ey) A second logic signal is generated. The input/output interface circuit 5 is located on the card body 1. The interface bus 5B or a card reader uses a suitable socket to be activated to establish a communication relationship with the host computer. In one embodiment, the input/output interface circuit 5 includes circuitry and control logic 'where the control logic is associated with one of the Universal Serial Bus (USB) 'PCmca, 13 2009 17017 RS232 interface structure to connect to a host The computer 9 is connected or a socket located on the host computer 9. In another embodiment, the input/output interface circuit 5 can include an SD interface circuit, an MMC interface circuit, a CF interface circuit, an MS interface circuit, a PCI-Express interface circuit, and an integrated driver electronics (IDE) interface. One of the circuit and a SATA interface circuit is in contact with the host computer 9 via the interface bus 13 or the card reader. The processing unit 2 is fastened to the card body 1, and is connected to the memory device 3, the fingerprint sensor 4, and the input/output interface circuit 5 by means of related conductive lines or wires positioned on the card body 1. In one embodiment, processing unit 2 may be one of the 8051, 8052, 80286 microprocessors produced by Intel Corporation. In other embodiments, processing unit 2 includes a RISC, ARM, Μ IPS or other signal processor. According to one aspect of the invention, the processing unit 2 is controlled by a program at least partially stored in the flash memory device 3, such that the processing unit is selectively operable in: (1) a programming mode The processing unit 2 actuates the input/output interface circuit 5 to receive the data file from the host computer, the boot code data and the control code data, the optional fingerprint reference data, and the stored and stored data in the flash memory device (optional compression) The format increases the storage space of the memory device); (2) - reset mode, wherein the boot code data and the control code data are read from the flash memory device 3 and used for setting and controlling processing The operation of the unit; (3) - data retrieving mode, wherein the processing unit 2 reads the fingerprint scan data from the fingerprint sensor 4, and scans the fingerprint data with the flash memory device 3 14 200917017 Compare at least a portion of the fingerprint reference data to confirm whether the user of the electronic data flash card has the right to use the information stored in the flash memory device 3 File, and once it is confirmed that the user has the right to use the data file stored in the flash memory device 3, the input/output interface circuit 5 is activated to transmit the data file to the host computer 9; (4) One code update mode (code updat) i ng mode ), update the startup code data and control code data in the flash memory device; (5) - data reset mode, erase the data file and fingerprint reference from the flash memory device 3 data. In operation, the host computer 9 transmits the write request and read request to the electronic data flash card 10 through the card reader or interface bus 13, and the input/output interface circuit transmits to the processing unit 2' in turn using the flash memory control. The device reads or writes to one or more flash memory devices 3. In an embodiment, the processing unit 2 detects that the data file and the fingerprint reference data are stored in the memory device 3. After a predetermined time period has elapsed, the data reset mode operation is automatically initialized. The 8051, 8052, and 80286 are microprocessors developed by Intel Corporation that use complex instruction sets. The 8051 and 8052 have an 8-bit data bus, and the 80286 has a 16-bit data bus. RIsc, ARM, and MIPS use microprocessors that reduce the instruction set architecture. The 8051 and 8052 are widely used in low cost applications. The 80286 can be used for high speed operation applications. RISC, ARM, and Mips are more expensive microprocessors' for more complex applications such as advanced error correction code (ECC) and data decoding. An optional power supply 7 is located on the card body 1 and is connected to the processing unit 2 and its associated unit on the card body to supply its required power. An optional functional button set 8 is attached to the card body 1 and connected to the processing unit 2, and is operable to process the unit 2 in a stylization, reset, data capture, code update or data reset mode. Choose one of them to get started. The functional button set 8 is operable to provide an input password to the processing unit 2. The processing unit 2 compares the input password with the reference password stored in the flash memory device 3, and upon confirming that the input password matches the reference password, the electronic data flash card 10 begins the authorization operation. The optional display unit 6 is located on the card body 1 and is connected to the processing unit 2 and controlled by the processing unit 2 for displaying the data file exchanged with the host computer 9 and displaying the operation of the electronic data flash card 10. status. The following are some of the advantages of the present invention: First, the electronic data memory card has a small size but a large storage capacity, thereby facilitating the data transfer process; second, because each person has a unique fingerprint. Therefore, the electronic data flash card only allows authorized users to use the data files stored in it to enhance security. Other features and advantages of the present invention are further set forth below. Fig. 1(B) is a block diagram showing an electronic data flash card 10A according to another embodiment of the present invention, in which a general sensor unit 4A is provided instead of the above-described fingerprint sensor. The exemplary sensor unit includes a retinal scanner or sound recognition device capable of detecting physiological characteristics of a privileged user, and operates in a manner similar to fingerprint sensor 4 described above. 16 200917017 Figure 1(C) is a block diagram showing an electronic f flash card 10B in accordance with another embodiment of the present invention. The electronic data flash card (10) removes the fingerprint sensor and related user identification process. In order to reduce the cost, the electronic data flash card (10) also includes a highly integrated processing unit it 2B, which contains an input/intake interface circuit and a fast memory controller 21. The input/output interface circuit includes a transceiver block and a continuous interface block (seHai shirt (3) engine bl〇ck), a data buffer, a register, and an interrupt logic. The input/output interface circuit 5B is pure to the (4) bus bar to allow communication between the different components of the input/output interface circuit 5B and the components of the flash memory controller 21 to the components of the flash memory controller. The flash memory controller 21 includes a micro processing unit... a read only memory (_), a static random access memory (_, a controller logic, a false positive code logic, a universal input wheel). In the present embodiment, the type of input output (GPIG) logic _ plural diodes is used as the age indicator, for example, indicating good power or reading/writing flashing, tongue The GPI0 is logically connected to other I/O devices. The flash memory controller 21 is connected to one or more flash memory devices 3B. In this embodiment, the host computer @9δ includes a functional button. Group 8B' is used when the electronic data flash card is operating, and is connected to the processing unit 70. The functional button group 8 is available; ^ & ..s. j is used for the program 'Reset, data capture, program,, update or data reset mode 1Πβ ^ 'Selectively set electronic data flash card. Functional button group 8β 9Ββ processing single ~ Provide - Input password to host computer structure Enter the password and compare it with the reference code of the flash memory device 3Β 2009-1717 Confirming the input password and the reference password - the electronic data flash card (10) starts the authorization operation. Also in this embodiment, the host computer 9B includes - the display unit 6B, when the electronic data f flash card 1GB is in operation 'through reading The card machine or interface bus is connected to the processing unit 2B. The display unit 6B is used to display the data file exchanged with the host computer 8 and display the operation status of the electronic data flash card 10B. The processing unit 2 includes a flash memory type singularity method (flash ah type alg 〇 hm hm), which is used for (4) flash memory personnel, and is not supported by the flash memory. Factors of cost and capacity 'The advancement of flash memory has produced a variety of flash memory types. And because of the potential gaps and cost factors, 'the need for flash memory source flexibility and the need for unique control systems (4) memory Sex, it is important that Xiang has a processing unit of intelligent algorithms to detect and use different types of flash memory. The general flash memory contains identification (10) codes to identify the type of flash memory. Characteristics/parameters of flash memory, such as page (barrier) capacity, block size, organization, capacity, etc. The intelligent algorithm control processing unit 2 is reset ((10)(4) state read flash memory 3), and compare this table with the flash memory controller (4). If the flash memory 3 is not affected, the door "It's controlled by the body control H" flash memory controller You will not be able to use the flash: 3 does not correspond to the lED indicated by the output of the flash memory controller. If the flash memory is subject to control, use the flash memory controller to start using 200917017.

快閃記憶體之前,快閃記憶體控制器以下述方式進行。例如,正 在申請中的美國專利序號11/466, 759之「FUSiI MEM〇RY CONTROLLER FOR ELECTRONIC DATA FLASH CARD」中揭示具有此種 智慧型演算法的快閃記憶體控制器,於此將其納入參考。 電子資料快閃卡係一種快閃記憶體系統,使用快閃記憶體來資 料儲存,一般快閃記憶體之系統架構係包括具有處理器、R〇M與 ram的快閃記憶體控制器,其中啟動碼與控制碼係位在r〇m中作為 _碼。-旦功率上升,處理器抓取啟動碼來執行,啟動碼初始化 系統組成與下載控制碼至RAM中。一旦控制碼下載至RAM中,控 制碼即掌握系統的控制。控制碼包括驅動器以執行如控制及分配 記憶體 '分g己處理指令的優先順序、控制輸入與輸料等基本任 務。控制碼A包括快閃類型偵測演算法與快閃記憶體參數資料。 匪是-種唯讀記憶體,當快閃記憶體控制器設計完成且進入 生產後,S ROM内的軟體碼係固定不動,且不能受更改以支援往 後才供應至市場的新快閃類型。在這種狀況下,就必須發展新的 快閃記憶體控制器以不時支援新的快閃記憶體,因此是耗時又耗 錢。 第1(D)圖係更詳細地顯示第i⑻圖的處理單元2八。電子資料 快閃卡UM包括-電源調節器’以提供—個或多個電源供應器。 電源調節器依據電力需求’提供不同的電壓給處理單元2a及電子 資料快閃卡的其他相關單^。為了保持電力敎,可能需要 19 200917017 電容器(圖中未示)。電子資料快閃卡10A包括一重設電路23以 提供一重設訊號(reset signal)至處理單元2A,一旦功率上升, 重設電路23確立重設訊號至所有的處理單元2A。在内部電壓達到 一穩定狀態後,重設訊號不存在,且提供暫存器與電容器(圖中 未示)以適當重設時間調整。電子資料快閃卡10A也包括一石英 晶體振盪器(圖中未示),以提供基頻給位在處理單元2A内的PLL。 根據本發明之一實施例,輸入/輸出介面電路5A與重設電路 23、電源調節器22係整合或部分整合在處理單元2A中。高整合 可減少整個所需空間,及降低複雜度與製造成本。對於可移除裝 置而言,如於此所敘述的電子資料快閃卡,緊緻性與降低成本係 關鍵因素。當今的1C封裝可以將不同的1C元件用不同的技術與 物質整合至單一 IC封裝中。例如,輸入/輸出介面電路係類比/數 位混合電路,其也能夠整合至具有處理單元的多晶片封裝 (Multi-Chip package,MCP)之中。混合式訊號1C技術的性質係 容許類比與數位電路的混合。因此,高整合可以併入至相同的晶 片/晶粒中,使處理單元含有輸入/輸出介面電路、快閃記憶體控 制器、重設電路、電源調節器。 根據本發明之另一方面,電子資料快閃卡包括啟動碼與控制 碼存在快閃記憶體中,而並非存在快閃記憶體控制器的ROM中。 因此啟動碼與控制碼可以在此領域中受到更新,而無須改變快閃 記憶體控制器。例如,正在申請中且申請日係2006年12月13曰 20 200917017 的美國專利申請序號 11/611,811 之「FLASH MEMORY CONTROLLER FOR ELECTRONIC DATA FLASH CARD」中,揭示啟動碼與控制瑪儲 存在快閃記憶體中,於此將其納入參考。 第2圖係根據本發明之另一實施例,顯示製造USB裝置的主要 方法流程圖,且從第3(A)至3(B)圖係簡化過的平面示意圖,顯示 在製造過程不同階段期間的USB裝置。參照第2圖的方塊50,製 造方法一開始是利用如表面貼裝技術(SMT),將USB裝置的所有 元件裝設在面板上(例如快閃記憶體、控制器、及所有的被動元 件’如電阻與電容),其中面板包括多個印刷電路板pCB。第3(A) 圖顯示一示範的SMT面板211,其具有多個印刷電路板裝置211, 沿著個別邊緣連接在—起’可助於不同SMT元件有效率的組裝’ 这些SMT το件如包括控制器晶片、快閃晶片、與其他元件。pcB 裝置212包括線路以助於在不同SMT元件間及在控制器晶片212 與四個USB接腳217 (即VDD、D+、D-與GND)間的電性連接。請 再參照第2圖’接著對個別PCBt置進行測試/格式化,根據本發 月所使用的過程’其進—步揭示於底下。在一實施例中,面板211 (參第3⑷圖)係根據單—化(singulation)(方塊52A),藉 此各個PCB震置可以受切割或互相分離然後單一 pcB裝置212 (參第3 (A) ®)就依據測試/格式化程序(方塊52B)。在另一 實施例中’當PCB裝置212仍連接面板211接受測試(方塊53A), 然後受格式化/測試的PCB裝置受單—化(方塊53B)。其中,發明 200917017 人目前較喜歡測試/格式化的PCB裝置212係允許多個PCB裝置 212維持在一固定關係,以藉由單一治具(f i xture)來測試,藉 此以避免額外的處理時間來處理各個PCB裝置212 (例如將PCB 裝置212 —片一片的插入在單一測試固定裝置中)。請再參照第2 圖,每一個已經成功完成測試/格式化的PCB裝置212會接收產品 封裝(方塊54),藉模製或裝設一本體在每一 PCB裝置212的元件 上,接著完成USB裝置10B的最後測試(方塊55),就可準備運送。 且,請注意在方塊55所進行的最後測試係不同於在方塊52B與53A 所進行的測試/格式化,因為所有的初始内容係下載至每一被封裝 的裝置10B中,方塊55所進行的最後測試係關於一簡單的插入 (plug-in)測試檢驗,例如檢驗裝置能力以確保終端使用者滿意。 第4(A)圖與第4(B)圖係各別顯示根據本發明測試/格式化USB裝 置的示範系統示意圖。第4(A)圖係根據第2圖的方塊52B,顯示 一用於測試單一 PCB裝置的第一系統(可參照如底下的受測試裝 置(Devices under test, DUT))。第一系統包括一 PC測試主機(例 如通用型個人電腦)202,一監視器201,一 USB複合讀卡機204 與其他必要周邊I/O設備,例如鍵盤與滑鼠(圖中未示)。在一實 施例中,所有的測試參數都顯示在監視器201上以監控測試狀態, 其中有色旗標(flag)係用於分辨測試通過或失敗,在測試過程中 所使用的一些參數可受操作者輸入,如監控器201上所示的參數。 USB讀卡機204包括多個(16個以上)USB插槽,每一插槽根據監 22 200917017 視。i的旗標而具有—指定錢(例如^卜#2等)。讀卡機 20透過般的ϋδΒ傳輸線連接至—測試主機撤的標準腦插槽 203而與測4主機2Q2連接。當每—受測試裝置(腿)插入多重 喂卡機204之-對應槔(p〇n)中多重讀卡機2〇4透過腿插槽 連接至測試主機202 ’當谓剩到每一插入的腿,會於監視器 201上產生-相對應的旗標以反應此偵測結果(例如,一旦债測 到相對應的旗標會從紅色轉變呈綠色)。第4⑻圖顯示一第二系 統’利用探針治具—bing仏㈣)測試事先裝設好且仍連接 面板211 & PCB裝置212。第二系統包括一 SMT探針測試主機(例 如通用型電腦)207 ’監視器如,—探針治具2G5,與其他必要 周邊K)裝置。探針治具2G5包括複數被聚集起來的測試探針2〇6, 以當治具205降低至面板211上時,用於接觸每一 pCB裝置212 的USB接腳217。探針206提供四個訊號路徑,用於格式化/測試 面板211上的每一裝置。另,一集合電纜208係用於將治具2叩 連接至測試主機207。第5(A)圖係一簡化的流程圖,顯示習知使 用一種傳統USB測試系統利用一傳統主機作業系統(〇s)之 驅動器(方塊301)來測試、格式化一習知USB裝置。如方塊3〇2 所示’一旦連接一習知USB裝置至一主機系統,主機〇s暫存習知 USB之受測試裝置(DUT)所使用的事先建立USB協定。這事先建 立的USB協定是基於假設特定裝置資料(例如在測試前,裝置辨 識與序號可為相同的)係儲存提供於DUT上的控制器之唯讀記憶 23 200917017 體裝置的—預定位置上。此外,事先建立的㈣協定需要註冊程序一欠 進行-個DUT (即在開始對另一隱進行註冊程序之前,必須先對—個晴 完成-個註冊程序)。且,一旦失敗,全部的將等到操作者重新安裴此 程序後才開始。如方塊3G2所示,利用這些事先建立的咖協定Ό 具有的問題疋得花_多時間去註冊每—個哪,並要將這些註冊資 料儲存在主機0S的暫存區(registry bank)中(且最後存在主 機的硬碟中)’且不適合同時測試/格式化大量的DUT。利用這此事 先建立的USB協定所具有的額外問題是與新的USB裝置並不相办 (啟動碼、控制碼及元件與裝置的辨識資料係儲存在快閃記憶體 裝置中’並非是在ROM之預定位置上)。如方塊3〇4與3〇5所示, 因為根據本發明所形成的未測試/未格式化裝置,係不包含元件辨 識序號與產品辨識號碼,習知之事先設定USB協定可能會造成主 機測試系統中斷(hang up)(方塊306 ),或得花一段時間來完成 測試(方塊307),且/或只是無法完成格式化/測試過裎(方塊 3〇8)。第5(B)圖係一簡化流程圖,顯示根據本發明另一實施例之 測試與格式化新的USB裝置。如方塊501所示’新的軟體被下裁 至測試主機,以阻擋傳統作業系統(0S)之USB驅動器而進行一 專用USB測試。阻擋習知〇S之USB驅動器的目的是為藉由刪除註 冊程序所花費的時間,使測試時間縮短。此專用USB測試則通過 部分註冊程序是從USB裝置要求資料(並非寫入至快閃記憶體裝 置内),而藉由USB裝置之控制器直接寫入開始程式碼、控制喝與 24 200917017 裝置辨識資料之至少其中之—至快閃敦置中來開始測試/格式化 過程。尤其,如方塊502所示,為避免—次需超過16個USB裝置 之-般几長的註冊轉’在測試线系統魏行的測試/格式化軟 體係被修改成讀取控制器的硬性編碼描述符(hard-coded descnptQr)值並將這些描述符值與所儲存的程式參數作比較,以 確認DUT準備受格式化和提供DUT正確參數以用於正常操作後才 開始。只有連續的檢驗將持續軟體流程。接著,如方塊5〇3所示, 為了使USB裝置讓終端客戶使用者使用,主要啟動區塊(master b〇〇t block,MBR)、檔案配置表(FAT)與初始系統檔案係寫入至快閃裝 置内。因為傳統的USB裝置在初始系統操作是使用唯讀記憶體(ROM) 來正確地程式化’所以傳統的USB裝置將不會進行格式化過程。 這個程式化步驟對於製造軟體目的且助於後續使用是很重要的。 此外’如方塊504所示,幾個寫入至快閃裝置的值係滿足USB的 規格°裝置序號就是這種值,且寫入至每一裝置的裝置序號係隨 測試操作者利用軟體輸入某個起始值而隨機或接續改變。其他變 數’例如產品辨識號碼(ID)也需要受不同產品或體積容量而改 變。再者,習知作業系統(0S)之USB註冊驅動器(registry driver ) 沒有進行這些值與變數寫入程式,因此使得容量USB測試是不可 行的。 如方塊505、506與507所示,本發明對於習知的作業系統之 USB註冊驅動器並提供幾個好處,即因為本發明利用特別指定的製 25 200917017 造軟體,所以格式化/測試大量U S B裝置的時間減少。此外,可 以根據熟知技藝,將分割(容量,磁碟機代號(driver letter))制訂 成符合每一不同需求。第6圖係一簡化流程圖,根據本發明之一 特定實施例顯示USB裝置之製造格式化/測試方法。第6圖的方法 可用於單一個或複數個連到面板的裝置以達到一高速”管線 (pipel ine)”格式化/測試程序,而並非缓慢的個別DUT測試(如 第3(A)圖所示)。 如方塊101所示,在開始對一選定的DUT (—群DUT)格式化/ 測試過程之前,先在測試主機系統安裝修改過的U S B驅動軟 體,以操作阻擋習知作業系統U S B被辨識為” HCDI,sys”的驅 動區段。被用於防止區段” HCDI,sys”之執行的軟體指令對於此 技術領域之熟知技藝者係都知道的。在一實施例中,為此緣故而 取代作業系統之USB匯流驅動器的一些小檔案,這是此技術領域 之熟知技藝者所暸解的。 如方塊102所示,根據本發明所形成之一個或多個” brand new”(未格式化與未測試)USB裝置係受探針、插入或其他方式耦 接至一適合的治具(例如第4(A)圖與第4(B)圖所示的其中之一個 治具)。 如方塊110所示,接著執行複數個USB裝置之初始簡單檢驗, 係藉由檢查控制器硬性編碼(hard-coded)值的内容,以辨識大部 分共同的錯誤。尤其是如第6(A)圖所示,一旦耦接USB裝置,計 26 200917017 數值(count value)係設定在” Γ ,主機測試軟體讀取儲存在 -第-裝置内的至少一些硬性編碼資料。(例如,在控制器唯讀記 憶體中’-個或多個硬性編碼的組態、介面與終點描述符(方塊 120)),大量儲存分類碼(class c〇de)(方塊121),供應商辨識 (vendor identification,VID)與產品辨識(piD)值(方塊 122), 及將硬性編瑪資料與預定熟知良好值比較以決定不正4聊裝置 是否耦接至測試主機(方塊123)。假若偵測到一不正確裝置(在方 塊123之”否”路徑),透過一對應DUT (如卯以丨]或dut[2],一Before flashing the memory, the flash memory controller is performed in the following manner. A flash memory controller having such a smart algorithm is disclosed in, for example, "FUSiI MEM〇RY CONTROLLER FOR ELECTRONIC DATA FLASH CARD" in U.S. Patent No. 11/466,759, the entire disclosure of which is incorporated herein by reference. . The electronic data flash card is a flash memory system that uses flash memory for data storage. Generally, the system architecture of the flash memory system includes a flash memory controller with a processor, R〇M and ram, wherein The start code and control code are located in r〇m as the _ code. Once the power rises, the processor grabs the boot code to execute, and the boot code initializes the system to compose and download the control code into the RAM. Once the control code is downloaded to the RAM, the control code is in control of the system. The control code includes drivers to perform basic tasks such as controlling and assigning memory 'priority of processing instructions, controlling inputs and transferring materials. Control code A includes flash type detection algorithm and flash memory parameter data.匪 is a kind of read-only memory. When the flash memory controller is designed and put into production, the software code in the S ROM is fixed and cannot be changed to support the new flash type that will be supplied to the market in the future. . In this situation, it is necessary to develop a new flash memory controller to support new flash memory from time to time, which is time consuming and costly. The first (D) diagram shows the processing unit 2 of the i-th (8) diagram in more detail. Electronic Data The flash card UM includes a power regulator to provide one or more power supplies. The power conditioner provides different voltages to the processing unit 2a and other related components of the electronic flash card depending on the power demand. In order to maintain power hung, a capacitor of 19 200917017 (not shown) may be required. The electronic data flash card 10A includes a reset circuit 23 for providing a reset signal to the processing unit 2A. Once the power rises, the reset circuit 23 asserts the reset signal to all of the processing units 2A. After the internal voltage reaches a steady state, the reset signal does not exist, and a register and a capacitor (not shown) are provided to appropriately reset the time adjustment. The electronic data flash card 10A also includes a quartz crystal oscillator (not shown) to provide a fundamental frequency to the PLL within the processing unit 2A. According to an embodiment of the present invention, the input/output interface circuit 5A is integrated or partially integrated with the reset circuit 23 and the power conditioner 22 in the processing unit 2A. High integration reduces overall space requirements and reduces complexity and manufacturing costs. For removable devices, such as the electronic data flash card described herein, compactness and cost reduction are key factors. Today's 1C packages allow different 1C components to be integrated into a single IC package with different technologies and materials. For example, the input/output interface circuit is an analog/digital hybrid circuit that can also be integrated into a Multi-Chip package (MCP) having a processing unit. The nature of the hybrid signal 1C technology allows for the mixing of analog and digital circuits. Therefore, high integration can be incorporated into the same wafer/die, with the processing unit containing input/output interface circuitry, flash memory controller, reset circuitry, power regulator. In accordance with another aspect of the present invention, an electronic data flash card includes a boot code and a control code stored in a flash memory rather than in a ROM of a flash memory controller. Therefore, the boot code and control code can be updated in this field without changing the flash memory controller. For example, in the "FLASH MEMORY CONTROLLER FOR ELECTRONIC DATA FLASH CARD" of U.S. Patent Application Serial No. 11/611,811, filed on Dec. I will refer to it here. 2 is a flow chart showing a main method of manufacturing a USB device according to another embodiment of the present invention, and a simplified plan view from the 3rd (A) to 3(B) drawings, showing during different stages of the manufacturing process. USB device. Referring to block 50 of Figure 2, the method of fabrication begins with the use of surface mount technology (SMT) to mount all components of the USB device on the panel (eg, flash memory, controller, and all passive components). Such as resistors and capacitors, where the panel comprises a plurality of printed circuit boards pCB. Figure 3(A) shows an exemplary SMT panel 211 having a plurality of printed circuit board assemblies 211 connected along individual edges to facilitate efficient assembly of different SMT components. Controller wafers, flash wafers, and other components. The pcB device 212 includes circuitry to facilitate electrical connection between different SMT components and between the controller die 212 and the four USB pins 217 (i.e., VDD, D+, D-, and GND). Please refer to Figure 2 again. Then test/format the individual PCBs. According to the process used in this month, the steps are revealed below. In one embodiment, panel 211 (see Figure 3(4)) is based on singulation (block 52A) whereby individual PCBs can be cut or separated from each other and then a single pcB device 212 (see page 3 (A). ®) is based on the test/format program (block 52B). In another embodiment, when the PCB device 212 is still connected to the panel 211 for testing (block 53A), then the formatted/tested PCB device is subjected to a single pass (block 53B). Among them, the invention 200917017 currently prefers the test/formatted PCB device 212 to allow multiple PCB devices 212 to be maintained in a fixed relationship for testing by a single fixture, thereby avoiding additional processing time. Each PCB device 212 is processed (e.g., the PCB device 212 is inserted into a single test fixture). Referring again to FIG. 2, each of the PCB devices 212 that have successfully completed the test/format will receive the product package (block 54), mold or mount a body on the components of each PCB device 212, and then complete the USB. The final test of device 10B (block 55) is ready for shipment. Also, note that the final test performed at block 55 is different from the test/formatting performed at blocks 52B and 53A because all of the initial content is downloaded to each packaged device 10B, as performed at block 55. The final test is about a simple plug-in test test, such as verifying device capabilities to ensure end user satisfaction. 4(A) and 4(B) are diagrams each showing an exemplary system for testing/formatting a USB device in accordance with the present invention. Fig. 4(A) shows a first system for testing a single PCB device according to block 52B of Fig. 2 (refer to the underlying device under test (DUT)). The first system includes a PC test host (e.g., a general purpose personal computer) 202, a monitor 201, a USB composite card reader 204, and other necessary peripheral I/O devices, such as a keyboard and mouse (not shown). In one embodiment, all of the test parameters are displayed on monitor 201 to monitor the test status, wherein a colored flag is used to resolve the pass or fail of the test, and some of the parameters used during the test can be manipulated. Input, such as the parameters shown on monitor 201. The USB card reader 204 includes a plurality of (16 or more) USB slots, each of which is based on the monitor 22 200917017. The flag of i has - specify money (for example, ^ ##2, etc.). The card reader 20 is connected to the test 4 host 2Q2 via a standard ϋδΒ transmission line connected to the standard brain slot 203 of the test host. When each test device (leg) is inserted into the multi-feeder 204 - corresponding 槔 (p〇n), the multi-card reader 2 〇 4 is connected to the test host 202 through the leg slot 'When it is left for each insertion The leg will generate a corresponding flag on the monitor 201 to reflect the detection result (for example, once the debt is detected, the corresponding flag will change from red to green). Figure 4(8) shows a second system 'Using the probe fixture - bing(4)) to test the pre-installed panel and still connect the panel 211 & PCB device 212. The second system includes an SMT probe test host (e.g., a general purpose computer) 207' monitor, e.g., probe fixture 2G5, and other necessary peripheral K) devices. The probe fixture 2G5 includes a plurality of test probes 2〇6 that are gathered to contact the USB pins 217 of each pCB device 212 when the fixture 205 is lowered onto the panel 211. Probe 206 provides four signal paths for formatting/testing each device on panel 211. In addition, a collection cable 208 is used to connect the fixture 2A to the test host 207. Figure 5(A) is a simplified flow diagram showing the conventional USB test system using a conventional host operating system (?s) driver (block 301) to test and format a conventional USB device. As shown in block 3〇2, once a conventional USB device is connected to a host system, the host 〇s temporarily stores the pre-established USB protocol used by the conventional USB test device (DUT). This pre-established USB protocol is based on the assumption that the specific device data (e.g., the device identification and serial number can be the same before the test) is stored in the predetermined location of the controller provided on the DUT. In addition, the pre-established (4) agreement requires that the registration procedure be owed to one DUT (that is, before starting the registration process for another implicit, it must be done before - a registration procedure). And, if it fails, all will wait until the operator re-installs the program before starting. As shown in block 3G2, the problems with these pre-established coffee protocols are spent _ more time to register each one, and to store these registration data in the registry bank of the host OS ( And finally there is a hard disk in the host) and it is not suitable for testing/formatting a large number of DUTs at the same time. The additional problem with using this pre-established USB protocol is that it does not work with new USB devices (the boot code, control code, and component and device identification data are stored in the flash memory device), not in ROM. At the predetermined location). As shown in blocks 3〇4 and 3〇5, since the untested/unformatted device formed according to the present invention does not include the component identification number and the product identification number, it is known that the prior USB protocol may cause the host test system. Hang up (block 306), or take a while to complete the test (block 307), and/or just fail to complete formatting/testing (blocks 3-8). Figure 5(B) is a simplified flow diagram showing the testing and formatting of a new USB device in accordance with another embodiment of the present invention. As shown in block 501, the new software is hacked to the test host to perform a dedicated USB test to block the USB drive of the legacy operating system (OS). The purpose of blocking the USB drive of the conventional device is to shorten the test time by deleting the time required for the registration process. This dedicated USB test passes the partial registration procedure to request data from the USB device (not written to the flash memory device), and the controller of the USB device directly writes the start code, controls the drink and 24 200917017 device identification. At least one of the data—to the Flash Center to begin the test/format process. In particular, as shown in block 502, in order to avoid the need for more than 16 USB devices, the test/format soft system in the test line system is modified to read the controller's hard code. The descriptors (hard-coded descnptQr) values are compared to the stored program parameters to confirm that the DUT is ready to be formatted and provide the correct parameters for the DUT for normal operation. Only continuous inspections will continue the software process. Then, as shown in block 5〇3, in order for the USB device to be used by the end user user, the main boot block (MBR), the file configuration table (FAT), and the initial system file are written to Inside the flash device. Since the conventional USB device is correctly programmed using the read-only memory (ROM) in the initial system operation, the conventional USB device will not perform the formatting process. This stylization step is important for the purpose of making software and for subsequent use. In addition, as indicated by block 504, several values written to the flash device satisfy the USB specification. The device serial number is such a value, and the device serial number written to each device is input with the software by the test operator. The starting values are randomly or continuously changed. Other variables, such as product identification numbers (IDs), also need to be changed by different product or volumetric capacities. Furthermore, the USB driver of the conventional operating system (OS) does not perform these values and variable writing programs, thus making the capacity USB test impossible. As shown in blocks 505, 506, and 507, the present invention provides several benefits to the USB registration driver of the conventional operating system, that is, because the present invention utilizes a specially specified system 25 200917017 software, format/test a large number of USB devices. The time is reduced. In addition, the segmentation (capacity, drive letter) can be tailored to meet each of the different needs in accordance with well-known techniques. Figure 6 is a simplified flow diagram showing a method of manufacturing formatting/testing of a USB device in accordance with a particular embodiment of the present invention. The method of Figure 6 can be used for a single or multiple devices connected to the panel to achieve a high speed "pipel ine" formatting/testing procedure, rather than a slow individual DUT test (as in Figure 3(A) Show). As indicated by block 101, prior to beginning the formatting/testing process for a selected DUT (group DUT), the modified USB driver software is installed on the test host system to operate the blocking custom operating system USB is identified as "" HCDI, sys" drive section. Software instructions that are used to prevent execution of the segment "HCDI, sys" are known to those skilled in the art. In one embodiment, some small files of the USB sink driver of the operating system are replaced for this reason, as will be appreciated by those skilled in the art. As represented by block 102, one or more "brand new" (unformatted and untested) USB devices formed in accordance with the present invention are probed, inserted or otherwise coupled to a suitable fixture (eg, 4(A) and one of the fixtures shown in Figure 4(B)). As indicated by block 110, an initial simple check of the plurality of USB devices is then performed by examining the contents of the hard-coded values of the controller to identify most of the common errors. In particular, as shown in FIG. 6(A), once the USB device is coupled, the count value of the 2009 2009 1717 is set to " Γ , the host test software reads at least some hard coded data stored in the - device - (eg, '- or more hard-coded configuration, interface and endpoint descriptors (block 120)) in the controller read-only memory, storing a large number of class codes (blocks 121), Vendor identification (VID) and product identification (piD) values (block 122), and comparing the hard marshalling data to predetermined well-known good values to determine if the non-synchronized device is coupled to the test host (block 123). If an incorrect device is detected ("No" path at block 123), pass through a corresponding DUT (such as 卯 丨 或 or dut [2], one

般係指定為DUT[C0UNT],方塊聰)的有色(如紅色)顯示旗標 產生-警示訊號’警告操作者移除不正確裝置。在—選定裝置之 連續簡短檢查後(在方塊123之,,是”路徑),―有色(如黃色) 顯不旗標或其關案訊號是顯示在主機測試系統上(方塊丨請)。 然後在方塊1G3C中,根據現在受測試褒置(所有連接至面板的裝 置)的數目’將裝置計數值與預定最大裝置數目作比較。假若計 數值疋v於最大裝置數目,之後計數會增加(方塊1·)且在另 -耦接測試系統的USB裝置重複簡短的檢查(即方塊1()2_123與 方塊103) ’直到每-個减至主機測試线的裝置已連續受到簡 短檢查為止(在方塊瓶之”是,,路徑),且此時計數值重設。 如方塊103D所示,一旦全部的受測試裝置⑽τ)完成初始化,程 序就可選擇性地由操作者選擇暫停與等待―”連續,,訊號(例如 按壓在主機系統上的空白鍵或使用滑鼠按壓在監視器上的stART 27 200917017 圖樣)。這個暫停允許操作者時間視覺性地檢查所有DUT的顯示旗 標,取代任何指定為有缺陷的DUT (在這個情況’對於新增的DUT, 初始化過程將重複)。根據本發明之方法,藉由在測試及/或格式 化快閃記憶體裝置之前,簡短檢查至少一些硬性編碼資料,以助 於USB裝置之有效且可靠的程序。 再度參照第6圖,一旦完成所有USB裝置之簡短初始檢查,測試主機進 行實際測試與格式化快閃記憶體裝置。這個測試/格式化過程開始於保存快 閃記憶體之用於暫存預定碼進入點(code entry point)的第一區塊(第6 圖’方塊130)。如第6(B)圖所示,在一實施例中,對每一 DUT進行保存過 程,連續地設定計數值為” Γ (方塊131),選擇目前的DUT(DUT[Count]), 保存在目前DUT中’快閃記憶體之用於進入點暫存器的第一區塊(方塊 133) ’然後增加計數值(方塊135、137) ’且對下一個DUT重新保存過程, 直到所有的DUT都已處理過(在方塊135之”是”路徑)。最後儲存 在保存空間的碼進入點係包括一作業系統(〇s)進入點,韌體進入 點與一非揮發性暫存器進入點。注意,在測試/格式化過程完成 後,實際的碼進入點數值係寫入(下載)在受保存的第 一區塊之 相關領域中。 接著,檢查在每- USB裝置所提供的快閃記憶體之容量(第6圖,方塊 140)。第6 (C)圖係根據-實施例,每—黯之容量檢查過程流程圖。此 過程開始概定計數值為” Γ (輯141)。讀,藉由讀取在娜己憶體 裝置内所提供的初始不良區塊資料,對每—腿進行記憶體容量檢查(即 28 200917017 讀取位在綱記㈣裝置之固定位置醜標係受,_記憶體裝置的製造商 或供應商程式化;方塊142)。之後,從掃輯產生的不良區塊資料係用於 決疋受保存的記憶體之特定比例是否存在(方塊143與144),假若是提供 不足夠的儲備記憶體(reservedmem〇ry),拒絕此DUT。根據用於將來不良 區塊資料重新纽目的之測試規格(即# —個良好區塊之—個或多個快閃 記憶單元在某-點失敗時,從良好區塊拷貝資料,且重新在—儲備良好記 憶體區塊巾定位資料)’是需要織記鐘(表示整個,,良好,,記憶體之一 特定比例)之-預定大小(例如2Q%)。注意對於具有—偶數個(兩個或 更多)快閃記憶體晶片的USB裝置,當偵測到高比例的不良區塊,則雙重 通道操作並不粉大里生產,因此只推薦單—通道。在格式化快閃記憶體 檢查每- USB裝置之快閃記憶體齡容量,所以本發明有助於早期The colored (such as red) colored flag (such as red) that is designated as DUT[C0UNT], the flag is generated - the warning signal 'warns the operator to remove the incorrect device. After a continuous short check of the selected device (in block 123, the "path"), the colored (such as yellow) flag or its closing signal is displayed on the host test system (blocks). In block 1G3C, the device count value is compared to the predetermined maximum device number according to the number of currently tested devices (all devices connected to the panel). If the count value 疋v is at the maximum device number, then the count is increased (block 1)) and repeat the short check on the USB device of the other-coupled test system (ie, block 1 () 2_123 and block 103) 'until each device that has been reduced to the host test line has been continuously subjected to a short check (in the block) The bottle "is, the path", and the count value is reset at this time. As shown in block 103D, once all of the devices under test (10) τ) have completed initialization, the program can selectively select the pause and wait by the operator - "continuous, signal (eg, pressing a blank key on the host system or using a mouse) Pressing the stART 27 200917017 pattern on the monitor. This pause allows the operator time to visually check the display flags of all DUTs, replacing any DUTs designated as defective (in this case 'for the new DUT, the initialization process It will be repeated. According to the method of the present invention, at least some hard coded data is briefly checked before testing and/or formatting the flash memory device to facilitate an efficient and reliable procedure of the USB device. Figure, once a brief initial check of all USB devices is completed, the test host performs the actual test and formatted flash memory device. This test/format process begins with saving the flash memory for temporary storage of the code entry point (code) The first block of entry point (Fig. 6 'block 130). As shown in Fig. 6(B), in one embodiment, for each DUT During the save process, continuously set the count value to “ Γ (block 131), select the current DUT (DUT[Count]), and save the first block in the current DUT for the flash memory for the entry point register. (Block 133) 'The count value is then incremented (blocks 135, 137)' and the process is re-saved to the next DUT until all DUTs have been processed ("Yes" path at block 135). Finally, the code entry point stored in the storage space includes an operating system (〇s) entry point, a firmware entry point and a non-volatile register entry point. Note that after the test/format process is completed, the actual code entry point values are written (downloaded) in the relevant area of the first block being saved. Next, the capacity of the flash memory provided in each USB device is checked (Fig. 6, block 140). The sixth (C) diagram is a flow chart of the capacity inspection process per unit according to the embodiment. The process begins with the estimated count value of “Γ (Section 141). Reading, by reading the initial bad block data provided in the Neiyi memory device, the memory capacity check is performed for each leg (ie 28 200917017) The reading position is in the fixed position of the device (4), and the manufacturer or supplier of the memory device is programmed; block 142). After that, the bad block data generated from the sweep is used for the decision. Whether a specific proportion of the stored memory exists (blocks 143 and 144), if the insufficient reserve memory (reservedmem〇ry) is provided, the DUT is rejected. According to the test specification for the future bad block data re-link ( That is, #—a good block—one or more flash memory units copy data from a good block when a certain point fails, and re-in--reserve a good memory block to locate the data) Clock (indicating the whole, good, one specific ratio of memory) - predetermined size (eg 2Q%). Note that for USB devices with even (two or more) flash memory chips, when detecting Measured a high proportion Good block, the dual channel operation is not Osato powder production, and therefore only a single recommendation - checking each channel in the flash memory format - age flash memory capacity of the USB device, the present invention contributes to early

q内μ工的个民區塊辨識資料於快閃記憶體之儲存區q The internal block identification data of the μgong is stored in the flash memory storage area

、 14丫),且容量檢查與不良區塊資料儲 直到所有⑽UT都已受處理過(在方塊146 日,耳"卩、万塊14γ), 存過程會接、續重複於每—晴 29 200917017 之是路徑)。 然後’根據本發明之另—眘, process)列’利用叢發寫入過程(burst writing 乂控制碼資料與啟動碼寫入至伊閃4 _ 體區塊中(第6圓之方塊15〇)。制、 _把憶體之選定的記憶 制器操作。一浐而^ 麵所產生的控制韌體可助於後續的控 又而吕,去知的咖裝置包括兩類 控制碼與動態控制碼嗜能押 的控制碼、静態 及用於产〜认+ / 由一初始重設跳躍位址(細⑽職) 能1幽咖㈣敝基蝴抹除/寫瑪取操作 狀態機械資訊所組成(例如靜態控制碼包含相對長的寫入時間延遲,其助 於寫碌作至”最触況”(最慢)的_記憶_)。根據本發明,儲存 在麵的靜態控制碼係受控制器於起始(start_up)時取得。動態控制碼 包括時_控制資訊以受霞利_快閃記憶體型態(例如最佳寫入 操作次數)’糾但助於最合適_記㈣之猶也助於轉領域之適應 性。根據本發明之另-實施例’這動態控飾體係齡在快閃記憶體之選 定的區塊中,以減少控制H晶粒大小且促進領域適應性^在_控制勒體 寫入至快閃記憶體内以後’腿之一控制位元係受到重設以將卿處理器 之控制從靜態控制碼移動到動態物體碼。為了協助移動到動態勃體,在_ 中所提供的靜態、跳躍開始(jump start) ”韋刃體係包括動態控制碼之進 入點位址以進一步執行使用。 第6(D)圖係一簡單流程圖,顯示用”管線”方式,利用叢發寫入過程來 將控制韌體寫入至每一 DUT中以減少處理時間。關於目前DUT的計數值受 初始化(方塊151),然後將一頁(或區塊)的指令或/及資料寫入至第— 200917017 DUT的SRAM (揮發性)緩衝器中(方塊152)。如方塊152右邊所示,一頁 的指令或/及資料係包括將控制韌體寫入至緊接著不良區塊的區塊中。寫入 此頁後,主機系統下令丽從SRAM緩衝器寫入指令/資料至快閃記憶單元 中(方塊153)。注意在格式化/測試過程之階段,動態控制碼尚未寫入至快 閃記憶體中,所以DUT所使用的寫入過程係根據較慢的靜態控制碼。根據 本發明,為了幫助此寫入過程以時效方式進行,一旦一頁的指令/資料寫入 至SRAM令且DUT受令於執行此寫入動作,則主機系統進行下一個丽(即 在方塊157 ’計數值增加,然後主機系統將同樣的指令/資料寫入至下一個 DUT中)。最後,-頁的指令/資料寫入至每一個(在方塊155之,,是” 路徑)。在此m统決定是否所有必要的指令資料已寫人至每中。 假若沒有,計數值係飾初始化(方塊151),重複寫人過程,將下一頁的 指令/資料寫入DUT中。當第二頁的指令/資料寫入至第—酣(即丽[⑴, 第- DUT已完成從觀緩衝器、寫入第一頁的指令/資料過程至蝴記憶體 所指定的區塊。利用此,,管線(pipeline)”方式,進行寫人動態控制碼至 每-丽的過程係以高效率方式進行,避免因主機系統等待每_個爾寫 入資訊/資料至快閃記憶體中所造成的長時間延遲。 除了控體外,在本發明之一實施例中,快閃記憶體之一個或多麵 塊係指定鱗揮雜暫存器,且這些雜發性辦器制⑽存寫入—保護 資訊’例如儲存概用後且—旦電测會損失的數值,如容量分割 數目與仙者密碼。不論是在上述之叢發寫人触,或是麟控制碼寫入 至每一賺後之接續地(如第二)叢發寫入過程,將資訊寫入至每—厮 200917017 之中。注意’假若利用接續的叢發寫入過程’之後動態控制碼可用於加速 寫入過程。 接下來,如方塊160所示(圖6) ’進行快閃記憶體之低階格式化 (low-level formatting),其中低階格式化是以所提供的使用者規格為基 礎。在一實施例中’低階格式化包括將主要啟動區域(MBR)、檔案配置表 (FAT)與初始根目錄資料寫入至快閃記憶體之選定的記憶體區塊中。 沒有這資料’ USB裝置就無法受終端使用者使用。注意,假若一終端使用者 獲得一個尚未受到低階格式化的USB裝置,此USB裝置將無法使用,且終 端使用者自己無法利用格式化軟體所提供的作業系統進行此步驟。然,在 完成低階格式化後,終端使用者就可改變他們所希望的FAT格式。在上述 任一叢發寫入過程期間或在動態控制碼寫入至每一 DUT後的接續叢發寫入 過程期間,將低階格式化資訊寫入至每一丽中(例如第6(d)圖的方塊 160A)。 在低階格式化、更新序號、日期碼與產品版本碼數值寫入至非揮發性暫 存器後(第6圖之方塊170),在上述任一叢發寫入過程期間或在動態控制 碼寫入至每一DUT後的叢發寫入過程期間(例如第6〇))圖之方塊17〇A所 示),將描述符資訊寫入至每一 DUT中。 接著,測試主機讀取所有寫入至快閃記憶體的資訊(方塊18〇),然後這 些資訊與事先存在主機系統之緩衝器中的數值作比較,以確認USB裝置適 ^地受格式化。根據本發明之一貫施例,確認過程(veri f icati〇n pr〇Cess ) 是顯示於第6(E)圖中。計數值設為” Γ (方塊⑻),然後主機系統指示 32 200917017 目前的DUT從快閃記憶體重讀預定資訊。注意,使用事先寫入至DUT的動 態控制碼來進行重讀過程。之後,將從DUT所讀取的資訊與在主機系統中 的事先儲存資料作比較(方塊183)。假若從USB裝置所讀到的任一資料係 不正確的(在方塊184之”否”路徑),在主機測試系統監視器上顯示相對 應的旗標(例如一紅色旗標)以指示操作者裝置在測試/格式化過程是 失敗的(方塊185A)。相反地,假若從目前USB裝置所讀取的資料係正確 的,在主機測試系紐視||上顯示相對應的旗標(例如—綠色旗標)表示 在測試/格式化過程是成功的(方塊185B)。之後,在方塊187,根據目前 父測試裝置之數目’將裝置計算值與就最大裝置數目作比較(例如所有 連接至面板的裝置)。假若計算值是少於最大裝置數目,裝置計算係一個一 個增加對另-個轉接至測試主機的隨裝置重複測試過程,直到每一個 祕至主機測試系統的裝置皆已檢查過(在方塊187之”是,,路徑>然後, 測試主機程序終止。 第7圖係根據本發明之—特定實施例之顯示一範例廳裝置⑽的簡化 方塊圖。如以上所述,USB裝置包括一快閃卡控制$ 214與一個或多個快閃 記憶體裝置215。 參照第7圖之左半部,快閃記憶體215係以簡化的形式描述於第7圖中, /、下進针田述,其中快閃記憶體215包括進入點暫存器420與不良 品·貝料413控制選擇位元415A,控制拿刀體415B,與非揮發性暫存器 賴所不’控制器214與快閃記憶體215間的溝通是直接經由進入點 暫存器伽’與所執行的功能有關,其中進人點暫存H 420指示控制器要求 33 200917017 控制韌體415B與非揮發性暫存器42〇。 參照第7圖之右半部,控制器214包括一微處理器45〇、一控制端點暫 存器(control e_〇int register) 451與位址解石馬器侃,一靜態隨機 存取記憶體(RAM)、-唯讀記憶體(_)、一輸入/輸出介面電路梢。控 制端點暫存器451提供每個控制器所需的系統默認位址(她训 add顏)。控制端點暫存器用於和此裝置通訊,即使之後的位址改變。靜 態ROM453包括- RAM緩衝器(buffer)腿與快閃存取時間暫存器⑴她 access timing register) 453B。緩衝器包括—足夠的記憶體來儲存 快閃記憶體215之至少―區塊’且例如當執行區塊拷貝作業(如從快閃記 憶體215讀取資料且寫入至麵脱中)時,可使用緩衝器概以增進執 行速度。在與快閃記憶體215通訊期間,快閃存取時間暫存器·儲存受 控制器214利用的指令碼(圖and code)。唯讀記憶體454包括硬性連接 (hard-wired)資料(即無法被修⑽資料),其中硬性連接資料包括跳躍 式啟動祕(卿start firmware)454A及研贿符454b。跳躍式啟動 韌體45M包括-重設她向量(賺t add· veeto),其造成微處理器 450執行一大程度跳躍運算(扣吨卯erati〇n)至快閃記憶體裝置us的進入 點暫存器420。因為不需要改變編碼’所以跳躍式啟動減倾也包括大 部分的基本讀取7寫人/抹除之時·態《 (timing state maehine) f 料與區塊指令。此外,跳躍式啟動祕包括寫人至快閃存取時間暫存 器453B的靜態指令碼,而靜態指令碼係作為系統默認時間(如^咐 t麵g) ’例如’從快閃記憶體215之初始讀取/寫入指令期間或到快閃記 34 200917017 憶體那之初始讀取/寫入指令期間。注意,惟,用於支援不同類型快閃記 憶體的動態控制碼係存在快職置215的控爾爾存器侧中以助於更 新。不同的描述符值侧也是麵454中的硬性碼,且當測試主機從· 裝置⑽要求特輸時,使用此描述符值_。當無法回應錯誤值時, 會造謂裝謂受測試主機的拒絕,且被認定係一控制器失敗。更詳 細的描述雜可參跡„序列_大量__⑽_伽零 c㈣規格。控制器214包括—僅大量傳輪(Buik—〇niy七卿。^,b〇t) 指令解碼_以助於利用勝指令與快閃記憶體2ΐ5通訊往來。邏輯區 塊位址-實體區塊位址(LBA,_PBA)轉換器/解碼器侃侧於對由歷指 令解碼器所產生的邏輯位址解碼。輪人/輸出介面電路4?G包括一實體 層USB收發益470A,用於傳送與接收不同的聽訊號,一連續介面引 擎470B用於執行序列一並歹,Hsen抓败川⑴(接收端蘭與並列 /序歹Uparallel to serial)(發达端)操作,一資料緩衝器用於緩 衝輸入/輸出(incoming/吻的資料框架,且因為速度匹配不一樣, 所以利用連續介面引擎470B、不同暫存器及中斷處理邏輯狐來處理· 協定。 第8圖係簡化方塊圖,敘述在測試/格式化過程(先前所述)完成後, 快閃記憶體215的不同位址結構與分割。如第8圖之左半部所示,快閃記 憶體215主要是分成唯讀區域概與讀取/寫入區域概。 唯讀區域4G5包括進人點暫存器、不良區塊清單(badb滅㈣) 413儲備區塊414 '控制勒體、主要啟動區塊⑽s你B〇〇t B1〇ck) 35 200917017 416及非揮發性暫存器42卜如第8圖之右半部所示,進入點暫存器似包 括一控_體進人點位址麵來儲存控體·的位置,—非揮發性 暫存器進入點位址420A來儲存存在非揮發性暫存器421之不同值的位置, 一作業系統(0S)進入位址420C來儲存主要啟動區塊416的位置。唯讀記 憶體405只可以受製造測試軟體更新,而無法受—般使用者主機%系統所 改變。控制勒體415B受控制器214的微處理n 450所執行(參第7圖), 且控制勒體415B只受到讀取(即無法受終端使用者更新)。同樣地,非揮 發性暫存器421儲存-些在測試/格式化過程可以被更新的值(例如產品序 號或II)號碼)’但這些值無法受到終端使用者改變。 讀取/寫入區域406係包括記憶體區塊,用於受終端使用者使用。在一 實施例中’讀取/寫入區域侧包括—基本標案結構,所以檔案可受到主機 作業系統的讀取/寫入’且可被分成數個分割區(分割區i,2, 3, 4)。第一分 割區(分割區1)包括檔案配置表(FAT)1417A與權案配置表(fat)2侧, 一根目錄418,及檔案叢集(file cluster)。 根據本發明之-實施例,當USB裝置1(M始啟動,從跳躍啟練體碰 讀取靜態控制碼至快閃存取時間暫存器備。在初始步職間(第6圖之 方塊110),控制器214利用靜態控制碼所提供的系統默認時間(default timing)使用快閃記憶體215,例如讀取快閃記憶體215的產品辨識資料。 產时辨識貞料被傳;^至主機系統,主齡統再將產品賴倾與—儲絲 比較以辨識已的時間參數(或者,在初始減化過程之前,操作者可 以先提供快閃記憶體的產品辨識給主機系統)。然後,主機系統將已更新的 36 200917017 時間參數寫人至控制器中’控將此些已更新時間參數存在快閃存取時 間暫存器巾。—找献触,控_咖峨,_已更新時間 參數來寫人格式化資訊至快閃記憶體中,進而減少製造時^注意,一旦 完成格式化,控制選擇位元舰是設定在快閃記憶體215中,當裝置 伽接續啟動㈣制選擇位元415A使控制器214從控她體湖字動態 控制碼寫入至快閃存取時間暫存器453B。 第9圖係根據本發明之—實施例,示範存在快閃記憶體那中的不良區 鬼青單在本實把例中進位力丨值係表示—良好記憶體區塊舰, 二進位的” G”值係表示-不良記憶體區塊.儲存不良區塊資料概與 413B之兩份副本’以確保即使一個副本之後受損仍有不良區塊資料可用。 另兩個區塊(參第8圖)係暫時保留,用於未來—旦不良區塊清單概、 413B中有其中個壞掉使用。在製造測試期間,製造測試軟體控制所有不 良區塊的.更新。根據控制碼!禮側所定義的過程,在正常操作時發生不 良區塊,將賴林區塊清單概、歧。且,㈣每#有再一個不 良區塊被發現時,就會有再-個位元更新為”『,所以在更新不良區塊清 單概與獅,如蚊新其細塊之前,是永翁需要抹除所有 位7G為1。因此,用於不良區塊資料之儲存的區塊,可靠度就更高了。 第10(A)圖係根據本發明另一實施例的製造軟體演算規則流程圖,用於 對- USB受測試裝置⑽T)進行測試/格式化過程。f丽搞接至測試主 機所有的參數堂操作者輸入而馬上被測試主機讀取時,測試開始(方塊 601)。軟職行Get—desaipto(魏)触赠送齡⑽取_硬性描 37 200917017 述符值(方塊602) ’然後’軟體執行—set_descriptor指令來設定正破值 (correct value)以及増加或改變描述符,而不是增加或改變那些存在控制 器之RAM暫存器中的描述符(方塊603 )。然後,當執行一igumti加 指令’軟體漬取初始組態值(configUrati〇n vaiue)(方塊4),接著 Set_configuration軟體下載每個不同的組態值(方塊6〇5>然後,軟體 讀取一介面描述符值,回應一 Get_interface指令(方塊6〇6),接著軟體 使用Get—interface指令下載正確值(方塊607)。之後,下載裝置固定位 址至USB裝置,回應軟體之Set—address指令,當成功的時候,一相關的 有色旗標會改變以回應連接電源狀態(plUg-in status)(方塊然後, 重設裝置暫存器值(device register value)來回應一ciear—feature指 令(方塊609),且有些特別的特徵,如remote—wakeup或endp〇int_halt 能力係受軟體set一feature (方塊610)。USB裝置可以為多種不同類型,例 如大儲存量類型’且可受不同類型之特定指令,如Uke—max_lun所執行(方 塊611)’以讀取軟體所支援的分割數目,對於未格式化的裝置,軟體會下 令設定系統默認值(default),其中系統默認值係根據快閃裝置之分割數 目。之後,使用一 Get_status指令以檢查程式化是否成功(方塊612)。假 如成功的活,在測s式主機監視器上的各個圖樣顏色會改變以表示成功地程 式化狀態(方塊613)。 第10(B)圖係根據本發明另一實施例的製造軟體演算規則流程圖,用於 對一 USB受測試裝置(DUT)進行計算(enumerati〇n)。當dut插入至測試 集線器(test hub),其輪流連接至測試主機(例如一般的pc),就開始此 38 200917017 計算過程。因為DUT未受到測試,所以不論是D+或D-接腳應該具有1 歐姆的上拉(pull up)電阻連接,以全速或低速辨識(方塊7〇2>如果電阻 值不正確或沒有連接’有色旗標將會指示是一個缺陷裝置而應該被拒絕。 一旦測試主機PC辨別出DUT ’測試主機驅動一重設(Reset)指令給DUT至 少10秒(方塊703 )。假若DUT適當回應重設指令且指示是一成功的重設狀 態’測试主機就利用系統默s忍控制端點〇 (default control endpoint)發 佈給DUT (方塊704)。測试主機PC之後傳送Get_descriptor至DUT控制 器硬性碼值以取得MaxPacketSize參數(方塊705),且DUT藉由傳送其傳 遞封包大小(transfer package size)來回應(方塊706)。測試主機pc 之後傳送Set_Address至DUT以分配一獨一位址。假若測試主機pc與丽 之間的所有通訊往來在這裡都是成功的(方塊7〇7A之,,是”路徑),之後 將一簡短版本的大量儲存驅動器傳送至DUT,等到之後通訊時再用(方塊 刑)。之後,測試主機傳送一 Get_descript〇r指令給酣,將裝置描述符 值與已受系統設定的系統默認值比較,且任何不一致會反應在測試主機pc 上以警告操作者拒絕此DUT (方塊709)。假如裝置描述符值係正確的,測 試主機pc傳送一 set_configuration指令,設定組態數目(方塊71〇),將 所有必須值寫入至DUT快閃記憶體中,藉此完成計算(方塊711)。 第11圖係根據本發明之另一實施例的操作流程圖,顯示測試主機系統 對USB裳置的所有操作方式。 參照第11圖之上方部分,操作者開始測試計晝(方塊801),將所有組 態與所有可能_的,_記雜特徵訂載至程式巾(方塊觀),這些權 39 200917017 案於下載至程式祕存在硬碟巾。程式之後會等勸麵人關於所需測試 的正確參s,例如’被蚊的受測試裝置(DUT)之起辦赋甚至是致動 程式進行的《。如方塊_底下所*,有兩她要的齡路徑將會被解 碼與執行:低階格式化(在方塊8Q4下之右分支)與快閃記憶體軟體組態 (在方塊804下之左分支)。 參照第11圖之右下部分,低階格式化包括對所有的快閃記憶體區塊進 行-快閃記《絲/讀取/寫场4,因為記憶體可能先被其他管理 供應商所,且-般會有不_演算規躲標記不良區塊,所以將測試 頃取/寫人(R/W)模式寫項有快閃記憶體區制記紐中(方塊 810A)。之後,讀取每一 R/W模式並將R/w模式與所期望的結果作比較。接 著’雖然有祕塊已嫩標記為不良’但係取決於所有任__區塊受抹除。 之後’僅良好區塊受抹除為所有二進位” !,,數值期間,進行低階格式化(方 塊811)。然而’因為快閃記憶體可能由於綠的使用而受到污染,所以可 能透過錄·㈣藝輸人(p咖eter SGan咖seieetiQn entry) 對不良區塊作完整的掃瞄。 之後’每個記憶卡之各別資訊寫入至快閃記憶卡中,以更新各別記憶卡 資訊(方塊812)。在-實施例中,資訊是包括序號、產品id、供應商1]} 與LED光模式(方塊817)。然後控制勤體寫入至快閃記憶體中(方塊8i3), 例如’拷貞二㈣(圖像)檔案至快閃記憶體中(方塊818)。此外,紀錄 在快閃記憶體之非揮發性暫存时_體進人點位址。之後,快閃記憶體 的fat會根據客戶要求,藉由軟體載入儲存於非揮發性暫存器中的〇s進入 200917017 點位址的事先程式倾針破新。之後,t客戶要求時,_有初始樓 案被拷貝至快閃記憶體(方塊815>這些檔案可能包括自動執行圖像Z 執行的槽案來應用於儲存在測試主機之預先拷貝目錄d卿处咐㈣ 中(方塊819)。之後,從DUT讀回儲存資料,並存到測試主機硬碟裝置中用 於測試及將來參考用(方塊816)。 第11 _左部分包括一用於更新的選擇性程序,例如儲存在動態控制 碼的快閃時間。起初,有些參數會受狀變,例如,由於在測試程序中快 己憶禮_的改變,所以可能f要確認如測試操作者密碼是否正確輪 入,確認受更新的快閃時間是否被輸人。然,假^第u圖的過程被連續用 來測試具有相同快閃裝置的丽,則不需要進行第u圖之左邊的選擇性過 程’ 14是因為程式保有測試用的正確參數。參照第11圖之左部分,在進行 低P白格式倾’制㈣記㈣軟體域,快閃記紐組態開始於檢查操 作者所輸人的鱗密碼(方塊8⑹。快閃記紐軟體鴻是受限於有權限 人員(例如裝置製造商),而沒有密碼的無權限人員則會受齡統拒絕而無 法使用。—旦正確的密碼受到確認,倾將會特操作者輸人指令(方塊 805A) 1·綱a紐係由許多不同的供應商所生產,及具有許多不同參數設 定’因為記憶體容量從每個供應商持續增加。軟體組態之第—步驟係辨識 用於目‘ DUT的特定快閃記憶體(方塊麵)。為了使組態程式健全,快閃 5己憶體類型之順序是事先餘式化以賴彈性目的(方塊8D7),且使用者 可、更新此順序’且為便於修改’所有的更新資訊是顯示於裝置監視器上 (方塊808) ’然後變更是存人槽案中以便於日後參考。 41 200917017 第12 (Α) K與第12⑻圖分別是顯示雙重路線(_冰如⑻與 單一路線(singIe channe〇力缺陷快閃記憶體晶片操作的簡化示意圖。 第13 (A) _與第13⑻是描述相關快岡記憶體組態的方塊圖。當有雙 數量的快閃記憶體晶片與裝置整合,這兩個選擇就可以受到應用:單一路 線或雙重路線操作。 如第12⑴圖所示的雙重路線操作,從控制器214將資料匯流排分成 兩。P刀.貝料線資料[7:0]係連接至快閃記憶體晶片組阳,資料線資料 [15泰連接至快閃記憶體晶片組㈣,其中兩個記憶體都分享同一健 制器位址及控制匯流排9〇。如第 U)所不的雙重路線操作之優點就是 速度快’陶料匯流排變成專如㈣(A)圖所示, 缺點就是在_記歷^往 、 遺的不良區塊(bad block,區域一 般係不對稱的,但因為位址與控 £ 接在一起,對稱操作導致產生 不艮&塊而減少可使用的良好 兩組快閃晶片之位址也受到錯 開係為了反應資料匯流排的連接。 連:至資:二:"線操作’其中兩個記憶體組215-U與215, 13⑻圖所不’沒有如第13(A)_教述的雙重路線操作之導致弟 塊情況。據此,單—路線操作之可 旦 〇 擴大以抹除由不良區域預留目的所導致的缺失m線^ 的缺點疋麵作速度比較慢, 、、刼作 不是雙输輸叫,而 排路線。然,因為具有高不良區 42 200917017 塊比例的快閃晶片增加,如近來大量快閃晶片之生產 ’所以最好是採用單 一路線操作。 第14圖係轉本發明顯示儲存在每一 裝置之不同記憶體領域中的 貝成與參數⑨定的方塊圖。所有的參數可以受操作者改變,且分成兩個類 別:裝置資訊與組態資訊。 裝置資訊儲存在每一裝置位在如第10圖之上方區域的區塊(領域) 中方塊905包括最大裝置容量(例如256MB)。方塊9〇1 &括由裝置製造 商所建立錄置容量(例如—個具有25_最大容量的裝置,有效裝置容 ΐ可设定在25_ ’剩下的6MB是保留給不良區塊管理)。方塊寶包括快 閃記憶體部分使用,例如,製造商的部分號碼是由三星(Sa_g)或英飛 凌(Infineon)所建立(例如三星的K9K8G〇8_之脱咖快閃記憶體震 置)方塊903包括-快閃記憶體ID資訊,其經由快閃初始指令位址刪 项取且用於&快閃疏體裝置是否正確,因為有些快閃記憶體具有不同 時間性質但享有同-ID碼。為了允許終端客戶料進人不同膽快閃時 間規格’故提供這個特徵以助於快严㈣的調整。方塊9〇4包括在特定裝置 應所使用的快閃晶片數目。在Μ裝置之格式化/測試與接續修改期間, 方塊905A、905B與905C儲存使用的不同密碼。因為操作者密碼對於控制 製造過程而言是非常重要的,且為維制試品f,密碼修改(方塊嶋) 與確認(方塊)對於MIS控制測試程序的正式取用是很關鍵的。 裝置10B的組態資訊係揭示於第1〇圖之裝置資訊下方的方塊圖中。方 塊906包括生產線號碼(producti〇n line number) f訊,用於生產控制 43 200917017 資訊的操作者ID號碼。方塊9G7包括預先掃猫快閃類型資訊,其包含不同 掃晦快閃記憶體的方法(抹除/讀取/寫入),_快速跳回區塊檢驗值(_ back block value)(方塊907A),一所有區塊之全掃瞎值(方塊9〇7B), -掃猫良好區塊而略過受製造商雌入不良區塊標記值(方塊·)。對於 那些使用㈣記憶體TL件的裝置,係推薦全掃猫,重新建立不良區塊清單 (bad_block—list)(方塊 907B)。方塊 908 包括主要序號(serial _ber, S/N),方塊麵包括此特絲置的初始S/N,具有方塊麵之更新序號資 訊’且不論序號是使用事先設定的數列或是隨機產生的(即序號可以增加 或減少’也可以任意由操作者輪入而產生(例如軟體呼叫—隨機號碼產生 器與-種子參數(例如主機測試器時間/日期))以確保其隨機性),主要原 理就是對於根據USB規格的每-個裝置,序號f要不一樣。方塊9⑽包括 裝置的電流規格與限制(例如袭置之最大電流用量),其中裝置超過這個數 目就是-種裝置失敗的指示(例如5⑽腿是列在Μ裝置的最大特定電 流)。方塊_包括裝置LED燈在不同條件下的—_間隔與亮度值,及用 於告知操作者操作狀態(例如,#賴情或成功或裝置是閒置或使用 中)。方塊917包括正確控制器的供應商/產品瓜號碼,用於允許測試々各 式化過程〇裝置具林随的縣在此鱗,—開始就會 受到測試/格式化系統拒絕)。方塊911包括供應商名字與產品内文解碼資 Λ ’方塊隨包括產品φ列名字(string n繼)與版本資訊。方塊Μ 儲存-統計值,表示在測試產品線上所測試的產品之通過/失敗測試數目 (方塊913Α係用於重設此數值),方塊915包括一測試產品線的最大靡 44 200917017 數目,因為測試係由一特定操作者初始設定,這個資訊用於提供操作者有 用的統計資訊。方塊919包括快閃記憶體的最大預備比例(reserved ration)(即為了日後操作目的,不良區塊配置所需的預備記憶體數)。方 塊921包含一寫入保護開關(開或關),方塊92〇A包括一容量分配數,用 以紀錄快閃記憶體在儲存時,可分配至多個不同區域,以達到資料分類的 目的。方塊920儲存起始容量標記(v〇lume label),例如D : (E :,F :, 以此類推)。最後’方塊920包含每-裝置對應每一插槽的腿號碼,且這 個i訊係用於當裝置在測試/格式化過程失敗時揭示一錯誤碼。 因為多層單元(MUlti-levei—cell,MLC)快閃記憶體與大小相同的單層 單元快閃記憶體比較起來’具有更大的儲存密度,所以ΜΙχ快閃記憶體愈 來愈受到歡迎。«本發明之部分實施例,上賴敘述的技術係可以應用 在大量生產MLC快閃記憶體或對MLC快閃記憶體之生產測試。有關Μΐχ快 閃S己憶體之較詳盡的資料可以參考上述内容及美國專利申請號 11/737,336’其中美國專利申請號11/737,336係讓渡給本申請案之一相同 受讓人。 第15圖係根據本發明之一貫施例,顯示一 MLC記憶單元咖L)之多層 電壓感應,如第15圖中所顯示的系統可以與上述技術一起使用。一快閃記 憶體晶片具有快閃記憶單元(flash 陣列,以行(而)、列㈣醒)方 式設置,且根據位址之-行部分與位址之—列部分選擇快閃記憶單元陣 列。位址可由記錄器(seq職er)依放進快閃記憶體晶片的區域位址或頁 位址產生。位址之-第三部分係有效地選擇ΜΙχ記憶單元⑽位元。 45 200917017 控制引擎1052接收位址並在已選定的行 、列交叉處選, 14丫), and capacity check and bad block data storage until all (10) UT has been processed (in block 146, ear " 卩, 10,000 block 14γ), the process will be connected, continue to repeat in each - 29 200917017 is the path). Then 'in accordance with the present invention, the process column' uses the burst writing process (burst writing 乂 control code data and startup code are written to the IFlash 4 _ body block (block 6 of the 6th circle) The system controls the selected memory controller of the memory. The control firmware generated by the surface can help the subsequent control and the device, including the two types of control codes and dynamic control codes. The control code of the addictable, static and used for production ~ recognition + / by an initial reset jump address (fine (10) position) can 1 yummy (four) 敝 蝴 蝴 / 写 写 写 写 写 写 写For example, a static control code contains a relatively long write time delay that assists in writing to the "most responsive" (slowest) _memory_). According to the present invention, the static control code stored in the face is controlled by the controller. Obtained at the start (start_up). The dynamic control code includes the time_control information to be affected by the Xiali _ flash memory type (such as the number of best write operations) 'corrected to help the most appropriate _ remember (four) Facilitating the adaptability of the field. According to another embodiment of the invention, the dynamic control system is at the age of In the selected block of the flash memory, to reduce the control of the H grain size and promote the field adaptability ^ after the control body is written into the flash memory body, one of the leg control bit systems is reset. The control of the clear processor is moved from the static control code to the dynamic object code. To assist in moving to the dynamic body, the static, jump start "feed start" system provided in _ includes the entry point of the dynamic control code. The address is used for further execution. Figure 6(D) is a simple flow chart showing the use of the "pipeline" mode to write control firmware to each DUT to reduce processing time. The count value of the DUT is initialized (block 151), and then a page (or block) of instructions or/and data is written to the SRAM (volatile) buffer of the 2009-1717 DUT (block 152). As shown on the right, a page of instructions or / and data includes writing the control firmware to the block immediately following the bad block. After writing this page, the host system orders the write command/data from the SRAM buffer. To the flash memory unit (square Block 153). Note that during the formatting/testing process, the dynamic control code has not been written to the flash memory, so the write process used by the DUT is based on a slower static control code. In accordance with the present invention, This write process is performed in an aging manner. Once a page of instructions/data is written to the SRAM and the DUT is ordered to perform this write operation, the host system proceeds to the next MN (ie, at block 157' the count value is incremented, then The host system writes the same instruction/data to the next DUT. Finally, the -page instruction/data is written to each (at block 155, is the "path"). The instruction materials have been written to everyone. If not, the count value is initialized (block 151), the write process is repeated, and the next page of instructions/data is written to the DUT. When the instruction/data of the second page is written to the first 酣 (ie, 丽[(1), the first-DUT has completed the instruction/data process from the view buffer, the first page, to the block specified by the memory. With this, in the pipeline mode, the process of writing the human dynamic control code to each of the processes is performed in a highly efficient manner, avoiding waiting for the host system to wait for each message to be written into the flash memory. The long delay caused by the control. In one embodiment of the present invention, one or more blocks of the flash memory are designated to be scaly buffers, and these are configured to write (10) In-protection information', for example, after storage is used and the value lost by the electrical test, such as the number of capacity divisions and the password of the immortal. Whether it is in the above-mentioned cluster, or the control code is written to each After earning the subsequent (such as the second) burst writing process, the information is written into every 厮200917017. Note that the dynamic control code can be used to speed up the writing process after using the continuation of the burst writing process. Next, as shown in block 160 (Figure 6) Low-level formatting of flash memory, where low-order formatting is based on user specifications provided. In an embodiment, 'low-level formatting includes the main boot area (MBR) The file configuration table (FAT) and the initial root directory data are written to the selected memory block of the flash memory. Without this information, the USB device cannot be used by the end user. Note that if a terminal user obtains A USB device that has not been formatted in a low-level format, the USB device will not be usable, and the terminal user cannot use the operating system provided by the formatting software to perform this step. However, after completing the low-level formatting, the terminal user It is possible to change the FAT format they want. During any of the above-mentioned burst write processes or during the subsequent burst write process after the dynamic control code is written to each DUT, the low-order format information is written to Each mile (eg, block 160A of Figure 6(d)). After the low-order formatting, update sequence number, date code, and product version code values are written to the non-volatile scratchpad (block 170 of Figure 6) ), during any of the above-mentioned burst write processes or during the burst write process (eg, page 6) after the dynamic control code is written to each DUT, as shown in block 17A of the figure) The information is written to each DUT. Next, the test host reads all the information written to the flash memory (block 18〇), and then compares the information with the value in the buffer of the host system pre-existing. It is confirmed that the USB device is properly formatted. According to the consistent embodiment of the present invention, the confirmation process (veri f icati〇n pr〇Cess) is displayed in the 6th (E) diagram. The count value is set to " Γ (square (8) ), then the host system indicates 32 200917017 The current DUT reads the scheduled information from the flash memory weight. Note that the reread process is performed using the dynamic control code previously written to the DUT. Thereafter, the information read from the DUT is compared to the pre-stored data in the host system (block 183). If any of the data read from the USB device is incorrect ("No" path at block 184), a corresponding flag (eg, a red flag) is displayed on the host test system monitor to indicate the operator The device failed in the test/format process (block 185A). Conversely, if the data read from the current USB device is correct, displaying the corresponding flag (eg, the green flag) on the host test system's Newline|| indicates that the test/formatting process was successful ( Block 185B). Thereafter, at block 187, the device calculated value is compared to the maximum number of devices based on the number of current parent test devices (e.g., all devices connected to the panel). If the calculated value is less than the maximum number of devices, the device calculations are repeated one by one to repeat the test process with the other device to the test host until each device to the host test system has been checked (at block 187). The "Yes, Path" is then terminated by the test host program. Figure 7 is a simplified block diagram showing a sample hall device (10) in accordance with a particular embodiment of the present invention. As described above, the USB device includes a flash. The card controls $214 with one or more flash memory devices 215. Referring to the left half of Figure 7, the flash memory 215 is depicted in simplified form in Figure 7, /, under the needle field, The flash memory 215 includes an entry point register 420 and a defective product and a material 413 to control the selection bit 415A, and the control body 415B, and the non-volatile register are not used by the controller 214 and the flash memory. The communication between the bodies 215 is directly related to the functions performed by the entry point register s', wherein the entry point temporary storage H 420 indicates that the controller requires 33 2009 17017 to control the firmware 415B and the non-volatile register 42 〇. Refer to Figure 7 In the half, the controller 214 includes a microprocessor 45, a control e_〇int register 451 and an address locator, a static random access memory (RAM), - Read-only memory (_), an input/output interface circuit stub. The control endpoint register 451 provides the system default address required by each controller (she trained add face). The control endpoint register is used for Communicates with this device, even if the address changes later. Static ROM 453 includes - RAM buffer (buffer) leg and fast flash access time register (1) her access timing register) 453B. Buffer includes - enough memory to store fast At least a "block" of the flash memory 215 and, for example, when performing a block copy job (such as reading data from the flash memory 215 and writing to the face), the buffer can be used to increase the execution speed. During communication with the flash memory 215, the flash memory fetches the time register and stores the instruction code (Fig. and code) utilized by the controller 214. The read only memory 454 includes hard-wired data (ie, cannot be Repair (10) information), which is a hard link package The jump start firmware 454A and the research bonus 454b. The jump start firmware 45M includes - resetting her vector (making t add veeto), which causes the microprocessor 450 to perform a large degree of jump operation (扣 卯 〇 〇 ) ) 至 至 至 至 至 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快 快. · "timing state maehine" f material and block instructions. In addition, the jump start secret includes writing a static instruction code of the flash memory time register 453B, and the static instruction code is used as the system default time (eg, ^咐t face g) 'for example' from the flash memory 215 During the initial read/write instruction or during the initial read/write instruction of flash memory 34 200917017. Note, however, that the dynamic control code used to support different types of flash memory is present in the stellar side of the Quick Locator 215 to aid in the update. The different descriptor value side is also the hard code in face 454, and this descriptor value _ is used when the test host requests a special input from the device (10). When it is unable to respond to the error value, it will be said to be rejected by the test host, and it is determined that a controller failed. A more detailed description of the miscellaneous „sequence_large__(10)_ gamma zero c(four) specification. The controller 214 includes - only a large number of passes (Buik - 〇niy Qiqing. ^, b〇t) instruction decoding _ to help utilize The win command communicates with the flash memory 2ΐ5. The logical block address-physical block address (LBA, _PBA) converter/decoder side decodes the logical address generated by the calendar instruction decoder. The human/output interface circuit 4?G includes a physical layer USB transceiver 470A for transmitting and receiving different audio signals. A continuous interface engine 470B is used to execute the sequence and the Hsen is defeated (1). Parallel/serial Uparallel to serial), a data buffer is used to buffer the input/output (incoming/kiss data frame, and because the speed matching is different, so use the continuous interface engine 470B, different registers And the interrupt processing logic fox handles the protocol. Figure 8 is a simplified block diagram depicting the different address structures and partitions of the flash memory 215 after the test/formatting process (described previously) is completed. As shown in the left half, flash flash The body 215 is mainly divided into a read-only area and a read/write area. The read-only area 4G5 includes a entry point register, a bad block list (badb off (4)) 413 reserve block 414 'controls the body, mainly Boot block (10) s you B〇〇t B1〇ck) 35 200917017 416 and non-volatile register 42 As shown in the right half of Figure 8, the entry point register seems to include a control _ body entry point The address plane stores the location of the control body, the non-volatile register access point address 420A stores the location where the non-volatile register 421 has different values, and an operating system (OS) enters the address 420C. The location of the primary boot block 416 is stored. The read only memory 405 can only be updated by the manufacturing test software and cannot be changed by the general user host % system. The control 415B is executed by the microprocessor n 450 of the controller 214. (See Figure 7), and the control 415B is only read (i.e., cannot be updated by the end user). Similarly, the non-volatile register 421 stores values that can be updated during the test/format process. (eg product serial number or II) number) 'but these values cannot be accepted by the terminal The user is changed. The read/write area 406 includes a memory block for use by the end user. In one embodiment, the 'read/write area side includes a basic standard structure, so the file can be affected. The host operating system reads/writes ' and can be divided into several partitions (partitions i, 2, 3, 4). The first partition (partition 1) includes file configuration table (FAT) 1417A and rights Configuration table (fat) 2 side, a directory 418, and file cluster. According to the embodiment of the present invention, when the USB device 1 (M starts, the static control code is read from the jump start body to Fast flash memory time register. In the initial step (block 110 of FIG. 6), the controller 214 uses the flash memory 215 using the system default timing provided by the static control code, such as reading the product identification data of the flash memory 215. . The identification time of the production time is transmitted; ^ to the host system, the main age system compares the product to the storage line to identify the time parameters (or, before the initial reduction process, the operator can provide the flash memory first) The product identification of the body is given to the host system). The host system then writes the updated 36 200917017 time parameter to the controller's control to have these updated time parameters present in the flash memory time slot. - Find the touch, control _ curry, _ has updated the time parameter to write the person to format the information into the flash memory, thereby reducing the manufacturing time ^ Note, once the formatting is completed, the control selection bit ship is set to flash In the memory 215, when the device gamma is activated (4), the selection bit 415A causes the controller 214 to write from the control of the body lake dynamic control code to the flash memory time register 453B. Figure 9 is a diagram showing the presence of a dead zone in the case of a flash memory in the case of a flash memory in accordance with the embodiment of the present invention - a good memory block, a binary The G" value indicates that the bad memory block. The badly stored block data is related to the two copies of 413B' to ensure that bad block data is available even if one copy is damaged. The other two blocks (see Figure 8) are temporarily reserved for use in the future - a list of bad blocks and 413B. During the manufacturing test, the manufacturing test software controls the update of all bad blocks. According to the process defined by the control code! etiquette, if a bad block occurs during normal operation, the list of the Rylin block will be approximated. Moreover, (4) When there is another bad block found in ##, there will be another bit updated to "", so before updating the list of bad blocks with the lion, such as the new block of the mosquito, it is Yong Weng It is necessary to erase all bits 7G to 1. Therefore, the reliability of the block for storing the bad block data is higher. FIG. 10(A) is a flow chart for manufacturing a software calculation rule according to another embodiment of the present invention. The figure is used to test/format the USB-tested device (10)T). When the tester inputs all the parameters to the test host and is immediately read by the test host, the test starts (block 601). Job-Getaipto (Wei) touch the gift age (10) take _ hard description 37 200917017 descriptor value (block 602) 'then' software execution - set_descriptor command to set the correct value (correct value) and add or change descriptors, and Rather than adding or changing descriptors in the RAM registers of the controller (block 603). Then, when executing an igumti plus instruction 'software spike initial configuration value (configUrati〇n vaiue) (block 4), then Set_configuration software download A different configuration value (block 6〇5>, then the software reads an interface descriptor value, responds to a Get_interface command (block 6〇6), and then the software uses the Get-interface command to download the correct value (block 607). Download the fixed address of the device to the USB device and respond to the Set-address command of the software. When successful, a related colored flag will change in response to the connection power status (plUg-in status) (squares, then reset the device temporarily) The device register value is in response to a ciear-feature instruction (block 609), and some special features, such as remote-wakeup or endp〇int_halt capabilities, are subject to the software set-feature (block 610). The USB device can be A variety of different types, such as large storage types 'and can be subject to different types of specific instructions, such as Uke-max_lun (block 611)' to read the number of partitions supported by the software, for unformatted devices, the software will order Set the system default (default), where the system default value is based on the number of splits of the flash device. After that, use a Get_status command to check the program. Whether it succeeds (block 612). If successful, the color of each pattern on the s-type host monitor changes to indicate a successful stylized state (block 613). Figure 10(B) is another The flowchart of the manufacturing software calculation rule of the embodiment is used for calculating a USB device under test (DUT). When the dut is plugged into the test hub, which is connected in turn to the test host (for example, a normal pc), the 38 200917017 calculation process begins. Since the DUT is not tested, either the D+ or D- pin should have a 1 ohm pull up resistor connection and be recognized at full speed or low speed (block 7〇2) if the resistance value is incorrect or not connected 'colored The flag will indicate that it is a defective device and should be rejected. Once the test host PC recognizes the DUT 'test host driver a Reset command to the DUT for at least 10 seconds (block 703). If the DUT responds appropriately to the reset command and indicates Is a successful reset state 'test host is issued to the DUT using the default control endpoint (block 704). After testing the host PC, send Get_descriptor to the DUT controller hard code value to obtain The MaxPacketSize parameter (block 705), and the DUT responds by transmitting its transfer package size (block 706). The test host pc then transmits Set_Address to the DUT to assign a unique address. If the test host pc and MN All communication between the two is successful here (block 7〇7A, is the "path"), after which a short version of the mass storage drive is transmitted DUT, wait until the communication is used again (square penalty). After that, the test host sends a Get_descript〇r command to 酣, compares the device descriptor value with the system default value that has been set by the system, and any inconsistency will be reflected in the test host. The DUT rejects the DUT on the pc (block 709). If the device descriptor value is correct, the test host pc transmits a set_configuration command, sets the number of configurations (block 71〇), and writes all necessary values to the DUT. In the flash memory, the calculation is completed by this (block 711). Figure 11 is a flow chart showing the operation of the test host system for USB flashing according to another embodiment of the present invention. In part, the operator starts the test (block 801), and all the configurations and all possible _, _ notes are assigned to the program towel (block view), these rights 39 200917017 download to the program secret hard disk After the program, the program will wait for the correct person to test the correct parameters, such as 'the start of the test device (DUT) of the mosquitoes or even the actuation program. At the bottom of the block, there are two paths of age that she wants to be decoded and executed: low-order formatting (right branch under block 8Q4) and flash memory software configuration (left branch under block 804) Referring to the lower right part of Figure 11, low-level formatting involves performing a flash block on all flash memory blocks - flash / read / write field 4, because the memory may be first used by other management vendors. And generally there will be no _calculation rules to mark bad blocks, so the test take / write (R / W) mode writes have a flash memory area record (block 810A). Thereafter, each R/W mode is read and the R/w mode is compared to the desired result. Then, although the secret block has been marked as bad, it depends on all the __ blocks being erased. After that, 'only good blocks are erased to all binary bits!', during the value period, low-order formatting is performed (block 811). However, because the flash memory may be contaminated by the use of green, it may be recorded. · (4) Art loser (p eter SGan coffee seieetiQn entry) Complete scan of the bad blocks. Then 'each memory card's individual information is written to the flash memory card to update the individual memory card information. (block 812). In the embodiment, the information includes a serial number, a product id, a vendor 1]} and an LED light mode (block 817). Then the control body is written into the flash memory (block 8i3), For example, 'copy the second (four) (image) file to the flash memory (block 818). In addition, the record is in the non-volatile temporary storage of the flash memory _ body into the address. After that, the flash memory According to the customer's request, the software will load the 〇s stored in the non-volatile register into the pre-programmed pin of 200917017. After the customer requests, the initial project will be Copy to flash memory (box 815 > these files The slot that can automatically execute the image Z execution is applied to the pre-copy directory of the test host (4) (block 819). After that, the stored data is read back from the DUT and stored in the test host hard disk device. For testing and future reference (block 816). The 11th left part includes a selective procedure for updating, such as the flash time stored in the dynamic control code. Initially, some parameters are subject to change, for example, due to In the test program, I have already remembered the change of _, so it may be necessary to confirm whether the test operator password is correctly rounded, and confirm whether the updated flash time is input. However, the process of the u-th image is continuous. Used to test 丽 with the same flash device, you do not need to perform the selective process on the left side of the u-Fig 14 because the program retains the correct parameters for the test. Refer to the left part of Figure 11 for the low P white format. Pour the system (four) record (four) software domain, flash flash configuration configuration begins to check the operator's fingerprint password (box 8 (6). Flash flash card software is limited to authorized personnel (such as device manufacturers), An unauthorised person without a password will be rejected by the age and will not be able to use it. Once the correct password is confirmed, the operator will enter the instruction (box 805A). 1. The system is composed of many different suppliers. It is produced and has many different parameter settings 'because the memory capacity continues to increase from each vendor. The first step in the software configuration is to identify the specific flash memory (square surface) used for the target 'DUT. The program is sound, the order of flashing 5 recall type is pre-synthesis for elasticity purposes (block 8D7), and the user can update this order 'and for easy modification' all the update information is displayed on the device monitor On the device (block 808) 'The change is then in the deposit slot for future reference. 41 200917017 Sections 12 (Α) K and 12(8) are simplified diagrams showing the double route (_冰如(8) and single route (singIe channe 缺陷 快 flash memory wafer operation. 13th (A) _ and 13 (8) It is a block diagram depicting the configuration of the relevant Fastang memory. When there are dual numbers of flash memory chips integrated with the device, these two options can be applied: single route or dual route operation. As shown in Figure 12(1) For the dual route operation, the data bus is divided into two from the controller 214. The P knife. The shell material data [7:0] is connected to the flash memory chip group, and the data line data is connected to the flash memory. Chipset (4), in which both memories share the same controller address and control busbar 9〇. The advantage of the dual route operation as in U) is that the speed is fast. The pottery busbar becomes special (4) (A) The shortcomings shown in the figure are the bad blocks in the _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ And reduce the good two groups that can be used quickly The address of the chip is also staggered in order to reflect the connection of the data bus. Connection: To the capital: two: "Line operation' Two of the memory groups 215-U and 215, 13 (8) are not 'not as the 13th ( A) _ teaches the double-track operation to lead to the situation of the younger block. According to this, the single-route operation can be expanded to erase the shortcomings of the missing m-line^ caused by the reserved purpose of the bad area. Slow, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Figure 14 shows a block diagram of the parameters stored in the different memory fields of each device. All parameters can be changed by the operator and divided into two categories: device information and groups. The device information is stored in a block (area) where each device is located in the upper area as in Figure 10, block 905 includes the maximum device capacity (e.g., 256 MB). Blocks 9〇1 & include by the device manufacturer Recording capacity Quantity (for example, a device with 25_max capacity, the effective device capacity can be set at 25_ 'The remaining 6MB is reserved for bad block management.) The block includes the flash memory part, for example, the manufacturer Part of the number is established by Samsung (Sa_g) or Infineon (such as Samsung's K9K8G〇8_'s de-cafe flash memory) box 903 includes - flash memory ID information, which is fast The flash initial command address is deleted and used for & flash-smoothing device is correct, because some flash memory has different time properties but enjoy the same-ID code. This feature is provided to facilitate the adjustment of the fast (4) in order to allow the end customer to enter the different flash speed specifications. Block 9〇4 includes the number of flash wafers that should be used in a particular device. During formatting/testing and subsequent modification of the device, blocks 905A, 905B, and 905C store different passwords for use. Since the operator password is very important for controlling the manufacturing process, and for the maintenance of the test sample f, the password modification (block 嶋) and the confirmation (square) are critical for the formal access of the MIS control test program. The configuration information of device 10B is disclosed in the block diagram below the device information of Figure 1. Block 906 includes a product line number (producti〇n line number), which is used to produce an operator ID number that controls 43 200917017 information. Block 9G7 includes pre-sweeping cat flash type information, which includes different methods of broom flash memory (erase/read/write), _ fast back block value (_back block value) (block 907A) ), a full broom value for all blocks (Box 9〇7B), - sweep the cat's good block and skip the manufacturer's female bad block tag value (square). For devices that use (iv) memory TL devices, it is recommended to sweep the cat and re-establish the bad block list (bad_block_list) (block 907B). Block 908 includes a major serial number (serial _ber, S/N), and the square face includes the initial S/N of the semaphore, with the updated face number information of the square face' and whether the serial number is generated using a preset sequence or randomly generated ( That is, the sequence number can be increased or decreased 'can also be generated by the operator's rotation (such as software call - random number generator and - seed parameter (such as host tester time / date) to ensure its randomness), the main principle is For each device according to the USB specification, the serial number f is different. Block 9 (10) includes the current specifications and limits of the device (e.g., the maximum current usage), where the device exceeds this number as an indication of device failure (e.g., 5 (10) legs are the maximum specific current listed in the device). Block _ includes the interval and brightness values of the device LEDs under different conditions, and is used to inform the operator of the operational status (eg, #Like or success or the device is idle or in use). Block 917 includes the supplier/product melon number of the correct controller for allowing the test to be performed in a variety of processes, where the county is in this scale, and initially will be rejected by the test/format system. Block 911 includes the vendor name and product context decoding resource ‘block with the product φ column name (string n successor) and version information. Block Μ Save-statistics, indicating the number of pass/fail tests for the products tested on the test product line (block 913Α is used to reset this value), block 915 includes the maximum number of test products line 200944 200917017, because the test It is initially set by a specific operator and this information is used to provide useful statistical information for the operator. Block 919 includes the maximum reserve ratio of the flash memory (i.e., the number of spare memories required for poor block configuration for future operational purposes). The block 921 includes a write protection switch (on or off), and the block 92A includes a capacity allocation number for recording that the flash memory can be allocated to a plurality of different areas during storage for data classification purposes. Block 920 stores a v〇lume label, such as D: (E:, F:, and so on). Finally, block 920 contains the leg number for each slot for each device, and this message is used to reveal an error code when the device fails during the test/format process. Since the multi-layer cell (MLC) flash memory has a larger storage density than the single-layer cell flash memory of the same size, the flash memory is becoming more and more popular. «Partial embodiments of the present invention, the techniques described above can be applied to mass production of MLC flash memory or production testing of MLC flash memory. For a more detailed reference to the above-mentioned content and U.S. Patent Application Serial No. 11/737,336, the entire disclosure of which is assigned to the same assignee. Fig. 15 is a view showing a multi-layer voltage sensing of an MLC memory unit L) according to a conventional embodiment of the present invention, and the system as shown in Fig. 15 can be used together with the above technique. A flash memory has a flash memory cell (flash array, which is set in line (and), column (four) wake up), and selects the flash memory cell array according to the row portion of the address and the column portion of the address. The address can be generated by the logger (seq job er) depending on the area address or page address placed in the flash memory chip. The third part of the address is the effective selection of the memory cell (10) bit. 45 200917017 Control Engine 1052 receives the address and selects at the selected row and column intersection

應,但只有位元劃分被顯示。 參照第15圖,控制引驾 擇一個或多個快閃記憶單元 logic) 1060,使每一却掊忘 ,被選定的快閃記憶單元 位兀線1058受上拉(puu up) ^56先充電 係在被U疋的行與列之父叉處,且快閃記憶單元1054具有一閘極電壓 VG ’其係在通道打開時受施加’取決於快閃記憶單元刪之狀態。不同的 狀‘悲可此被程式化至快閃記憶單元1()54,每個狀態於快閃記憶單元脳之 浮動閘極上齡了不同數量的電荷’因此每條態造成不同大小的通道電 流流經快閃記憶單元1〇54 ’從位元線1〇58至接地端。可調變電流流經快閃 記憶單兀1054,結合上拉電流從上拉1056而形成一分壓器。位元線1〇58 上的電壓因此隨著被程式化至快閃記憶單元1〇54中的狀態而改變。 位元線1058係作為比較器1030-1040的反相輸入端(inverting input),非反相輸入端對比較器1030-1040而言係參考電壓,此參考電壓 係由參考-電流產生器1041-1051所產生的。由參考-電流產生器1041-1051 所產生的電壓係受控制引擎1052所控制,並回應這些用於感應四個記憶單 元狀態的參考狀態電壓、較高狀態電壓、較低狀態電壓。 由參考電壓產生器1041-1051所產生的電壓係連續的高電壓,所以位 46 200917017 元線電壓超過較低的參考電壓,清除較低狀態比較㈣輸出,而當位元線 電壓無法超過較高的參考電壓,則使得較高狀態的參考電壓輸出係維持原 設定。從輸出0的比較器30-40過渡到輸出1的比較器1〇3〇〜1〇4〇之位置 係才曰出位元線1058的感應電壓。例如,當比較器輸出〇與比較器輸出1, 比較器1037與1038發生0至1的過渡。施加電壓IU2至比較器1〇37, 施加電壓IR3至比較器1038。位元線1038的電壓係位在IU2與iR3之間, 係讀為狀態3 (01)。 解譯邏輯器1_從比較器接收n個比較器輸出,並偵測 從0過渡到1的位置。解譯邏輯器1060產生數個輸出,例如讀取資料位元 (read data bit) Dl、DO ’其係2位元,用以對從記憶單元中所讀取的狀 態解碼。一 4位元MLC將會有一解譯邏輯器,其輸出四個讀取資料位元兕、 D2、D卜 DO。 從解譯邏輯器1060的其他輸出在記憶單元程式化期間係有用的。在程 式化期間,記憶單元緩慢地被充電或被放電,故在位元線1〇58上的電壓改 變。一旦所需的資料從資料-讀取輸出、D〇讀取出,工作停止。然,為 確保足夠的雜訊界線(noise margin),位元線電壓應該是在較高與較低狀 態電壓之間’例如VL2與VU2之間,而並非是於相鄰的讀取_參考電壓之間, 例如VR2與VR3之間。當位元線電壓係在VR2與VL2之間,啟動 imder-prOgram輸出’當位元線電壓係在與之間,啟動〇ver pr〇gram 輸出。當位元線電壓係在VL2與VU3之間,則皆不啟動under_ program 輸出與 over-program 輸出。 47 200917017 當-所欲的記料元值已制,也可赠動小於鱗於的輪出。位元 選浦出小於或可以供應寫入資料至解譯邏輯器删以允許小於或等於的 輸出至目礙輯麟。姆賴器麵可作為—真絲(truth福+ 因為參考電流流經電阻而產生—參考籠,所以當比較器酬__是電 流比較器,參考-歧產mG41_聰可以產生參考電流或參考電壓。 第16圖顯示-可程式化的連續參考產生器與操作放大器。電壓參考產 生器112D產生-較高的參考電壓施加在較上方的操作放大器ιΐ6ι與電阻 盗1101。校正暫存器(calibration register) 1122可以程式化至不同數 值以調整電壓參考產生器1120所產生的最高參考電壓值。 對連串的電阻器1101-1111施加較高參考電壓,構成一分壓器 (voltage divider)至接地端。每個電阻器11〇1_mi的電阻值可以一樣 大’所以較高參考電壓與接地端的電壓差可分成u個相同的電壓分段,產 生11個分電壓。或者’每-電阻隨—仙可以具有一不同的可程式化數 值以提供更多的電壓控制。 從電阻器1101-1111的每一個分壓施加於其中一個操作放大器 1161-1171之非反相輸入端⑴,每個操作放大器1161_1171的輸出端與反 相輸入端係連接在一起以達到高效益。反相輸出端經由接地電阻 連接至接地端,其巾接地電阻ϋ 1181—1191具有相_電賊。每一個操 作放大器1161-1171產生-參考電壓’其等於施加在非反相輸人端的分壓。 因此產生11個參考電壓,其所具的賴值係歡增加。這些參考電流對應 第15圖的參考-電壓產生器1041_!〇51所產生的參考電流。 48 200917017 當讀取快閃記传垔_ ^ ° 70功間有發生資料錯誤,與位元線電壓比較的參考 電J會又咖整以試朗復,_記憶單元⑽諸。例如,漏損(Ieakage) °、.轉在丨綱5&憶單元浮細極内的電荷,造成太多電流流經被選 定的快閃記鮮元1G54通道⑷5圖)。因此,位元線霞獨。校正暫 存器1122可以重新被程式化以減少電齡考產生器所產生的最高參考電 壓’降低财施加雜作放M 1161_mi的參考賴。低線電壓現在 可I落在正確參考值中,允許資料在沒有超過最大容許虹錯誤數下受到 讀取。 校正暫存器H22可以逐漸改變直到受讀取的資料都無誤為 止。ECC位元組可以用於偵測錯誤,所以當Ε(χ檢查器報告出錯 誤很少或沒有錯誤時,參考-電壓調整可以停止且讀取資料。區塊 可以重新分配。 第Π圖係- MLC於寫入或抹除操作時的降級(—域⑻ 流程圖。當寫入或抹除操作期間發生錯誤,步驟1 go?,在# 低活動期間,ECC檢查器標記出太多錯誤,則啟動此降級流程。2 憶體位元(bits-pene⑴指示器從區塊或特別區塊的多餘區域 s賣取,步驟1204。當§己憶體位元指示器已經是每記慎單元1 一 步™ ’記憶單元會先降級至最小密度,而錯誤::發:兀降 級係不成功的。步驟1208,藉由清除在多餘區域之不$區塊4 一 組(Byte)中的位元,標記區塊為不良區塊,所以這個區塊:見: ㈣從日後的使_ 121〇 ’假㈡要的話’可以選擇另 49 200917017 一區塊來操作。 當區塊具有其記憶體位元指示器來設定每一記憶單元之2個 或更多位元,則區塊之後可以降級。步驟1214,從區塊多餘區域 的記憶體位元指示器所讀取的位元/記憶單元數目係減少至下一 個較低的程度’例如從每個記憶皁元之4位元(4位元/記憶單元) 下降至每個&己憶單元之3位元(3位元/記憶單元)。區塊的大小可 能減少,或區塊的安排可能改變以配合每個記憶單元之位元所減 少的數目。例如,從4位元/記憶單元至3位元/記憶單元,區塊 大小可以切成一半。在降級後,區塊之頁可以具有一半的邏輯分 割器數目。 步驟1216,將被減少的位元/記憶單元寫入至記憶體位元指示 器,以降級區塊。寫入或擦拭操作之後可以在降級區塊上重新被 執行。當降級流程因讀取錯誤超過而受致動,則一旦資料已被讀 取且重新配置到另一區塊,區塊可以被抹除。Yes, but only the bit division is shown. Referring to Figure 15, the control drives one or more flash memory units (logic) 1060, so that each is forgotten, the selected flash memory unit bit line 1058 is pulled up (puu up) ^56 first charged It is at the parent fork of the row and column of the U, and the flash memory unit 1054 has a gate voltage VG 'which is applied when the channel is opened' depending on the state of the flash memory cell deletion. Different shapes 'sorry can be programmed into flash memory unit 1 () 54, each state has a different amount of charge on the floating gate of the flash memory unit, so each state causes different sizes of channel currents. Flow through the flash memory unit 1〇54' from bit line 1〇58 to ground. The adjustable variable current flows through the flash memory unit 1054, and a pull-up current is pulled up from the pull-up 1056 to form a voltage divider. The voltage on bit line 1〇58 thus changes as it is programmed into the state in flash memory unit 1〇54. The bit line 1058 serves as an inverting input of the comparators 1030-1040, and the non-inverting input is a reference voltage to the comparators 1030-1040, which is referenced by the reference current generator 1041- Produced by 1051. The voltage generated by the reference-current generators 1041-1051 is controlled by the control engine 1052 and responsive to these reference state voltages, higher state voltages, lower state voltages for sensing the state of the four memory cells. The voltage generated by the reference voltage generators 1041-1051 is a continuous high voltage, so the bit 46 200917017 line voltage exceeds the lower reference voltage, clearing the lower state comparison (4) output, and when the bit line voltage cannot exceed the higher The reference voltage is such that the higher state reference voltage output is maintained at the original setting. The transition from the comparator 30-40 of output 0 to the position of the comparator 1〇3〇~1〇4〇 of the output 1 is the induced voltage of the bit line 1058. For example, when the comparator output 〇 is compared to the comparator output 1, comparators 1037 and 1038 undergo a 0 to 1 transition. Voltage IU2 is applied to comparator 1〇37, and voltage IR3 is applied to comparator 1038. The voltage of bit line 1038 is between IU2 and iR3 and is read as state 3 (01). The Interpretation Logic 1_ receives n comparator outputs from the comparator and detects the transition from 0 to 1. Interpreting logic 1060 produces a number of outputs, such as read data bits D1, DO' which are 2-bits for decoding the status read from the memory unit. A 4-bit MLC will have an interpretation logic that outputs four read data bits 兕, D2, D, and DO. Other outputs from the interpretation logic 1060 are useful during the staging of the memory unit. During the programming, the memory cell is slowly charged or discharged, so the voltage on the bit line 1〇58 changes. Once the required data is read from the data-read output, D〇, the work stops. However, to ensure a sufficient noise margin, the bit line voltage should be between the higher and lower state voltages, such as between VL2 and VU2, rather than the adjacent read_reference voltage. Between, for example, between VR2 and VR3. When the bit line voltage is between VR2 and VL2, start the imder-prOgram output. When the bit line voltage is between and between, start the 〇ver pr〇gram output. When the bit line voltage is between VL2 and VU3, neither under_ program output nor over-program output is started. 47 200917017 When the value of the desired material is already in place, it can also be given a round that is smaller than the scale. The bit is selected to be less than or can be supplied with the write data to the interpretation logic to allow the output to be less than or equal to the target. Mray's face can be used as a silk (truth blessing + because the reference current flows through the resistor - reference cage, so when the comparator __ is the current comparator, the reference-distribution mG41_ Cong can generate the reference current or reference voltage Figure 16 shows a programmable continuous reference generator and operational amplifier. The voltage reference generator 112D generates a higher reference voltage applied to the upper operational amplifier ιΐ6ι and the resistor thief 1101. Calibration register 1122 can be programmed to different values to adjust the highest reference voltage value produced by voltage reference generator 1120. A higher reference voltage is applied to a series of resistors 1101-1111 to form a voltage divider to ground. The resistance of each resistor 11〇1_mi can be the same size' so the voltage difference between the higher reference voltage and the ground can be divided into u equal voltage segments, resulting in 11 divided voltages. Or 'per-resistance can be There is a different programmable value to provide more voltage control. Each of the voltage dividers 1101-1111 is applied to one of the operational amplifiers 1161-1 The non-inverting input terminal (1) of 171, the output end of each operational amplifier 1161_1171 is connected with the inverting input terminal for high efficiency. The inverting output terminal is connected to the ground via a grounding resistor, and the grounding resistance of the device is 1181- 1191 has a phase _ electric thief. Each of the operational amplifiers 1161-1171 generates a -reference voltage 'which is equal to the partial pressure applied to the non-inverting input terminal. Thus, 11 reference voltages are generated, which have a higher value. The reference current corresponds to the reference current generated by the reference-voltage generator 1041_!〇51 of Fig. 15. 48 200917017 When reading the flash 垔 _ ^ ° 70 There is a data error between the powers, the reference with the bit line voltage comparison The electric J will be tried again, and the memory unit (10) will be replaced. For example, the leakage (Ieakage) °, the electric charge in the floating electrode of the unit 5& The fast flashing fresh element 1G54 channel (4) 5 figure). Therefore, the bit line is independent. The correction register 1122 can be reprogrammed to reduce the maximum reference voltage generated by the electrical age tester. The low line voltage can now fall within the correct reference value, allowing the data to be read without exceeding the maximum allowable rainbow error number. The correction register H22 can be gradually changed until the data to be read is correct. ECC bytes can be used to detect errors, so when the χ checker reports that there are few or no errors, the reference-voltage adjustment can stop and read the data. The block can be reassigned. MLC degradation during write or erase operations (-domain (8) flowchart. An error occurred during a write or erase operation, step 1 go?, during the low activity, the ECC checker flagged too many errors, then Start the downgrade process. 2 The bits-pene (1) indicator is sold from the redundant area of the block or special block, step 1204. When the § memory bit indicator is already one step per unit of caution unit 1 ' The memory unit will first be downgraded to the minimum density, and the error:: send: 兀 downgrade is unsuccessful. Step 1208, by clearing the bits in the redundant area of the block 4 Byte, marking the block For the bad block, so this block: see: (d) from the future to make _ 121 〇 'fake (b) if you want to choose another 49 200917017 a block to operate. When the block has its memory bit indicator to set each Block of 2 or more bits of a memory unit Thereafter, the level can be degraded. In step 1214, the number of bits/memory units read from the memory bit indicator of the redundant area of the block is reduced to the next lower level 'eg, 4 bits from each memory soap element ( The 4-bit/memory unit is dropped to the 3-bit (3-bit/memory unit) of each & recall unit. The size of the block may be reduced, or the arrangement of the block may be changed to match each memory unit. The number of bits reduced. For example, from 4-bit/memory unit to 3-bit/memory unit, the block size can be cut in half. After degrading, the page of the block can have half the number of logical splitters. 1216, the reduced bit/memory unit is written to the memory bit indicator to demote the block. The write or wipe operation can be re-executed on the degraded block. When the degradation process is exceeded due to a read error Subject to actuation, the block can be erased once the data has been read and reconfigured to another block.

第18圖係使用ECC位元組及透過調整電壓參考值來讀取錯誤 修正的流程圖◊讀取錯誤可藉由檢驗被讀取資料至ECC 位元組而 受偵測。例如,從資料與ECC位元組所產生的非零症狀可以發出 錯誤產生的訊號,及發出錯誤之位元位置與錯誤校正之訊號。 步驟1220,當一讀取錯誤被偵測到,致動此流程。步驟1222, 當錯誤的數目與位置是允許使用ECC位元組來校正錯誤,之後可 以使用ECC位元組修正讀取錯誤,步驟丨242。步驟1230,資料可 50 200917017 以重新被配置在另一區塊,利用記憶體位元指示器使方塊抹除及 選擇性受降級。 可校正錯誤的數目係一固定數目,例如一 ECC極限或隨錯誤位 置改變,例,如一位元組中之任意3位元,或任一串4個不良位元。 ECC極限也可被任意設定,或設為一較低的可修正值,但仍舊有令 人不快,表示應該被降級的區塊,即使其錯誤是可修正的。 在步驟1222,當錯誤的數目超過ECC極限時,ECC機制並無法 修正所有的錯誤,故資料可能會遺失。因此,藉由調整與位元線 電壓比較的參考電壓位準,來企圖回復遺失的資料。在步驟1224, 校正暫存器1122係寫入新數值資料以使電壓參考產生器1120產 生一較高的參考電壓。這使得所有的參考電壓一連串的漸漸增 加。在步驟1226 ’使用這些較南的參考電壓Ί買取區塊中的貢料。 之後,並使用ECC位元組檢查資料是否有錯誤。在步驟1228,當 錯誤數目減少至ECC極限以下,提高參考電壓係成功的。在步驟 1232,ECC位元組可以用於修改所有剩下的錯誤。在步驟1230, 然後資料重新安置至其他區塊。這個區塊可以透過第17圖的呼叫 降級流程而降級。 當儲存在快閃記憶單元的負電荷數量增加時,有時增加參考電 壓係成功的。且,負電荷增加是由於從讀取或程式化相鄰記憶單 元所產生的記憶單元擾動造成。超過的負電荷需要較高的閘極電 壓來彌補,所以提高參考電壓是有效的。 51 200917017 在步驟1228,當錯誤的數目仍超過ECC極限時,則之後提高參 考電壓並不會成功。其中,可以藉由重複步驟1224-1228 (圖中未 示)幾次來提升參考電壓。 當提高參考電壓卻無法回復資料時,可以降低參考電壓。在步 驟1234,第16圖之校正暫存器1122係寫入新數值資料以使電壓 參考產生器1120產生一較低的參考電壓。這使得所有的參考電壓 一連串的漸漸降低。在步驟1236,使用這些較低的參考電壓讀取 區塊中的資料。之後,並使用ECC位元組檢查資料是否有錯誤。 在步驟1238,當錯誤數目減少至ECC極限以下,降低參考電壓係 成功的。在步驟1242,ECC位元組可以用於修改所有剩下的錯誤。 在步驟1230,然後資料重新安置至其他區塊。這個區塊可以透過 第17圖的呼叫降級流程而降級。 當儲存在快閃記憶單元的負電荷數量減少時,有時降低參考電 壓係成功的。且,漏損(leakage)可以造成負電荷減少。減少的負 電荷造成多餘的通道電流流經被選定的記憶單元以回應一固定閘 極電壓。多餘的通道電流造成位元線電壓比往常電壓低,因此參 考電壓必須降低以彌補記憶單元漏損。 在步驟1238,當錯誤的數目仍超過ECC極限時,則之後降低參 考電壓並不會成功。其中,可以藉由重複步驟1234-1238 (圖中未 示)幾次來降低參考電壓。然,當資料錯誤數目沒有下降至ECC 極限以下,則表資料遺失。在步驟1240,發出一個不能回復資料 52 200917017 錯誤的訊號。上述過程之更詳細的資訊可以同時參考美國專利申 請號 11/737,336 號。 根據某些實施例,MLC快閃記憶體可使用在具有雙重性USB 插頭的USB裝置上,可支援多個通訊介面,也就是雙重性。 第19A-19C圖係根據本發明之一實施例,顯示具有多重性質 的USB擴充插頭之透視圖。參照第19A圖,USB擴充插頭顯示於完 整圖1301與分解圖1302中。在一實施例中,USB擴充插頭1300 包括一殼體或外殼1303與一 USB連接器基板1304,其中USB連接 器基板1304可插入殼體1303中,且殼體1303係金屬製的,也就 是金屬殼體。連接器基板1304包括一第一終端與一第二終端,其 中第一終端具有複數個金屬指或短小突出部(tab) 1305,第二終 端包括複數個電子接觸接腳13〇7。在一特定實施例中,接腳1307 具有9個接腳。連接器基板1304更包括一個或多個彈簧1306,用 於當其他USB連接器插入至USB擴充插頭之開口中,對另一 USB 連接器提供壓力而與接觸指13〇5具有實質接觸。 在一實施例中,接觸指13〇5可位在連接器基板13〇4之一上 表面上,其他接觸指(圖中未示)可以位在連接器基板1304之一 下表面上。例如,接觸指13〇5與標準USB規格相符,其他接觸指 可5又计成與其他介面相符,例如PCI Express或IEEE 1349規格 介面。所以,USB擴充插頭1300可用於複數個不同通訊介面,也 就是雙重性。關於具有雙重性的USB擴充插頭之更詳細的資訊可 53 200917017 在上述之申請案或專利案中找到,例如美國專利號7, 021,971與 美國專利申請號11/864,696,故可一併參考。 現在請參照第19B圖,USB擴充插頭13〇〇可以連接至PCBA, 其中PCBA具有一記憶體裝置及一用於控制記憶體裝置的記憶體控 制器。如第19B圖之上方俯視圖13〇8、側視圖13〇9、下方俯視圖 1310所不’ USB擴充插頭13〇〇連接至PCB基板1311,例如藉由焊 接接腳1307在PCB基板1311上。此外,一記憶體裝置,如快閃 s己憶體裝置可位在PCB基板1311之一表面上,一記憶體控制器, 如快閃控制器則位在其他表面。在本範例中,記憶體裝置丨315是 位在PCB基板1311的底部表面1313上,記憶體控制器1314係位 在PCB基板1311的上方表面1312上。在一實施例中,記憶體裝 置1315可以是一 MLC相容記憶體,記憶體控制器1314則可以是 一 MLC相容記憶體控制ic。 根據另一實施例,對於第19A—19B圖所敘述的技術也可應用 在快閃記憶體與快閃控制器係整合在單一封裝上,如第19C圖所 顯示的板上晶片(chip on board, COB)封裝。參照第19C圖,一 ⑶β封裝1316可是一種MLC封裝,可位在如pcb基板1311的上表 面1312上,其中COB封裝1316可藉由一個或多個位在c〇B封裝 1316表面上的接觸指(contact finger) 1317連接(例如焊接)。 第20A與20B圖係根據本發明之一實施例,顯示具有多重性質 的USB擴充插頭之透視圖。參照第20A圖,USB延伸插頭係顯示於 54 200917017 70整圖1401與分解圖1402中。在一實施例中’ USB擴充插頭1400 包括一殼體或外殼1403與一 USB連接器基板1404,其中USB連接 器基板1404可插入殼體14〇3中,且殼體14〇3係金屬製的,也就 疋金屬设體。連接器基板14〇4包括一第一終端與一第二終端,其 中第一終端具有複數個電子接觸指或短小突出部(tab),第二終端 包括複數個電子接觸接腳14〇7。在一特定實施例中,接腳14〇7 具有一第一列與一第二列,其中第一列具有5個接腳,第二列具 有4個接腳。連接器基板14〇4更包括一個或多個彈簧,用於 當其他USB連接器插入USB擴充插頭之開口中,對另一 USB連接 器提供壓力而與接觸指14〇5具有實質接觸。 在一實施例中,類似於USB擴充插頭1300,接觸指14〇5可位 在連接器基板剛之-上表面上,其他接觸指(圖中未示)可以 位在連接益基板14〇4之一下表面上。例如,接觸指刚5與標準 USB規格相符,其他接觸指可設計成與其他介面相符,例如 Express或!EEE 1349介面規格。所以,USB擴充插頭μ⑽可用 於複數個不同通訊介面,也就是雙重性。 現在請參照第20B圖,USB擴充插頭14〇〇可以連接至pCBA, 其中PC BA具有-記憶體裝置及-用於控制記憶體裝置的記憶體控 制器。如第20B圖之上方俯視圖14〇8、側視圖14〇9'下方俯視圖 所示’ 擴充插頭剛連接至⑽基板,例如藉由焊接接 腳1407在PCB基板上。如於側視圖14〇9所顯示的例子中接腳 55 200917017 接腳1407在PCB基板上。如於側視圖1409所顯示的例子中,接 腳1407之第一行可焊接在PCB基板之一上表面上,第二行可焊接 在PCB基板之一下表面上’反之亦然。此外,—記憶體裝置,如 快閃記憶體裝置可位在PCB基板之一表面上,—記體控制器如快 閃控制器則可位在PCB基板之其他表面上。在本範例中,類似於 第19(A)-19(B)圖所示,一記憶體裝置是位在pcB基板的底部表面 上,記憶體控制器係位在PCB基板的上方表面上。且,記憶體裝 置可以是一 MLC相容記憶體,記憶體控制器則可以是一 Μ1χ相容 記憶體控制1C。 同樣地,根據再一實施例,對於第2〇(A)_2〇(B)圖所敘述的技術 也可應用在快閃記憶體與快閃控制器係整合在單一封裝上,如第 20(C)圖所顯示的C0B封裝。也可用其他種形式的封裝。 第21(A)-21(I)圖係顯示USB擴充連接器與具有金屬接觸接腳 的插槽之實施例’其中金屬接觸接腳係位在接腳基板之上表面與 下表面响庄思如第21(a)-21(I)圖所示的實施例,係可與前述之 任何實施例接α。參照第2i (A)圖,擴充連接器具有塑膠殼體川6 以t、使用者要插人連接II插頭至插槽時握住。接腳基板21^供四 個金屬接觸接腳2188位在其上表面,其巾基板2nQ係絕緣材, 如陶曼、㈣或其他材質。金屬引腳(lead)或導線可以通過接 腳基板217G以連接金屬接觸接腳2188至位在塑膠殼體UK内用 於連接周邊裝置的導線。 56 200917017 5個背面金屬接觸接腳2172係位在接腳基板測之底部,接近 連接器插頭之末端。背面金屬接觸接腳2172係額外的接腳,用於 擴充信號’如PCI E寧ess訊號。金屬㈣(iead)或導線可以 通過接腳基板2170以連接金屬接觸接腳2172至位在塑膠殼體 2176内用於連接周邊裝置的導線。 在某些實施例中,金屬蓋體2173係_矩形管體,環繞著接腳基 板217。及具有一開口端。一位在接腳基板217。底部之金屬蓋體 2173上的開口係容許背面金屬接觸接腳2172受到暴露。 第21⑻圖顯示—USB擴充簡,其具有4個金屬接觸接腳位在 接腳基板的上表面’5個金屬接觸接腳位在接腳基板的下表面。接 觸基板2184具有4個金屬接觸接腳2186形成於__底面上,此底 面係面向供連接器之接腳基板2m插人的凹槽。接腳基板⑽ 也具有較低的基板延伸部⑽,具有_ L形狀的接腳基板這是 習知USB插槽所沒有的。 5個金屬接觸接腳218G係位在—較低的基板延伸部⑽,靠近 凹槽的開口端。—凸塊(bump)或彈簧可形成在金屬接觸接腳簡 上’例如藉㈣折平坦的金屬接腳1個凸塊料㈣接觸接腳 接觸背㈣金屬接觸接腳2172,其位錢接㈣接腳基板 2170。 凹槽是由接聊基板賴之底面、較低的接腳基板2185之上表 面及接腳基板2184之背面連接較低基板延伸部2185所形成的。 57 200917017 金屬蓋體2178係金屬管體,覆蓋接腳基板2184與較低的基板延 申P 185 USB連接器之金屬蓋體2173填充位在金屬蓋體2175 與接腳基板2184上邊、側邊之間的間隙。安裝接腳(m〇untingpin) 2182可形成於金屬蓋體2178上來安裝USB插槽至PCB或底架上。 第21(C)圖顯示接腳基板2184之底面,以供金屬接觸接腳2186 位在其上。這四個接腳帶有習知USB之不同訊號、電力、接地, 並與位在接腳基板2170上表面的USB連接器之金屬接觸接腳2188 接觸,如第21(D)圖所示。 USB接觸器具有5個背面金屬接觸接腳2172位在接腳基板2170 的底部表面上,排設方式如第21(D)圖所示。這些接腳2172與擴 充的金屬接觸接腳2180接觸,如第21(C)圖所示排設於較低的基 板延伸部2185上。這5個擴充接腳帶有擴充信號,如pCI Express 訊號。 第21(E)圖顯示具有9接腳的USB連接器插頭插入9接聊的USB 插槽中。當完全插入後’接觸基板2170之末端安裝在接腳基板 2184與USB插槽之較低基板延伸部2185之間。在連接器之接腳基 板2170的上表面上,金屬接觸接腳2188與插槽接腳基板2184之 四個金屬接觸接腳2186接觸。位在接腳基板2Π0底面的背面金 屬接觸接腳2172係與較低基板延伸部2185之上表面的延伸金屬 接觸接腳2810接觸。 因為背面金屬接觸接腳2172有凹進去而不會與習知USB插槽的 58 200917017 金屬蓋體2138接觸。第21^11135-± 弟ZUF)圖顯不連接器未插入USB插槽前, 標準的4接腳連接器與擴充的9接聊贈連接器的示意圖。 當完全插入時,就如第21⑻圖所示,連接器接聊基板2134之末 端插在插槽接觸基板2134的下方。在連接器接腳基板2134之上 表面處,金屬接觸接腳2132與插槽接腳基板2184的四個金屬接 觸接腳2186接觸。因為標準4接腳的USB連接器只具四個接腳 2132 ’故插槽接腳基板2185之上表面的接觸接腳與_連接器沒 Γ 有電性接觸。 第22(A)-22(I)圖顯示USB連接器與插槽的第二實施例示意 圖,具有金屬接觸接腳位在接觸基板表面之其中之一。第22(a) 圖顯示一擴充9接腳的USB連接器插頭具有四個金屬接腳及五個 擴充金屬接腳在接腳基板的上表面。第22(A)圖中,連接器具有塑 膠殼體2196以供使用者要插入連接器插頭至插槽時握住。接腳基 板2190供金屬接觸接腳220〇、22〇1位在其上表面’其中基板219〇 V 係絕緣材,如陶瓷、塑膠或其他材質。金屬引腳(lead)或導線 可以通過接腳基板2190以連接金屬接觸接腳2200、2201至位在 塑膠殼體2196内用於連接周邊裝置的導線。 接腳基板2190的長度係比接腳基板2134之長度L2長。增加的 長度可為2-5毫米’末端金屬接腳22〇1係大部分位在超過l2的 L伸區域中。金屬蓋體2193係矩形管體,環繞著接腳基板2190 且具有一開口端。 59 200917017 第22(B)圖顯示一擴充插槽,具有四個金屬接觸接腳與五個擴充 金屬接觸接腳位在接腳基板表面之其中之一上。接腳基板2204具 有金屬接觸接腳2206、2207形成在一朝向凹槽的表面上,此凹槽 係供連接器之接腳基板2190插入。接腳基板2204不需要第21(B) 圖之較低的基板延伸部,但可以如圖所示具有L形狀。 金屬蓋體2198係一金屬管體,覆蓋著接腳基板22〇4且有位在 下方的開口。USB連接器的金屬蓋體2193插入金屬蓋體2198與接 腳基板2204上邊、側邊之間的間隙。安裝接腳22〇2可以形成在 金屬蓋體2198上以安裝USB延伸插槽至PCB或底架上。 第22(C)圖顯示一擴充9接腳的USB連接器插頭插入9接腳的插 槽。形成於插槽的接腳基板2204之底面的金屬接觸接腳22〇7與 2206,分別與位在接腳基板2190的金屬接腳2201與2202接觸。 第22(D)圖顯示插槽接腳基板22〇4之底面,可供金屬接觸接腳 2206、2207位在其上。主要的金屬接觸接腳以⑽係在第一排的五 個接腳,最罪近插槽開口。次要的金屬接觸接腳22〇7係在第二排 的四個接腳’離插槽開σ最遠次要的金屬接觸接腳2207包括四個 USB接腳。主要的金屬接觸接腳2206包括擴充接腳,用於支援其 他介面規格’例如PCI-Express。 當USB連接器完全插入USB插槽時,接腳基板2i9〇之末端插在 娜插槽之接觸基板麗下方的凹槽。在連接器接腳基板⑽ 之上表面處,金屬接觸接腳2200與插槽接腳基板22〇4的六個主 200917017 要金屬接觸接腳2206接觸,位在接腳基板2190上表面末端的金 屬接觸接腳2201與位在接腳基板2204向下表面上的次要擴充金 屬接觸接腳2207接觸。 第22(F)圖顯示一擴充的9接腳連接器在未插入一標準4接腳 USB插槽前的示意圖。當完全插入時,如第22(G)圖所示,接腳基 板2190的末端插入插槽接腳基板2142的下方。在連接器接腳美 板2190的上表面,末端金屬接觸接腳2201之第一、第三、第四' - 第六個與插槽接腳基板2142的四個USB金屬接觸接腳2144接觸。 在接腳基板2190上表面之最後一排的金屬接腳2200與插槽金屬 蓋體2138或任何金屬接觸接腳沒有接觸,因為他們位在連接器接 腳基板2190太後面的位置。因此只有四個標準usb接腳(金屬接 觸接腳2144、2201 )可以電性接觸。 第22(H)圖顯示一標準4接腳USB連接器於插入一擴充的9接腳 USB插槽前的示意圖。當完全插入時,如第22(〗)圖所示,連接器 U 接腳基板2134的末端插入插槽接腳基板2204的下方。在連接器 接腳基板2134的上表面’金屬接觸接腳2132與插槽接腳基板22〇4 之第一、第三、第四、第六個的四個主要金屬接觸接腳22〇6接觸。 在基板2204的次要金屬接觸接腳2207與接觸器金屬蓋體2133沒 有接觸’因為擴充的USB插槽的深度比習知技藝的uSB連接器之 長度大。因此只有四個標準USB接腳(金屬接觸接腳2132、22〇6) 可以電性接觸。如弟22(F)-22(I)圖所示,擴充的9接腳usb連接 61 200917017 器插頭、插槽與標準習知4接腳USB插槽、USB連接器插頭電性連 接及機械方面相符。 雖然本發明已經透過某些實施例來敘述,但對於此技藝之人 士將會明瞭本發明之發明特徵也可利用其他實施例所達成,大凡 依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發 明之專利範圍内。例如,在此所敘述的系統與方法是特定針對USB 裝置,但本發明的精神與方法係用於涵蓋不同的介面匯流類型, 可包括一個或多個 PCI Express ’ SD(Secure Digi tal)’ MS(Memory Stick) , CF(Compact Flash) 、 IDE 及 SATA 。 【圖式簡單說明】 第1(A)圖為根據本發明之一實施例,顯示電子資料快閃卡及主機 系統的方塊圖。 第1(B)圖為根據本發明之另一實施例,顯示電子資料快閃卡及主 機系統的方塊圖。 第1(C)圖為本發明之另一實施例,顯示電子資料快閃卡及主機系 統的方塊圖。 第1(D)圖為本發明之另一實施例,顯示電子資料快閃卡及主機系 統的方塊圖。 第2圖為根據本發明之一實施例,顯示USB裝置之高容量製造的 方法流程圖。 第3(A)圖為根據本發明之一實施例,顯示表面貼裝技術面板示意 圖0 62 200917017 第3⑻圖為顯示從第3 (A)圖面板分離的印刷電路板裝置之平面 不意圖。 第3(C)圖為本發明封裝後,顯示第3⑻圖印刷電路板裝置的平 面示意圖。 第4⑷與4⑻圖為根據本發明另一實施例,顯示所使用的測試主 機之簡化透視圖。 第5(A)與5(B)圖為分別顯示習知和創新的測試與格式化腳裝置 之簡化流程圖。 第6圖為根據本發明之一實施例,顯示測試與格式化哪裝置的 簡化方法流程圖。 第6(A)、6(B)、6(C)、6(D)與6(E)圖為流程圖,進一步顯示第6 圖測試與格式化方法。 第7圖為根據本發明之一實施例,顯示所產生的咖裝置示意圖。 第8圖為根據本發明之一實施例,顯示用於咖震置之快閃記憶 體裝置的不同位址結構與分割簡化方塊圖。 第9圖為根據本發明之—實施例,顯示儲存於咖裝置之快閃記 憶體裝置的不良區塊清單結構。 第10(A)圖為根據本發明之另一實施例,顯示用於進行測試或格式 化過程的製造軟體演算流程圖。 第10(B)圖為根據本發明之另一實施例,顯示用於執行剛裝置計 算的製造軟體演算流程圖。 63 200917017 第11圖為根據本發明之一實施例,顯 D式主機糸統對USB裝置 的整個操作流程圖。 第12(A)與12(B)圖為根據本發明之另— 貫施例,分別顯示雙重路 線與單一路線的缺陷快閃晶片操作的簡化流程圖。 第13⑷與_圖是方塊圖,分別敘述關於第12⑷圖與第12 ⑻圖雙重與單-路線之缺陷快閃晶片操作的快閃記憶體組態。 帛Η圖為根據本發明之—實施例,顯示儲存在每個_裝置不同 記憶體區域的資訊之方塊示意圖。 第15圖為根據本發明之—實施例,顯示記憶單㈣多層單元 電壓感應。 第16圖為根據本發明之一實施例,顯示可程式化串聯的參考產生 器與比較器。 第Π圖為根據本發明之一實施例,在寫入或抹除操作,降級 流程圖。 、第18圖為根據本發明之一實施例,利用ECC位元組與調整參考電 壓來讀取錯誤修正的流程圖。 第19(A) 19(C)圖為根據本發明之—實施例,顯示擴《裝置結 構的方塊圖。 '〇(A) 20(C)圖為根據本發明之一實施例,顯示擴充哪裝置結 構的方塊圖。 第21 (A)-21 (G)圖為根據本發明之_實施例,顯示擴充連接器 64 200917017 與插槽之結構示意圖。 第22(A)-22(I)圖為根據本發明之一實施例,顯 卜爾充Hcd 與插槽之結構示意圖。 Μ連接器 【主要元件符號說明】 1卡本體 2處理單元 3快閃記憶體裝置 4指紋感測器 5輸入/輸出介面電路 6顯示單元 7電源 8功能性按鍵組 9電腦 10電子資料快閃卡 13介面匯流排 2Α處理單元 3A快閃記憶體裝置 4Α指紋感測器 5A輸入/輸出介面電路 2Β處理單元 3B快閃記憶體裝置 5Β輸入/輸出介面電路 6B顯示單元 8Β功能性按鍵組 9B電腦 22電源調節器 23重設電路 10Β USB裝置 201監視器 202測試主機 203 USB插槽 204複合讀卡機 205探針治具 206探針 2 0 7 SMT探針測試主機 208集合電纜 211面板 212 PCB震置 65 200917017 214快閃卡控制器 215快閃記憶體裝置 215-1快閃記憶體晶片組 215-1A快閃記憶體晶片組 215- 1B快閃記憶體晶片組215-2快閃記憶體晶片組 217 USB接腳 413不良區塊資料 415A控制選擇位元 415B控制韌體 420進入點暫存器 421非揮發性暫存器 450微處理器 451控制端點暫存器 452位址解碼器 453靜態ROM 453A RAM緩衝器 453B快閃存取時間暫存器 454唯讀記憶體 454A跳躍式啟動韌體 454B描述器 456僅大量傳輸指令解碼器 470輸入/輸出介面電路470A實體層USB收發器 470B連續介面引擎 470C資料緩衝器 9 4良好區塊 95原始不良區塊 96產生不良區塊 97預備區域 1030-1040比較器 1041-1051參考-電流產生器 1052控制引擎 1054快閃記憶單元 1056位元線 1060解譯邏輯器 1101-1111電阻器 1181-1191接地電阻器 1161-1171放大器 66 200917017 1120電壓參考產生器 1122校正暫存器 1300 USB擴充插頭 1303外殼 1304 USB連接器基板 1305金屬指 1306彈簧 1307接觸接腳 1311 PCB 基板 1312上方表面 1313底部表面 1314記憶體控制器 1315記憶體裝置 1316板上晶片封裝 1317接觸指 1400 USB擴充插頭 1403外殼 1404 USB連接器基板 1405接觸指 1406彈簧 1407接觸接腳 2132接觸接腳 2134接腳基板 2138金屬蓋體 2170接腳基板 2172接觸接腳 2173金屬蓋體 2176塑膠殼體 2178金屬蓋體 2180接觸接腳 2184接腳基板 2185基板延伸部 2186接觸接腳 2188接觸接腳 2190接腳基板 2193金屬蓋體 2196塑膠殼體 2198金屬蓋體 2200、2201、2202 接觸接腳 67 200917017 2204接腳基板 2206、2207接觸接腳Figure 18 shows the use of ECC bytes and reading the error by adjusting the voltage reference. Corrected Flowchart ◊ Read errors can be detected by verifying the data being read into the ECC byte. For example, a non-zero symptom from a data and an ECC byte can signal an error, and the location of the error bit and the error correction signal. In step 1220, when a read error is detected, the process is activated. Step 1222, when the number and location of errors are allowed to use the ECC byte to correct the error, then the ECC byte can be used to correct the read error, step 242. In step 1230, the data may be reconfigured in another block using the memory bit indicator to erase and selectively degrade the block. The number of correctable errors is a fixed number, such as an ECC limit or a change in error location, such as any 3 bits in a tuple, or any 4 bad bits in a string. The ECC limit can also be arbitrarily set or set to a lower correctable value, but it is still unpleasant, indicating that the block should be downgraded, even if the error is correctable. At step 1222, when the number of errors exceeds the ECC limit, the ECC mechanism cannot correct all errors and the data may be lost. Therefore, attempts are made to recover lost data by adjusting the reference voltage level compared to the bit line voltage. At step 1224, the correction register 1122 writes a new value data to cause the voltage reference generator 1120 to generate a higher reference voltage. This causes all the reference voltages to gradually increase in series. The tribute in the block is purchased using these more south reference voltages at step 1226'. After that, use the ECC byte to check if the data is wrong. At step 1228, when the number of errors is reduced below the ECC limit, increasing the reference voltage is successful. At step 1232, the ECC byte can be used to modify all remaining errors. At step 1230, the data is then relocated to other blocks. This block can be downgraded through the call downgrade process in Figure 17. When the amount of negative charge stored in the flash memory unit increases, sometimes the reference voltage system is successfully increased. Moreover, the increase in negative charge is due to memory cell disturbances resulting from reading or staging adjacent memory cells. Excessive negative charge requires a higher gate voltage to compensate, so increasing the reference voltage is effective. 51 200917017 In step 1228, when the number of errors still exceeds the ECC limit, then increasing the reference voltage will not succeed. Wherein, the reference voltage can be boosted by repeating steps 1224-1228 (not shown) several times. When the reference voltage is raised but the data cannot be recovered, the reference voltage can be lowered. In step 1234, the correction register 1122 of Fig. 16 writes the new value data to cause the voltage reference generator 1120 to generate a lower reference voltage. This causes all of the reference voltages to gradually decrease. At step 1236, the data in the block is read using these lower reference voltages. After that, use the ECC byte to check if the data is wrong. At step 1238, the reduced reference voltage is successful when the number of errors is reduced below the ECC limit. At step 1242, the ECC byte can be used to modify all remaining errors. At step 1230, the data is then relocated to other blocks. This block can be downgraded through the call downgrade process in Figure 17. When the amount of negative charge stored in the flash memory unit is reduced, the reference voltage system is sometimes lowered successfully. Moreover, leakage can cause a reduction in negative charge. The reduced negative charge causes excess channel current to flow through the selected memory cell in response to a fixed gate voltage. The excess channel current causes the bit line voltage to be lower than usual, so the reference voltage must be reduced to compensate for memory cell leakage. At step 1238, when the number of errors still exceeds the ECC limit, then lowering the reference voltage will not succeed. Here, the reference voltage can be lowered by repeating steps 1234-1238 (not shown) several times. However, when the number of data errors did not fall below the ECC limit, the data was lost. At step 1240, a signal is sent that cannot respond to the error 52 200917017 error. More detailed information on the above process can be found in conjunction with U.S. Patent Application Serial No. 11/737,336. According to some embodiments, the MLC flash memory can be used on a USB device with a dual USB plug to support multiple communication interfaces, that is, duality. 19A-19C are perspective views showing a USB expansion plug having multiple properties in accordance with an embodiment of the present invention. Referring to Fig. 19A, the USB expansion plug is shown in the full figure 1301 and the exploded view 1302. In one embodiment, the USB expansion plug 1300 includes a housing or housing 1303 and a USB connector substrate 1304, wherein the USB connector substrate 1304 can be inserted into the housing 1303, and the housing 1303 is made of metal, that is, metal. case. The connector substrate 1304 includes a first terminal and a second terminal, wherein the first terminal has a plurality of metal fingers or tabs 1305, and the second terminal includes a plurality of electronic contact pins 13A. In a particular embodiment, pin 1307 has nine pins. The connector substrate 1304 further includes one or more springs 1306 for providing pressure to the other USB connector to make substantial contact with the contact fingers 13A5 when other USB connectors are inserted into the opening of the USB expansion plug. In one embodiment, the contact fingers 13〇5 can be positioned on one of the upper surfaces of the connector substrate 13〇4, and other contact fingers (not shown) can be positioned on a lower surface of the connector substrate 1304. For example, the contact finger 13〇5 conforms to the standard USB specification, and the other contact fingers 5 are counted to match other interfaces, such as the PCI Express or IEEE 1349 specification interface. Therefore, the USB expansion plug 1300 can be used for a plurality of different communication interfaces, that is, duality. A more detailed information on the dual-purpose USB expansion plug can be found in the above-mentioned application or patent, for example, U.S. Patent No. 7,021,971 and U.S. Patent Application Serial No. 11/864,696, which are incorporated herein by reference. . Referring now to Figure 19B, the USB expansion plug 13A can be connected to the PCBA, wherein the PCBA has a memory device and a memory controller for controlling the memory device. The top view of Fig. 19B, the side view 13〇9, and the lower plan view 1310 are connected to the PCB substrate 1311, for example, by soldering the pins 1307 on the PCB substrate 1311. In addition, a memory device such as a flash memory device can be placed on one surface of the PCB substrate 1311, and a memory controller such as a flash controller is located on other surfaces. In this example, the memory device 315 is positioned on the bottom surface 1313 of the PCB substrate 1311, and the memory controller 1314 is positioned on the upper surface 1312 of the PCB substrate 1311. In one embodiment, the memory device 1315 can be an MLC compatible memory, and the memory controller 1314 can be an MLC compatible memory control ic. According to another embodiment, the technique described in the 19A-19B diagram can also be applied to a flash memory and a flash controller integrated in a single package, such as the chip on board shown in FIG. 19C. , COB) package. Referring to FIG. 19C, a (3) beta package 1316 can be an MLC package that can be positioned on the upper surface 1312 of the pcb substrate 1311, wherein the COB package 1316 can be contacted by one or more contacts on the surface of the c〇B package 1316. (contact finger) 1317 connection (eg soldering). 20A and 20B are perspective views showing a USB expansion plug having multiple properties in accordance with an embodiment of the present invention. Referring to Fig. 20A, the USB extension plug is shown in 54 200917017 70 full picture 1401 and exploded view 1402. In one embodiment, the USB expansion plug 1400 includes a housing or housing 1403 and a USB connector substrate 1404, wherein the USB connector substrate 1404 can be inserted into the housing 14〇3, and the housing 14〇3 is made of metal. It is also a metal body. The connector substrate 14A4 includes a first terminal and a second terminal, wherein the first terminal has a plurality of electronic contact fingers or tabs, and the second terminal includes a plurality of electronic contact pins 14A. In a particular embodiment, pin 14A has a first column and a second column, wherein the first column has five pins and the second column has four pins. The connector substrate 14A4 further includes one or more springs for providing pressure to the other USB connector to make substantial contact with the contact fingers 14A5 when the other USB connector is inserted into the opening of the USB expansion plug. In an embodiment, similar to the USB expansion plug 1300, the contact fingers 14〇5 can be positioned on the immediate upper surface of the connector substrate, and other contact fingers (not shown) can be placed under one of the connection benefit substrates 14〇4. On the surface. For example, the contact finger just matches the standard USB specification, and the other contacts can be designed to match other interfaces, such as Express or! EEE 1349 interface specification. Therefore, the USB expansion plug μ (10) can be used for a plurality of different communication interfaces, that is, duality. Referring now to Figure 20B, the USB expansion plug 14A can be connected to a pCBA, wherein the PC BA has a -memory device and a memory controller for controlling the memory device. As shown in the top view of Fig. 20B, the top view of the side view 14〇9' is shown in the top view. The expansion plug is just connected to the (10) substrate, for example, by soldering the pin 1407 on the PCB substrate. As in the example shown in side view 14〇9, pin 55 200917017 pin 1407 is on the PCB substrate. As in the example shown in side view 1409, the first row of pins 1407 can be soldered to one of the upper surfaces of the PCB substrate and the second row can be soldered to one of the lower surfaces of the PCB substrate and vice versa. In addition, a memory device, such as a flash memory device, can be placed on one surface of a PCB substrate, and a memory controller such as a flash controller can be placed on other surfaces of the PCB substrate. In this example, similar to the 19th (A)-19(B) diagram, a memory device is positioned on the bottom surface of the pcB substrate, and the memory controller is positioned on the upper surface of the PCB substrate. Moreover, the memory device can be an MLC compatible memory, and the memory controller can be a compatible memory control 1C. Similarly, according to still another embodiment, the technique described in the second 〇(A)_2〇(B) diagram can also be applied to a flash memory and a flash controller system integrated in a single package, such as the 20th ( C) The C0B package shown in the figure. Other forms of packaging are also available. 21(A)-21(I) shows an embodiment of a USB expansion connector and a socket having a metal contact pin, wherein the metal contact pin is tied to the upper surface and the lower surface of the pin substrate. The embodiment shown in Figures 21(a)-21(I) can be connected to any of the foregoing embodiments. Referring to Figure 2i (A), the expansion connector has a plastic housing. The holder 6 is held by the user when the user inserts the II plug into the slot. The pin substrate 21 is provided with four metal contact pins 2188 on the upper surface thereof, and the towel substrate 2nQ is an insulating material such as Tauman, (4) or other materials. Metal leads or wires may be passed through the pin substrate 217G to connect the metal contact pins 2188 to the wires in the plastic housing UK for connecting the peripheral devices. 56 200917017 Five back metal contact pins 2172 are fastened to the bottom of the pin substrate and near the end of the connector plug. The back metal contact pin 2172 is an additional pin for extending the signal 'such as the PCI E ess signal. A metal (4) or wire may be passed through the pin substrate 2170 to connect the metal contact pin 2172 to the wire in the plastic housing 2176 for connecting the peripheral device. In some embodiments, the metal cover 2173 is a rectangular tube that surrounds the pin substrate 217. And having an open end. One is on the pin substrate 217. The opening in the bottom metal cover 2173 allows the back metal contact pin 2172 to be exposed. Figure 21(8) shows a USB extension with four metal contact pins on the upper surface of the pin substrate. Five metal contact pins are located on the lower surface of the pin substrate. The contact substrate 2184 has four metal contact pins 2186 formed on the bottom surface of the __, the bottom surface facing the groove for the pin substrate 2m of the connector to be inserted. The pin substrate (10) also has a lower substrate extension (10) having a _L shaped pin substrate which is not found in conventional USB slots. The five metal contact pins 218G are positioned at the lower substrate extension (10) adjacent the open end of the recess. —Bumps or springs can be formed on the metal contact pins. For example, by means of (four) folded flat metal pins, one bump material (four) contact pin contacts the back (four) metal contact pins 2172, which are connected to each other (4) The pin substrate 2170. The recess is formed by the bottom surface of the interposer substrate, the upper surface of the lower pin substrate 2185, and the back surface of the pin substrate 2184 connected to the lower substrate extension 2185. 57 200917017 Metal cover body 2178 is a metal pipe body, covering the foot substrate 2184 and the lower substrate. The metal cover body 2173 of the P 185 USB connector is filled on the metal cover body 2175 and the pin substrate 2184 on the side and the side. The gap between them. A mounting pin (m〇untingpin) 2182 can be formed on the metal cover 2178 to mount the USB slot to the PCB or chassis. Figure 21(C) shows the bottom surface of the pin substrate 2184 with the metal contact pins 2186 positioned thereon. The four pins are provided with different signals, power, and ground of the conventional USB, and are in contact with the metal contact pins 2188 of the USB connector located on the upper surface of the pin substrate 2170, as shown in Fig. 21(D). The USB contactor has five back metal contact pins 2172 on the bottom surface of the pin substrate 2170, as shown in Fig. 21(D). These pins 2172 are in contact with the expanded metal contact pins 2180 and are arranged on the lower substrate extension 2185 as shown in Fig. 21(C). These five expansion pins have an extended signal, such as a pCI Express signal. Figure 21(E) shows the USB connector plug with 9 pins plugged into the USB slot of 9 chats. When fully inserted, the end of the contact substrate 2170 is mounted between the pin substrate 2184 and the lower substrate extension 2185 of the USB slot. On the upper surface of the pin substrate 2170 of the connector, the metal contact pins 2188 are in contact with the four metal contact pins 2186 of the socket pin substrate 2184. The back metal contact pins 2172 located on the bottom surface of the pin substrate 2Π are in contact with the extended metal contact pins 2810 on the upper surface of the lower substrate extension 2185. Because the back metal contact pin 2172 is recessed and does not come into contact with the 58 200917017 metal cover 2138 of the conventional USB slot. The 21st 11135-± brother ZUF) shows the schematic diagram of the connector of the standard 4-pin connector and the expanded 9 before the USB slot is inserted. When fully inserted, as shown in Fig. 21 (8), the end of the connector interposer substrate 2134 is inserted below the slot contact substrate 2134. At the upper surface of the connector pin substrate 2134, the metal contact pins 2132 are in contact with the four metal contact pins 2186 of the socket pin substrate 2184. Since the standard 4-pin USB connector has only four pins 2132', the contact pins on the upper surface of the socket pin substrate 2185 are not in electrical contact with the _ connector. The 22(A)-22(I) diagram shows a schematic view of a second embodiment of the USB connector and the socket having one of the metal contact pins on the surface of the contact substrate. Figure 22(a) shows an extended 9-pin USB connector plug with four metal pins and five extended metal pins on the upper surface of the pin substrate. In Fig. 22(A), the connector has a plastic housing 2196 for the user to hold when inserting the connector plug into the slot. The pin substrate 2190 is provided with metal contact pins 220 〇, 22 〇 1 on its upper surface ‘where the substrate 219 〇 V is an insulating material such as ceramic, plastic or other material. A metal lead or wire may be passed through the pin substrate 2190 to connect the metal contact pins 2200, 2201 to the wires in the plastic housing 2196 for connecting the peripheral devices. The length of the pin substrate 2190 is longer than the length L2 of the pin substrate 2134. The increased length can be 2-5 mm. The end metal pin 22〇1 is mostly in the L-extension region exceeding l2. The metal cover 2193 is a rectangular tube body that surrounds the pin substrate 2190 and has an open end. 59 200917017 Figure 22(B) shows an expansion slot with four metal contact pins and five expansion metal contact pins on one of the surface of the pin substrate. The pin substrate 2204 has metal contact pins 2206, 2207 formed on a surface facing the recess for insertion of the pin substrate 2190 of the connector. The pin substrate 2204 does not require a lower substrate extension of the 21st (B) diagram, but may have an L shape as shown. The metal cover 2198 is a metal tube that covers the pin substrate 22〇4 and has an opening located below. The metal cover 2193 of the USB connector is inserted into the gap between the metal cover 2198 and the upper side and the side of the pin substrate 2204. Mounting pins 22A2 may be formed on the metal cover 2198 to mount the USB extension slot to the PCB or chassis. Figure 22(C) shows the insertion of a 9-pin USB connector plug into the 9-pin slot. The metal contact pins 22A and 2206 formed on the bottom surface of the pin substrate 2204 of the socket are in contact with the metal pins 2201 and 2202 of the pin substrate 2190, respectively. Fig. 22(D) shows the bottom surface of the socket pin substrate 22〇4 on which the metal contact pins 2206, 2207 are placed. The main metal contact pins are (10) tied to the five pins in the first row, the most sinful near the slot opening. The secondary metal contact pins 22A7 are attached to the four pins of the second row. The metal contact pin 2207, which is the farthest from the slot opening, includes four USB pins. The primary metal contact pins 2206 include expansion pins for supporting other interface specifications, such as PCI-Express. When the USB connector is fully inserted into the USB slot, the end of the pin substrate 2i9 is inserted into the recess below the contact substrate of the button. At the upper surface of the connector pin substrate (10), the metal contact pin 2200 contacts the six main 200917017 metal contact pins 2206 of the socket pin substrate 22〇4, and the metal at the end of the upper surface of the pin substrate 2190 Contact pin 2201 is in contact with secondary expanded metal contact pin 2207 located on the lower surface of pin substrate 2204. Figure 22(F) shows a schematic of an extended 9-pin connector before it is inserted into a standard 4-pin USB slot. When fully inserted, as shown in Fig. 22(G), the end of the pin substrate 2190 is inserted below the socket pin substrate 2142. On the upper surface of the connector pin board 2190, the first, third, fourth ' - sixth of the end metal contact pins 2201 are in contact with the four USB metal contact pins 2144 of the socket pin substrate 2142. The metal pins 2200 of the last row on the upper surface of the pin substrate 2190 are not in contact with the socket metal cover 2138 or any of the metal contact pins because they are located too far behind the connector pin substrate 2190. Therefore, only four standard usb pins (metal contact pins 2144, 2201) can be electrically contacted. Figure 22(H) shows a schematic diagram of a standard 4-pin USB connector in front of an extended 9-pin USB slot. When fully inserted, as shown in Fig. 22, the end of the connector U pin substrate 2134 is inserted below the socket pin substrate 2204. The metal contact pins 2132 on the upper surface of the connector pin substrate 2134 are in contact with the first, third, fourth, and sixth main metal contact pins 22〇6 of the socket pin substrate 22〇4. . The secondary metal contact pins 2207 on the substrate 2204 are not in contact with the contactor metal cover 2133 because the depth of the expanded USB slot is greater than the length of the prior art uSB connector. Therefore, only four standard USB pins (metal contact pins 2132, 22〇6) can be electrically contacted. As shown in Figure 22(F)-22(I), the extended 9-pin usb connection 61 200917017 plug, slot and standard 4 pin USB socket, USB connector plug electrical connection and mechanical aspects Match. Although the present invention has been described in terms of certain embodiments, it will be apparent to those skilled in the art that It should still be covered by the patent of the present invention. For example, the systems and methods described herein are specific to USB devices, but the spirit and method of the present invention are used to cover different interface sink types, and may include one or more PCI Express 'SD (Secure Digital)' MSs. (Memory Stick), CF (Compact Flash), IDE and SATA. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1(A) is a block diagram showing an electronic data flash card and a host system in accordance with an embodiment of the present invention. Fig. 1(B) is a block diagram showing an electronic data flash card and a host system in accordance with another embodiment of the present invention. Fig. 1(C) is a block diagram showing an electronic data flash card and a host system according to another embodiment of the present invention. Fig. 1(D) is a block diagram showing an electronic data flash card and a host system according to another embodiment of the present invention. 2 is a flow chart showing a method of high capacity manufacturing of a USB device in accordance with an embodiment of the present invention. Fig. 3(A) is a view showing a panel for displaying a surface mount technology according to an embodiment of the present invention. Fig. 0 62 200917017 Fig. 3(8) is a plan view showing the plane of the printed circuit board device separated from the panel of Fig. 3(A). Fig. 3(C) is a plan view showing the printed circuit board device of Fig. 3(8) after the package of the present invention. Figures 4(4) and 4(8) are simplified perspective views showing the test host used in accordance with another embodiment of the present invention. Figures 5(A) and 5(B) are simplified flow diagrams showing conventional and innovative test and format foot devices, respectively. Figure 6 is a flow diagram showing a simplified method of displaying which device to test and format in accordance with an embodiment of the present invention. The 6(A), 6(B), 6(C), 6(D), and 6(E) diagrams are flowcharts, further showing the 6th graph test and formatting method. Figure 7 is a schematic diagram showing the generated coffee maker in accordance with an embodiment of the present invention. Figure 8 is a simplified block diagram showing the different address structures and divisions of a flash memory device for use in a guest device in accordance with an embodiment of the present invention. Figure 9 is a diagram showing the structure of a bad block list of a flash memory device stored in a coffee maker in accordance with an embodiment of the present invention. Figure 10(A) is a flow chart showing the manufacturing software for performing a test or formatting process in accordance with another embodiment of the present invention. Fig. 10(B) is a flow chart showing the manufacturing software for performing the calculation of the device according to another embodiment of the present invention. 63 200917017 FIG. 11 is a flow chart showing the entire operation of the USB device in accordance with an embodiment of the present invention. Sections 12(A) and 12(B) are simplified flow diagrams showing the operation of a dual-line and single-route defective flash wafer, respectively, in accordance with another embodiment of the present invention. The 13th (4) and _ diagrams are block diagrams depicting the flash memory configuration for the dual- and single-route defect flash wafer operations of Figures 12(4) and 12(8), respectively. The diagram is a block diagram showing information stored in different memory regions of each device in accordance with an embodiment of the present invention. Figure 15 is a diagram showing the voltage sensing of a memory single (four) multi-layer cell in accordance with an embodiment of the present invention. Figure 16 is a diagram showing a programmable series of reference generators and comparators in accordance with an embodiment of the present invention. The figure is a flowchart for degrading a write or erase operation in accordance with an embodiment of the present invention. Figure 18 is a flow diagram for reading error correction using ECC bytes and adjusting the reference voltage in accordance with an embodiment of the present invention. 19(A) 19(C) is a block diagram showing the structure of the apparatus according to the embodiment of the present invention. The '〇(A) 20(C) diagram is a block diagram showing which device structure is extended in accordance with an embodiment of the present invention. 21(A)-21(G) is a schematic view showing the structure of the expansion connector 64 200917017 and the slot according to the embodiment of the present invention. 22(A)-22(I) is a schematic view showing the structure of a display and a socket according to an embodiment of the present invention. ΜConnector [Main component symbol description] 1 card body 2 processing unit 3 flash memory device 4 fingerprint sensor 5 input / output interface circuit 6 display unit 7 power supply 8 functional button group 9 computer 10 electronic data flash card 13 interface bus 2 Α processing unit 3A flash memory device 4 Α fingerprint sensor 5A input / output interface circuit 2 Β processing unit 3B flash memory device 5 Β input / output interface circuit 6B display unit 8 Β functional button group 9B computer 22 Power conditioner 23 reset circuit 10 Β USB device 201 monitor 202 test host 203 USB slot 204 composite card reader 205 probe fixture 206 probe 2 0 7 SMT probe test host 208 collection cable 211 panel 212 PCB shock 65 200917017 214 flash card controller 215 flash memory device 215-1 flash memory chip set 215-1A flash memory chip set 215-1B flash memory chip set 215-2 flash memory chip set 217 USB pin 413 bad block data 415A control select bit 415B control firmware 420 entry point register 421 non-volatile register 450 microprocessor 451 control end point register 4 52 address decoder 453 static ROM 453A RAM buffer 453B fast flash fetch time register 454 read only memory 454A jump start firmware 454B descriptor 456 only large transfer instruction decoder 470 input / output interface circuit 470A physical layer USB Transceiver 470B Continuous Interface Engine 470C Data Buffer 9 4 Good Block 95 Raw Bad Block 96 Generates Bad Block 97 Prepared Area 1030-1040 Comparator 1041-1051 Reference - Current Generator 1052 Control Engine 1054 Flash Memory Unit 1056 bit line 1060 interpretation logic 1101-1111 resistor 1181-1191 grounding resistor 1161-1171 amplifier 66 200917017 1120 voltage reference generator 1122 calibration register 1300 USB expansion plug 1303 housing 1304 USB connector substrate 1305 metal finger 1306 spring 1307 contact pin 1311 PCB substrate 1312 upper surface 1313 bottom surface 1314 memory controller 1315 memory device 1316 on-board chip package 1317 contact finger 1400 USB expansion plug 1403 housing 1404 USB connector substrate 1405 contact finger 1406 spring 1407 contact Pin 2132 contact pin 2134 pin substrate 2138 metal cover 2170 Substrate 2172 contact pin 2173 metal cover 2176 plastic case 2178 metal cover 2180 contact pin 2184 pin substrate 2185 substrate extension 2186 contact pin 2188 contact pin 2190 pin substrate 2193 metal cover 2196 plastic case 2198 Metal cover 2200, 2201, 2202 contact pin 67 200917017 2204 pin substrate 2206, 2207 contact pin

Claims (1)

200917017 十、申請專利範園: 1. -種格式化/測試通用序列匯流排()裝置的方法,其係利用—含有計 算系統的測試主機,該方法係包括: 轉接複數置至糊試主機,每-該㈣裝置包括控制器與 -個或多個快閃記憶體裝置,其中每一該關裝置包括一擴充的湖連接 器插頭爐-印刷電路版裝置輸接一板上晶片(chip 〇n board,C0B)’其具有—個或多個快閃記憶體裝置與快閃控制器, 其中該擴充USB連接器插頭包括: 一擴充接腳基板’具有—擴充長度,其大於或等於標準USB 連接器插頭的接腳基板之標準長度; 複數插頭的標準金屬接觸接腳,位在該接腳基板上,該擴充 USB連接器插頭的標準接腳基板係插入標準USB插槽之一凹槽 内’標準金屬接觸接腳與該等插頭標準金屬接觸接腳實質電性接 觸;及 複數插頭擴充金屬接觸接腳位在該擴充接腳基板上,該擴充 USB連接器插頭的該擴充接腳基板插入擴充USB插槽之一凹槽 内’使位在該擴充接腳基板上的該插頭擴充金屬接觸接腳與位在 该擴充USB插槽上的插槽擴充金屬接觸接腳實質電性接觸; 從每一該USB裝置讀取至少一控制器端點描述符值,核對每— 該USB裝置的該控制器端點描述符值是與儲存在該測試主機的描 述符值相配;及 對具有一有效端點描述符值的每一該USB裝置格式化/測試, 69 200917017 藉由以管線方式將預定資料寫入至快閃記憶體裝置内,之後從該 快閃a憶體裝置内讀取該預定資料,將受讀取的該預定資料與存 在該測試主機的已知良好資料值比較。 2. 如申請專利範圍第1項所述之格式化/測試通用序列匯流排裝置的方法, 更包括安裝一 USB驅動器至該測試主機’指示該電腦系統一旦偵測該等USB 裝置就阻止標準的USB註冊流程。 3. 如申請專利範圍第1項所述之格式化/測試通用序列匯流排裝置的方法, , 更包括製造該等USB裝置,使該等USB裝置連接至一面板。 4. 如申凊專利範圍第3項所述之格式化/測試通用序列匯流排裝置的方法, 其中在該等USB裝置連接至該面板之前,更包括單—化該面板。 5. 如申呀專利範圍第4項所述之格式化/測試通用序列匯流排裝置的方法, 其中在耦接所有该等USB裴置至該面板步驟,係包括將每一該裝置插 入至一讀卡機之—對應插射,且該讀卡機藉由-_串列匯流排傳輸線 (USB cable)連接至該測試主機。 ν ; 6·如彳轉利關第3撕述之格式化/測試顧序舰流排裝置的方法, 更包括在連續格式化/測試所有該等裝置後,單一化該面板。 7. 士申π專利範圍第6項所述之格式化/測試通用序列匯流排裝置的方法, ,、中在麵接所有轉USB裝置至該面板步驟,係包括安裝—探針治具(pr〇be future)在該面板上,使每―該㈣裝置之接腳藉由所對應的該探針具之 探針接觸。 8. 如申請專職圍第丨顿述之格式化/測試顧序舰置的方法, 70 200917017 驟’係包括讀取至 供應商辨識值及-產品辨識 其中從每-該裝置讀取該控制器端點描述符值之步 少一組態描述符值、一大量儲存類別碼值、 值0 9.如申請專利_ 1項所述之格式化峨通_匯流_的方法, 更包括顯示-相對應的有色旗標於該職主機之_監視器上,以核對存在 每一該卿裝置的該控制器端點描述符值是與該儲存的描述符值相配。 瓜如申請專利範圍第i項所述之格式化/測試通用序列匯流排裝置的方 法’其中在該格式化/測試步驟中,係包括掃_存在該快閃記憶體裝置的 不良區塊資料’以及核對每個快閃記憶體裝置的儲備儲存容量是等於 定大小。 、預 H·如申請專㈣1顧狀格式化峨職序龍流排裝置的方 法,其中在該格式化/測試步驟中,係包括寫入至少兩不良區域資料副本至 該快閃記憶體裝置的預定區塊中,其中該不良區域資料係辨識在該快閃記 憶體裝置上的不良區塊。 、12·如巾料概圍第1項所述之格式化/職通料舰流排裝置的方 法,其中該快閃記憶體裝置包括複數個非揮發性記憶單元,可為―时一 早一層 單元(single level cell,SLC)類型或一多層單元(咖m—ieveI划卜 MLC)類型》 13·如申請專利範圍第12項所述之格式化/測試通用序列匯流排裝置的方 法,其中該單一層單元類型的記憶單元包括至少一小區塊單一層單元 (Small Block SLC),一大區塊單一層單元(Large Block SLC)或兩者的 71 200917017 結合’且該多層單元類型的記憶單元包括小區塊多層單元(Smal丨B1〇ck MLC) 與大區塊多層單元(Large Block MIX)。 14. 如申請專利範圍第13項所述之格式化/測試通用序列匯流排裝置的方 法,其中小區塊疋包括每頁512+16位元組,大區塊是包括每頁2048+64位 兀組,其中該小區塊的16位元組與大區塊的64位元組是相對應的頁多餘 區域。 15. 如申請專利範圍第14項所述之格式化/測試通用序列匯流排裝置的方 法,其中由於頁的大小差異,該大區塊的資料寫入速度比相對應的該小區 塊之其中之一快四倍。 16. 如申請專利範圍第15項所述之格式化/測試通用序列匯流排裝置的方 法’其中多層單元記憶單元的資料寫人時間比單層單元記憶單元大四倍。 17·如申請專利範圍第12項所狀格式化/測試通用序列匯流排裝置的方 法,其中該單層單元記憶單元包括每頁類型記憶單元為沈位元組,每頁類 型記憶單元為4Κ位元組。 ' 18. 如申請專利範圍第!項所述之格式化/測試通用序列匯流排裝置的方 法,其中制試/格式化包括寫人至少—控制碼資料與啟動碼資料至該快門 記憶體裝置的預定區塊中。 19. 如申請專利範圍第18項所述之格式化/測試通用序列匯流排裝置的方 法,其中寫入至快閃記憶體裝置的步驟是包括從該測試主機傳送預定次平 至-第-USB裝置之-第-緩衝器,使該第—襄置從該第—緩衝器寫 入該預定資料至該第一 USB裝置的快閃記憶體裝置中,該測試主 ° W 錢將該預 72 200917017 定資料轉送到一第二USB裝置之一第二緩衝器。 20. 如申明專利範圍第1項所述之格式化/測試通用序列匯流排裝置的方 法,其中5玄連續測試/格式化過程包括寫入使用者所提供的資料至該快閃記 憶體裝置的預定區塊中。 21. 如申請專利範圍第1項所述之格式化/測試通用序列匯流排裝置的方 法’其中该連續測試/格式化過程包括寫入更新序號,曰期碼,產品版本碍 數值至該快閃記憶體裝置的預定寫入-保護部分。 73200917017 X. Application for Patent Park: 1. A method for formatting/testing a universal serial bus () device, which utilizes a test host containing a computing system, the method comprising: transferring a complex number to a paste test host Each of the (four) devices includes a controller and one or more flash memory devices, wherein each of the devices includes an extended lake connector plug furnace-printed circuit board device for receiving an on-board chip (chip 〇 n board, C0B)' has one or more flash memory devices and a flash controller, wherein the expansion USB connector plug comprises: an expansion pin substrate 'having an extended length, which is greater than or equal to a standard USB The standard length of the pin substrate of the connector plug; the standard metal contact pin of the plurality of plugs is located on the pin substrate, and the standard pin substrate of the extended USB connector plug is inserted into one of the slots of the standard USB slot 'Standard metal contact pins are in substantial electrical contact with the standard metal contact pins of the plugs; and a plurality of plug expansion metal contact pins are located on the expansion pin substrate, the extended USB connection The expansion pin substrate of the plug is inserted into one of the recesses of the expansion USB slot. 'The plug expansion metal contact pin located on the expansion pin substrate is in contact with the slot expansion metal located on the expansion USB slot. The pin is substantially in electrical contact; reading at least one controller endpoint descriptor value from each of the USB devices, verifying that the controller endpoint descriptor value of each of the USB devices is a descriptor stored in the test host Value matching; and formatting/testing each of the USB devices having a valid endpoint descriptor value, 69 200917017 by writing the predetermined data into the flash memory device in a pipeline manner, and then from the flash a The predetermined data is read in the memory device, and the predetermined data to be read is compared with a known good data value existing in the test host. 2. The method of formatting/testing a universal serial bus device according to claim 1 of the patent application, further comprising installing a USB driver to the test host to indicate that the computer system blocks the standard once the USB device is detected. USB registration process. 3. The method of formatting/testing a universal serial busbar device as described in claim 1, further comprising fabricating the USB devices to connect the USB devices to a panel. 4. The method of formatting/testing a universal serial bus device as described in claim 3, wherein the USB device is further singulated to the panel before being connected to the panel. 5. The method of formatting/testing a universal serial busbar device as described in claim 4, wherein the step of coupling all of the USB devices to the panel comprises inserting each of the devices into a The card reader is connected to the test host, and the card reader is connected to the test host by a -_a serial bus transmission cable (USB cable). ν ; 6 · 彳 彳 第 第 第 第 第 第 第 第 第 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化 格式化7. The method for formatting/testing a universal serial busbar device according to item 6 of the scope of the patent application of the SN patent, wherein, in the step of connecting all the USB devices to the panel, the installation includes a probe fixture (pr Futurebe future) On the panel, the pins of each of the (four) devices are brought into contact by the corresponding probes of the probe. 8. If you apply for the method of formatting/testing the ordering of the full-time 丨 丨 , 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 读取 读取 读取 读取The endpoint descriptor value is less than one configuration descriptor value, a large storage category code value, and a value of 0. 9. The method of formatting the _通_汇流_ as described in the patent application _1, including the display-phase A corresponding colored flag is placed on the monitor of the host to verify that the controller endpoint descriptor value present in each of the devices is matched to the stored descriptor value. A method of formatting/testing a universal serial bus device as described in claim i of the patent application, wherein in the formatting/testing step, the scanning includes the presence of defective block data of the flash memory device. And verify that the reserve storage capacity of each flash memory device is equal to a fixed size. , the method of applying the special (4) 1 format to the job queue, wherein the formatting/testing step includes writing a copy of at least two bad area data to the flash memory device. In the predetermined block, the bad area data identifies the bad block on the flash memory device. 12. The method of formatting/provisioning a shipboard device according to Item 1, wherein the flash memory device comprises a plurality of non-volatile memory units, which may be a one-hour unit (Single level cell, SLC) type or a multi-layer unit (Mc-ieveI) ("MLC) type). The method of formatting/testing a universal serial busbar device as described in claim 12, wherein A single layer unit type memory unit includes at least one cell block single layer unit (Small Block SLC), a large block single layer unit (Large Block SLC) or both 71 200917017 combined with 'and the multi-cell unit type memory unit includes Cell block multi-level cell (Smal丨B1〇ck MLC) and large block multi-level cell (Large Block MIX). 14. The method of formatting/testing a universal serial bus device according to claim 13, wherein the cell block includes 512+16 bytes per page, and the large block includes 2048+64 bits per page. A group in which a 16-byte of the cell block corresponds to a 64-byte of a large block. 15. The method of formatting/testing a universal serial bus device according to claim 14, wherein the data writing speed of the large block is greater than a corresponding one of the corresponding blocks due to a difference in page size Four times faster. 16. The method of formatting/testing a universal serial bus device as set forth in claim 15 wherein the multi-unit memory unit has a data write time four times greater than a single-layer unit memory unit. 17. The method of formatting/testing a universal serial bus device as claimed in claim 12, wherein the single-layer cell memory unit comprises a memory cell of each page type, and a memory cell of 4 cells per page type memory cell. . ' 18. If you apply for a patent range! The method of formatting/testing a universal serial bus arrangement, wherein the test/formatting comprises writing at least a control code data and activation code data into a predetermined block of the shutter memory device. 19. The method of formatting/testing a universal serial bus device according to claim 18, wherein the step of writing to the flash memory device comprises transmitting a predetermined number of times from the test host to - the -USB a first-buffer of the device, wherein the first device writes the predetermined data from the first buffer to the flash memory device of the first USB device, and the test master pays the pre-72 200917017 The data is forwarded to a second buffer of one of the second USB devices. 20. The method of formatting/testing a universal serial bus device according to claim 1, wherein the five-dimensional continuous test/formatting process comprises writing data provided by the user to the flash memory device. In the predetermined block. 21. The method of formatting/testing a universal serial bus device as described in claim 1, wherein the continuous test/formatting process includes writing an update sequence number, a time code, and a product version blocking value to the flash A predetermined write-protect portion of the memory device. 73
TW97108510A 2007-10-11 2008-03-11 Mass production testing of usb flash cards with va TWI351599B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/871,117 US7788553B2 (en) 2000-01-06 2007-10-11 Mass production testing of USB flash cards with various flash memory cells

Publications (2)

Publication Number Publication Date
TW200917017A true TW200917017A (en) 2009-04-16
TWI351599B TWI351599B (en) 2011-11-01

Family

ID=40572076

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97108510A TWI351599B (en) 2007-10-11 2008-03-11 Mass production testing of usb flash cards with va

Country Status (2)

Country Link
CN (1) CN101409111A (en)
TW (1) TWI351599B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI407442B (en) * 2009-05-13 2013-09-01 Skymedi Corp Production tool for low-level format of a storage device
TWI563390B (en) * 2013-08-30 2016-12-21 Hewlett Packard Entpr Dev Lp Completion packet return
TWI638360B (en) * 2017-08-01 2018-10-11 宜鼎國際股份有限公司 Flash memory device having flame resistant

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004892B (en) * 2009-08-31 2014-03-26 鸿富锦精密工业(深圳)有限公司 Multi-function card reader testing device and method
US8332695B2 (en) * 2009-12-23 2012-12-11 Western Digital Technologies, Inc. Data storage device tester
CN106295381B (en) * 2015-05-19 2019-05-07 澜起科技股份有限公司 For monitoring device and internal storage to the data access of internal storage
TWI609267B (en) * 2016-11-25 2017-12-21 致伸科技股份有限公司 Electronic device test system and method thereof
TWI777111B (en) * 2019-12-18 2022-09-11 點序科技股份有限公司 Dual connector memory device and transmission control circuit
CN113013684B (en) * 2019-12-18 2023-03-24 点序科技股份有限公司 Dual-tap memory device and transfer control circuit
CN113223583A (en) * 2021-05-14 2021-08-06 深圳市硅格半导体有限公司 Method for rereading data in NAND Flash bad block, electronic equipment and storage medium
CN116627973B (en) * 2023-05-25 2024-02-09 成都融见软件科技有限公司 Data positioning system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI407442B (en) * 2009-05-13 2013-09-01 Skymedi Corp Production tool for low-level format of a storage device
TWI563390B (en) * 2013-08-30 2016-12-21 Hewlett Packard Entpr Dev Lp Completion packet return
US9946656B2 (en) 2013-08-30 2018-04-17 Hewlett Packard Enterprise Development Lp Completion packet return based on eviction or flush
TWI638360B (en) * 2017-08-01 2018-10-11 宜鼎國際股份有限公司 Flash memory device having flame resistant

Also Published As

Publication number Publication date
TWI351599B (en) 2011-11-01
CN101409111A (en) 2009-04-15

Similar Documents

Publication Publication Date Title
TW200917017A (en) Mass production testing of USB flash cards with various flash memory cells
US7788553B2 (en) Mass production testing of USB flash cards with various flash memory cells
US7702984B1 (en) High volume testing for USB electronic data flash cards
US7676640B2 (en) Flash memory controller controlling various flash memory cells
US7440287B1 (en) Extended USB PCBA and device with dual personality
US8073985B1 (en) Backward compatible extended USB plug and receptacle with dual personality
US7802155B2 (en) Non-volatile memory device manufacturing process testing systems and methods thereof
US20080256352A1 (en) Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
US20080147964A1 (en) Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7899967B2 (en) Systems for accessing memory card and methods for accessing memory card by a control unit
US7162549B2 (en) Multimode controller for intelligent and “dumb” flash cards
US20080082736A1 (en) Managing bad blocks in various flash memory cells for electronic data flash card
US20130167226A1 (en) Handheld Mobile Device with USB Hard Drive and Optional Biometric Scanner, and Systems Including the Same
US20070283428A1 (en) Managing Bad Blocks In Flash Memory For Electronic Data Flash Card
US20100082893A1 (en) Flash Memory Controller For Electronic Data Flash Card
US7367513B2 (en) Intelligent computer cabling
TW201115335A (en) Falsh memory storage system and flash memory controller and data processing method thereof
KR100921852B1 (en) Electronic apparatus, information processing apparatus, adapter apparatus, and information exchange system
US20080222313A1 (en) Embedded interface
US9575885B2 (en) Data storage apparatus for scrambled data and management method thereof
CN105868615A (en) Storage device, information processing system and authentication method for the storage device
US7237714B2 (en) Method of making computer booting from any one of card of multi-flash card reader
KR102127794B1 (en) Apparatus for indentifying data signal and data recovering system using the same
JP2010237768A (en) Auxiliary storage device
US11789648B2 (en) Method and apparatus and computer program product for configuring reliable command

Legal Events

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