CN101409111A - Method for formatting/testing general sequence bus device - Google Patents
Method for formatting/testing general sequence bus device Download PDFInfo
- Publication number
- CN101409111A CN101409111A CNA2008100877874A CN200810087787A CN101409111A CN 101409111 A CN101409111 A CN 101409111A CN A2008100877874 A CNA2008100877874 A CN A2008100877874A CN 200810087787 A CN200810087787 A CN 200810087787A CN 101409111 A CN101409111 A CN 101409111A
- Authority
- CN
- China
- Prior art keywords
- usb
- flash memory
- data
- block
- flash
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域 technical field
本发明涉及的是一种电子数据快闪卡,特别涉及的是是一种用在于制造期间测试USB电子数据快闪卡的系统与方法。The present invention relates to an electronic data flash card, in particular to a system and method for testing a USB electronic data flash card during manufacture.
背景技术 Background technique
机密数据文件常储存在软磁盘驱动器(floppydisk),或者是通过需要密码或使用加密编码以确保安全的网络来传送,且机密数据文件在传送过程中会通过加入安全图章(safety seal)与水印(water mark)来发送。然,一旦密码、加密编码、安全图章与印记遭破解,则机密数据文件与文件就暴露在危险之中,而造成无权限者可使用此机密信息。Confidential data files are often stored in a floppy disk drive (floppydisk), or are transmitted through a network that requires passwords or encryption codes to ensure security, and confidential data files will be added with a safety seal (safety seal) and watermark (watermark) during transmission. mark) to send. However, once passwords, encryption codes, security seals and imprints are cracked, confidential data files and documents are exposed to danger, and unauthorized persons can use this confidential information.
因为闪存技术变得还加先进,所以对于行动系统(mobilesystem)而言,闪存正逐渐取代传统作为储存媒介的磁盘驱动器。闪存相对于软磁盘驱动器或磁性硬盘具有显着的优势,例如具有高G冲震阻力与低功率消耗。由于闪存的体积小,故对于行动系统也还有传导性。于是,因其与可携式(行动)系统的兼容性和低功率特色,闪存的趋势已经逐渐成长。As flash memory technology becomes more advanced, flash memory is gradually replacing traditional disk drives as storage media for mobile systems. Flash memory has significant advantages over floppy disk drives or magnetic hard disks, such as high G-shock resistance and low power consumption. Due to the small size of flash memory, it is also conductive to mobile systems. Therefore, due to its compatibility with portable (mobile) systems and low-power features, the trend of flash memory has gradually grown.
USB电子数据快闪卡(flashcard)是可携带性与低功率的装置,其利用通用序列总线(USB)技术,作为计算机主机和快闪卡的闪存装置的接口,且USB电子数据快闪卡具有多种形式,例如笔式驱动储存装置、MP3播放器、数字相机。在每一个例子中,USB电子数据快闪记忆卡一般包括一闪存装置,一处理器与USB接口电路。USB electronic data flash card (flashcard) is the device of portability and low power, and it utilizes universal serial bus (USB) technology, as the interface of the flash memory device of computer mainframe and flash card, and USB electronic data flash card has Various forms, such as pen drive storage devices, MP3 players, digital cameras. In each instance, USB electronic data flash memory cards typically include a flash memory device, a processor and USB interface circuitry.
由于USB电子数据快闪卡快速的流行,USB电子数据记忆卡(或USB快闪卡)的制造量持续成长。随着增加制造量,制造业所面临的问题是在装运到终端使用者的前,如何有效与可靠地测试USB快闪卡。为了低成本、兼容性与可靠度的因素,现有的测试方法是利用一个人计算机(PC)去测试USB快闪卡(即最终端使用者一般是使用USB快闪卡与PC相连,在购买后将能够快速、可靠地使用USB快闪卡)。这种现有使用PC的测试方法所具有的问题是一般的PCwindow TM(或MAC TM)操作系统一次只有支持一些USB装置,且对于操作系统来侦测与测试USB快闪卡,需要大量的时间用手插设每一USB快闪卡,然后用手拔除每一USB快闪卡。因此,现有的测试方法无法跟上制造产量的增加。Due to the rapid popularity of USB electronic data flash cards, the manufacturing volume of USB electronic data memory cards (or USB flash cards) continues to grow. With increasing manufacturing volumes, the problem facing the manufacturing industry is how to efficiently and reliably test USB flash memory cards before shipment to end users. For the factors of low cost, compatibility and reliability, the existing test method is to use a personal computer (PC) to test the USB flash card (that is, the end user generally uses the USB flash card to will be able to use the USB flash card quickly and reliably). The problem that this existing test method using PC has is that the general PC window TM (or MAC TM) operating system only supports some USB devices at a time, and it takes a lot of time for the operating system to detect and test the USB flash card Insert each USB flash card by hand, and then remove each USB flash card by hand. As a result, existing testing methods cannot keep up with the increase in manufacturing throughput.
有鉴于此,是有需要一种大量测试方法,以满足对于USB电子数据快闪卡需求增加的需要。In view of this, there is a need for a mass testing method to meet the increasing demand for USB electronic data flash cards.
发明内容 Contents of the invention
本发明的主要是在提供一种电子数据快闪卡,其包括一闪存装置,一可选配的指纹传感器,一输入/输出接口电路,与一处理器。电子数据快闪卡适合受一主机计算机所使用,例如个人计算机、笔记型计算机或其它电子主机装置。由于电子数据快闪卡较容易携带且耐用,个人数据能以加密的方式储存在闪存装置内,故就可如利用与卡本体结合的指纹传感器,让只有指纹吻合者才能使用记忆卡,确保非权限者无法使用记忆卡。The main purpose of the present invention is to provide an electronic data flash card, which includes a flash memory device, an optional fingerprint sensor, an input/output interface circuit, and a processor. The electronic data flash card is suitable for use by a host computer, such as a personal computer, notebook computer or other electronic host device. Since the electronic data flash card is easy to carry and durable, personal data can be stored in the flash memory device in an encrypted manner, so it is possible to use the fingerprint sensor combined with the card body, so that only those whose fingerprints match can use the memory card, ensuring that no The authorized person cannot use the memory card.
本发明也对基于通用序列总线(USB-based)的电子数据快闪卡(USB装置),提供一种大量测试/格式化过程,以满足电子数据快闪卡(USB装置)日益增加的需求。本发明提供USB装置的大量测试/格式化的方法与系统,利用一测试主机同时耦接至多头的USB装置(例如一具有多插槽的卡片阅读机或一探针卡具),从每一USB装置读取一控制器端点值,且利用一已知良好值确认此控制器端点值,然后,对每个USB装置进行格式化,以”管线”方式对每个USB装置写入预定的数据。USB装置之后被读取出来以进行测试,测试这些预定数据。在一实施例中,测试主机利用特定的USB驱动器在侦测到多数USB装置时,会阻止标准USB注册程序。本发明在测试/格式化前,忽略现有的USB注册程序与确认控制器端点值,通过删除耗时且不必要的注册过程以助在有效且大量测试/格式化USB装置。此外,本发明以”管线”方式将数据写入USB装置中,是助在大量测试/格式化USB装置,大大地减少生产时间。The present invention also provides a mass testing/formatting process for USB-based electronic data flash cards (USB devices) to meet the increasing demand for electronic data flash cards (USB devices). The present invention provides a method and system for a large number of testing/formatting of USB devices, utilizes a test host to be coupled to multiple USB devices (such as a card reader with multiple slots or a probe fixture) at the same time, from each The USB device reads a controller endpoint value, and confirms the controller endpoint value with a known good value, and then formats each USB device, and writes predetermined data to each USB device in a "pipeline" manner . The USB device is then read out for testing to test the predetermined data. In one embodiment, the test host blocks the standard USB registration process when most USB devices are detected using a specific USB driver. The present invention ignores the existing USB registration procedure and confirms the controller endpoint value before testing/formatting, and helps to effectively and mass-test/format USB devices by deleting the time-consuming and unnecessary registration process. In addition, the present invention writes data into the USB device in a "pipeline" manner, which helps to test/format a large number of USB devices and greatly reduces production time.
根据本发明的一方面,修改每个USB装置,将所选定的句柄与启动码数据、装置信息与组态信息储存在闪存装置上,以减小控制器ROM的尺寸。因为现有的USB注册过程需要使用很多这种句柄、启动码、装置信息、组态信息(因为现有的USB注册过程假定这种码与信息是从控制器ROM中取得),所以忽略现有USB注册过程是提供避免系统失败或长久延迟的功能,因当未格式化的USB装置(具空白闪存装置)耦接测试主机系统,主机系统会等待这句柄、启动码与信息。According to an aspect of the present invention, each USB device is modified to store selected handle and boot code data, device information and configuration information on a flash memory device to reduce the size of the controller ROM. Because the existing USB registration process needs to use many such handles, startup codes, device information, and configuration information (because the existing USB registration process assumes that such codes and information are obtained from the controller ROM), so ignore the existing The USB registration process is provided 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 the handle, boot code and information.
根据本发明的另一方面,测试/格式化过程的目的是包括检查所有的芯片是否正确的被焊接、目前消耗程度是否符合规格、每个组件装置(例如控制器与闪存装置)与测试主机实施的测试/格式化是否兼容。格式化过程提供下载正确的控制器操作所需的所有进入点数值、抹除闪存、建立剩余的不良区块清单(bad_block_list)档案以便于日后不良区块管理,并提供助在OS辨识的低阶格式化。According to another aspect of the present invention, the purpose of the testing/formatting process is to include checking that all chips are soldered correctly, that the current consumption levels are within specifications, that each component device (such as the controller and flash memory device) is connected to the test host to implement The test/formatting is compatible. The formatting process provides downloading of all entry point values required for correct controller operation, erases flash memory, creates a remaining bad block list (bad_block_list) file for future bad block management, and provides a low-level format.
根据本发明的一实施例,在测试/格式化过程的初始阶段所读取的控制器端点值是包括一组态描述符值、一大量储存类别码值与一产品辨识值。当从每个USB装置所读取的控制器端点值是与储存在测试主机的良好数值匹配时,则显示在测试主机监视器上的旗标会表示成功状态(例如旗标从红色变成绿色)。According to an embodiment of the present invention, the controller endpoint values read at the initial stage of the testing/formatting process include a configuration descriptor value, a mass storage class code value and a product identification value. When the controller endpoint values read from each USB device match the good values stored in the test host, a flag displayed on the test host monitor will indicate a successful status (e.g. the flag changes from red to green ).
根据本发明的另一实施例,测试/格式化过程包括将扫瞄不良区块数据的一个或多个储存在闪存装置内,确认每个闪存装置所储备的储存容量和一预定大小是否相等(例如整个内存容量的特定比例),至少两份不良区块数据副本写入至闪存装置中,句柄与/或启动码写入至闪存装置中,所提供的客户数据写入至闪存装置中,以及还新序号、日期码、产品版本码值写入至闪存装置中。According to another embodiment of the present invention, the testing/formatting process includes storing one or more of the scan bad block data in the flash memory device, and confirming whether the storage capacity reserved by each flash memory device is equal to a predetermined size ( e.g. a specific percentage of the entire memory capacity), at least two copies of the bad block data are written to the flash memory device, the handle and/or boot code is written to the flash memory device, provided customer data is written to the flash memory device, and Write the new serial number, date code, and product version code values into the flash memory device.
附图说明 Description of drawings
图1(A)为根据本发明的一实施例,显示电子数据快闪卡与主机系统的方块图;FIG. 1(A) is a block diagram showing an electronic data flash card and a host system according to an embodiment of the present invention;
图1(B)为根据本发明的另一实施例,显示电子数据快闪卡与主机系统的方块图;FIG. 1(B) is a block diagram showing an electronic data flash card and a host system according to another embodiment of the present invention;
图1(C)为本发明的另一实施例,显示电子数据快闪卡与主机系统的方块图;Fig. 1 (C) is another embodiment of the present invention, shows the block diagram of electronic data flash card and host computer system;
图1(D)为本发明的另一实施例,显示电子数据快闪卡与主机系统的方块图;FIG. 1(D) is another embodiment of the present invention, showing a block diagram of an electronic data flash card and a host system;
图2为根据本发明的一实施例,显示USB装置的高容量制造的方法流程图;FIG. 2 is a flow chart showing a method for high-volume manufacturing of a USB device according to an embodiment of the present invention;
图3(A)为根据本发明的一实施例,显示表面贴装技术面板示意图;FIG. 3(A) is a schematic diagram showing a surface mount technology panel according to an embodiment of the present invention;
图3(B)为显示从第3(A)图面板分离的印刷电路板装置的平面示意图;Figure 3(B) is a schematic plan view showing the printed circuit board assembly separated from the panel of Figure 3(A);
图3(C)为本发明封装后,显示图3(B)印刷电路板装置的平面示意图;Figure 3 (C) is a schematic plan view of the printed circuit board device shown in Figure 3 (B) after packaging of the present invention;
图4(A)与图4(B)为根据本发明另一实施例,显示所使用的测试主机的简化透视图;4(A) and 4(B) are simplified perspective views showing a test host used according to another embodiment of the present invention;
图5(A)与图5(B)为分别显示现有和创新的测试与格式化USB装置的简化流程图;FIG. 5(A) and FIG. 5(B) are simplified flowcharts showing existing and innovative testing and formatting USB devices, respectively;
图6为根据本发明的一实施例,显示测试与格式化USB装置的简化方法流程图;6 is a flowchart showing a simplified method of testing and formatting a USB device according to an embodiment of the present invention;
图6(A)、图6(B)、图6(C)、图6(D)与图6(E)图为流程图,进一步显示图6测试与格式化方法;Fig. 6 (A), Fig. 6 (B), Fig. 6 (C), Fig. 6 (D) and Fig. 6 (E) are flowcharts, further showing the testing and formatting method in Fig. 6;
图7为根据本发明的一实施例,显示所产生的USB装置示意图;FIG. 7 is a schematic diagram showing a generated USB device according to an embodiment of the present invention;
图8为根据本发明的一实施例,显示用在USB装置的闪存装置的不同地址结构与分割简化方块图;8 is a simplified block diagram showing different address structures and partitions of a flash memory device used in a USB device according to an embodiment of the present invention;
图9为根据本发明的一实施例,显示储存在USB装置的闪存装置的不良区块清单结构;FIG. 9 shows a bad block list structure of a flash memory device stored in a USB device according to an embodiment of the present invention;
图10(A)为根据本发明的另一实施例,显示用在进行测试或格式化过程的制造软件演算流程图;FIG. 10(A) is a flow chart showing a manufacturing software algorithm for performing a test or formatting process according to another embodiment of the present invention;
图10(B)为根据本发明的另一实施例,显示用在执行USB装置计算的制造软件演算流程图;FIG. 10(B) is a flow chart showing the manufacturing software algorithm used to perform USB device calculations according to another embodiment of the present invention;
图11为根据本发明的一实施例,显示测试主机系统对USB装置的整个操作流程图;11 is a flow chart showing the entire operation of the test host system for the USB device according to an embodiment of the present invention;
图12(A)与图12(B)为根据本发明的另一实施例,分别显示双重路线与单一路线的缺陷快闪芯片操作的简化流程图;FIG. 12(A) and FIG. 12(B) are simplified flow charts showing the operation of defective flash chips with dual routing and single routing, respectively, according to another embodiment of the present invention;
图13(A)与图13(B)是方块图,分别叙述关于图12(A)与图12(B)双重与单一路线的缺陷快闪芯片操作的闪存组态;FIG. 13(A) and FIG. 13(B) are block diagrams, respectively describing the flash memory configurations for the operation of the defect flash chip with dual and single routes in FIG. 12(A) and FIG. 12(B);
图14为根据本发明的一实施例,显示储存在每个USB装置不同内存区域的信息的方块示意图;14 is a schematic block diagram showing information stored in different memory areas of each USB device according to an embodiment of the present invention;
图15为根据本发明的一实施例,显示MLC记忆单元的多层单元电压感应;FIG. 15 is a diagram showing multilevel cell voltage sensing of an MLC memory cell according to an embodiment of the present invention;
图16为根据本发明的一实施例,显示可程序化串联的参考产生器与比较器;FIG. 16 shows a programmable reference generator and a comparator connected in series according to an embodiment of the present invention;
图17为根据本发明的一实施例,在写入或抹除操作,MLC降级流程图;FIG. 17 is a flow chart of MLC degradation during write or erase operations according to an embodiment of the present invention;
图18为根据本发明的一实施例,利用ECC字节与调整参考电压来读取错误修正的流程图;18 is a flow chart of reading error correction using ECC bytes and adjusting reference voltages according to an embodiment of the present invention;
图19(A)-图19(C)为根据本发明的一实施例,显示扩充USB装置结构的方块图;19(A)-FIG. 19(C) are block diagrams showing the structure of an extended USB device according to an embodiment of the present invention;
图20(A)-图20(C)为根据本发明的一实施例,显示扩充USB装置结构的方块图;20(A)-20(C) are block diagrams showing the structure of the extended USB device according to an embodiment of the present invention;
图21(A)-图21(G)为根据本发明的一实施例,显示扩充USB连接器与插槽的结构示意图;FIG. 21(A)-FIG. 21(G) are schematic diagrams showing the structure of the expansion USB connector and slot according to an embodiment of the present invention;
图22(A)-图22(I)为根据本发明的一实施例,显示扩充USB连接器与插槽的结构示意图。FIG. 22(A)-FIG. 22(I) are schematic diagrams showing the structure of the expansion USB connector and the slot according to an embodiment of the present invention.
附图标记说明:1-卡本体;2-处理单元;3-闪存装置;4-指纹传感器;5-输入/输出接口电路;6-显示单元;7-电源;8-功能性按键组;9-计算机;10-电子数据快闪卡;13-接口总线;2A-处理单元;3A-闪存装置;4A-指纹传感器;5A-输入/输出接口电路;2B-处理单元;3B-闪存装置;5B-输入/输出接口电路;6B-显示单元;8B-功能性按键组;9B-计算机;22-电源调节器;23-重设电路;10-BUSB装置;201-监视器;202-测试主机;203-USB插槽;204-复合卡片阅读机;205-探针卡具;206--探针;207-SMT探针测试主机;208-集合电缆;211-面板;212-PCB装置;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-数据缓冲器;94-良好区块;95-原始不良区块;96-产生不良区块;97-预备区域;1030-1040-比较器;1041-1051-参考-电流产生器;1052-控制引擎;1054-快闪记忆单元;1056-位线;1060-解译逻辑器;1101-1111-电阻器;1161-1171-放大器;1181-1191-接地电阻器;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-接触接脚;2204-接脚基板;2206、2207-接触接脚。Description of reference signs: 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; 2A-processing unit; 3A-flash memory device; 4A-fingerprint sensor; 5A-input/output interface circuit; 2B-processing unit; 3B-flash memory device; 5B -Input/output interface circuit; 6B-display unit; 8B-functional button group; 9B-computer; 22-power regulator; 23-reset circuit; 10-BUSB device; 201-monitor; 202-test host; 203-USB slot; 204-compound card reader; 205-probe fixture; 206-probe; 207-SMT probe test host; 208-collection cable; 211-panel; 212-PCB device; Flash card controller; 215-flash memory device; 215-1-flash memory chipset; 215-1A-flash memory chipset; 215-1B-flash memory chipset; 215-2-flash memory chipset; 217-USB pin; 413 -bad block data; 415A-control selection bit; 415B-control firmware; 420-entry point register; 421-non-volatile register; 450-microprocessor; 451-control endpoint register; 452-address translation 453-static ROM; 453A-RAM buffer; 453B-flash access time buffer; 454-read-only memory; 454A-jump boot firmware; 454B-descriptor; 456-only bulk transfer instruction decoding 470-input/output interface circuit; 470A-physical layer USB transceiver; 470B-continuous interface engine; 470C-data buffer; 94-good block; 95-original bad block; 96-generated bad block; 97-preparation area; 1030-1040-comparator; 1041-1051-reference-current generator; 1052-control engine; 1054-flash memory unit; 1056-bit line; Resistor; 1161-1171-amplifier; 1181-1191-grounding resistor; 1120-voltage reference generator; 1122-correction buffer; 1300-USB expansion plug; 1303-shell; 1306-spring; 1307-contact pin; 1311-PCB substrate; 1312-upper surface; 1313-bottom surface; 1314-memory controller; 1315-memory device; 1400-USB expansion plug; 1403-shell; 1404-USB connector substrate; 1405-contact finger; 1406-spring; 1407-contact pin; 2132-contact pin; 2134- Pin substrate; 2138-metal cover; 2170-pin substrate; 2172-contact pin; 2173-metal cover; 2176-plastic shell; 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 shell; 2198-metal cover; Contact pins; 2204-pin substrate; 2206, 2207-contact pins.
具体实施方式 Detailed ways
本发明是关于对制造电子数据快闪卡的方法上的改进,虽然本发明以下是以USB电子数据快闪卡为具体参考,但本发明的创新处是可使用在广泛的快闪卡类型的制造,包括PCIExpress,SecureDigital(SD),MemoryStick(MS),CompactFlash(CF)、IDE与SATA快闪记忆卡,但并不局限于上述的这些快闪卡类型。The present invention is about an improvement on the method for manufacturing electronic data flash cards. Although the following is a specific reference to USB electronic data flash cards, the innovation of the present invention can be used in a wide range of flash card types. Manufacturing, including PCIExpress, SecureDigital (SD), MemoryStick (MS), CompactFlash (CF), IDE and SATA flash memory cards, but not limited to these flash card types mentioned above.
参照图1(A),根据本发明的一实施例,一电子数据快闪卡10是通过一外部(主机)计算机9通过任一接口总线(interfacebus)13或一卡片阅读机(图中未示)或其它接口机制(图中未示)而使用,且电子数据快闪卡10包括一卡本体1,一处理单元2,一个或多个的闪存装置3,可选配的指纹传感器(保全装置)4,一输入/输出接口电路5,一可选配的显示单元6,一可选配的电源7(例如电池),与一可选配的功能性按键组8。Referring to Fig. 1 (A), according to an embodiment of the present invention, an electronic
闪存装置3是装设在卡本体1上,以熟知方式将数据文件、参考密码、指纹参考数据存在其内,其中指纹参考数据是通过扫描有权使用数据文件者的指纹而取得。数据文件可以是图片文件或文字文件。以下会进一步提出,闪存装置3也包括启动码数据与句柄数据。The
指纹传感器4是位于卡本体1上,且用在扫瞄电子数据快闪卡的使用者的指纹以产生指纹扫瞄数据。用在本发明的指纹传感器4的一例子是公开在美国专利号6,547,130的Integrated circuit card with Finger print Verification Capability中,整个内容可在此纳入做为参考。在上述专利案中所叙述的指纹传感器乃包括一扫瞄单元数组来定义一指纹扫瞄区域。指纹扫瞄数据包括复数扫瞄线数据(scan line data),其是通过扫瞄扫瞄单元的数组对应的扫瞄线而取得。且,扫瞄单元数组的扫瞄线是以此数组的横向方向与纵向方向扫瞄。每一个扫瞄单元在侦测卡本体的握持者的指纹突起(ridge)部分时会产生一第一逻辑信号,在侦测卡本体的握持者的指纹凹下(valley)部分时会产生一第二逻辑信号。The
输入/输出接口电路5是位于卡本体1上,通过一接口总线5B或一卡片阅读机使用一适当的插座(socket),以受到致动而与主机计算机建立通讯关系。在一实施例中,输入/输出接口电路5包括电路与控制逻辑,其中控制逻辑是与通用序列总线(USB)、PCMCA、RS232接口结构的其中之一有关,以连接至一与主机计算机9连接或位于主机计算机9上的插座。在另一实施例中,输入/输出接口电路5可包括一SD接口电路、一MMC接口电路、一CF接口电路、一MS接口电路、一PCI-Express接口电路、一整合驱动电子(IDE)接口电路与一SATA接口电路的其中之一,通过接口总线13或卡片阅读机与计算机主机9接触。The input/output interface circuit 5 is located on the
处理单元2是位于卡本体1上,且利用位于卡本体1上的相关导电线路或导线连接内存装置3、指纹传感器4与输入/输出接口电路5。在一实施例中,处理单元2可以是如Intel公司所出产的8051、8052、80286微处理器的其中之一。在其它实施例中,处理单元2包括一RISC、ARM、MIPS或其它信号处理器。根据本发明的一观点,处理单元2受至少部分储存在闪存装置3的程序所控制,如此处理单元是选择性地可操作在:(1)一程序化模式(programmingmode),其中处理单元2致动输入/输出接口电路5接收来自主机计算机的数据文件,启动码数据与句柄数据、可选择的指纹参考数据,与储存储存数据在闪存装置内(可选择以压缩格式增加内存装置的储存空间);(2)一重设模式(resetmode),其中启动码数据与句柄数据是从闪存装置3读取出来,并被用在设定与控制处理单元的操作;(3)一数据撷取模式(dataretrievingmode),其中处理单元2从指纹传感器4读取指纹扫瞄数据,并将指纹扫瞄数据与闪存装置3内的至少一部分的指纹参考数据做比较,以确认电子数据快闪卡的使用者是否有权使用储存在闪存装置3内的数据文件,且一旦确认使用者有权使用存在闪存装置3内的数据文件,则致动输入/输出接口电路5传送数据文件至主机计算机9;(4)一码还新模式(codeupdatingmode),还新在闪存装置内的启动码数据与句柄数据;(5)一数据重设模式(dataresetmode),从闪存装置3抹除数据文件与指纹参考数据。在操作方面,主机计算机9通过卡片阅读机或接口总线13传送写入要求与读取要求至电子数据快闪卡10,输入/输出接口电路传送至处理单元2,轮流使用闪存控制器对一个或多个闪存装置3读取或写入。在一实施例中,处理单元2一侦测到从数据文件与指纹参考数据储存在内存装置3,一预设时间周期已经过去后,就会自动初始化数据重置模式操作。The
8051、8052与80286是由Intel公司所发展出来的微处理器,是使用复杂的指令组。8051与8052具有8位的数据总线,80286具有16位的数据总线。RISC、ARM、MIPS是使用减少指令组架构的微处理器。8051与8052广泛用在低成本的应用。80286可以用在高速操作的应用。RISC、ARM、MIPS是成本较高的微处理器,比较适合还复杂的应用,例如先进的错误修正码(ECC)与数据译码。8051, 8052 and 80286 are microprocessors developed by Intel Corporation, which 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, MIPS are microprocessors that use a reduced instruction set architecture. 8051 and 8052 are widely used in low-cost applications. 80286 can be used in high-speed operation applications. RISC, ARM, and MIPS are relatively high-cost microprocessors, which are more suitable for complex applications, such as advanced error correction codes (ECC) and data decoding.
可选配的电源7是位于卡本体1上,且连接至处理单元2及其它位于卡本体上的相关单元,以供应其所需的电力。The optional power supply 7 is located on the
可选配的功能性按键组8是位于卡本体1上并连接至处理单元2,且是可操作以便处理单元2在程序化、重设、资料撷取、码还新或数据重设模式中选择其中之一开始操作。功能性按键组8是可操作来对处理单元2提供一输入密码。处理单元2将输入密码与存在闪存装置3的参考密码比较,一旦确认输入密码与参考密码一致,电子数据快闪卡10开始授权操作。The optional functional
可选配的显示单元6是位于卡本体1上,且连接至处理单元2并受到处理单元2的控制,用以显示与主机计算机9交换的数据文件与显示电子数据快闪卡10的操作状态。The optional display unit 6 is located on the
以下是公开本发明的一些优点:首先,电子数据记忆卡具有小体积却具很大的储存容量,如此在数据传送过程中造成便利性;第二,因为每一个人所具有的指纹是独一无二的,所以电子数据快闪卡只允许有权限者使用储存在其内的数据文件,如此加强安全性。The following are some advantages of disclosing the present invention: firstly, the electronic data memory card has a small volume but has a large storage capacity, which causes convenience in the data transmission process; secondly, because each person has a unique fingerprint , so the electronic data flash card only allows authorized persons to use the data files stored therein, thus enhancing security.
本发明的其它的特征与优点会在以下进一步提出。Other features and advantages of the present invention will be further presented below.
图1(B)为根据本发明的另一实施例,显示电子数据快闪卡10A的方块图,是提供一般的传感器单元4A代替上述的指纹传感器。示范的传感器单元包括能够侦测有权限使用者的生理特征的视网膜扫描仪或声音辨识装置,且操作方式与上述的指纹传感器4类似。FIG. 1(B) is a block diagram showing an electronic
图1(C)为根据本发明的另一实施例,显示电子数据快闪卡10B的方块图。电子数据快闪卡10B除去指纹传感器与相关使用者辨识过程。为了使成本降低,电子数据快闪卡10B也包括一高整合的处理单元2B,其含有一输入/输出接口电路5B与一闪存控制器21。输入/输出接口电路5B包括一收发区块(transceiverblock)与连续接口引擎区块(seria linter face engine block)、数据缓冲器、缓存器、中断逻辑。输入/输出接口电路5B耦接至内部总线以允许输入/输出接口电路5B的不同组件和闪存控制器21的不同组件间与闪存控制器的组件沟通。闪存控制器21包括一微处理单元、一只读存储器(ROM)、一静态随机存取内存(RAM)、闪存控制器逻辑、错误修正码逻辑、通用型的输入输出(GPIO)逻辑。在本实施例中,通用型的输入输出(GPIO)逻辑耦接复数个二极管来作为状态指示,例如指示电力良好或读取/写入闪烁活动等,且GPIO逻辑连接其它I/O装置。闪存控制器21则耦接一个或多个闪存装置3B。FIG. 1(C) is a block diagram showing an electronic
在本实施例中,主机计算机9B包括一功能性按键组8B,当电子数据快闪卡10B在操作,通过卡片阅读机或接口总线连接至处理单元2B。功能性按键组8B可用在从程序化、重设、数据撷取、程序代码还新或数据重设模式其中之一,选择性设定电子数据快闪卡10B。功能性按键组8B也可用在操作提供一输入密码给主机计算机9B。处理单元2B将输入密码与存在闪存装置3B的参考密码比较,一旦确认输入密码与参考密码一致,电子数据快闪卡10B开始授权操作。In this embodiment, the
同时在本实施例中,主机计算机9B包括一显示单元6B,当电子数据快闪卡10B在操作,通过卡片阅读机或接口总线连接至处理单元2B。显示单元6B用以显示与主机计算机8交换的数据文件与显示电子数据快闪卡10B的操作状态。Meanwhile, in this embodiment, the
根据本发明的一实施例,处理单元2包括一闪存类型算法(flash memorytypeal gorithm),用在侦测闪存类型是否受到闪存控制器所支配。由于效能、成本与容量的因素,闪存的进步已产生多种闪存类型。又因潜在性的短缺与成本因素,需要闪存来源弹性化与需要特有的控制使用不同快闪记忆类性,所以利用具有智能型算法的处理单元来侦测与使用不同的闪存类型是重要的。一般的闪存包含辨识(ID)码以辨识闪存的类型、制造者、闪存的特征/参数,例如页(page)容量、区块大小、组织、容量等特征/参数。智能型算法控制处理单元2在重设(reset)状态读取闪存3的ID,与将此ID与受闪存控制器所支配的闪存类型的表(table)比较。假如闪存3没有受到闪存控制器支配,闪存控制器将不能使用闪存3,且不兼容性会受到闪存控制器输出端的LED所指示。假如闪存有受到支配,在闪存控制器开始使用闪存的前,闪存控制器以下述方式进行。例如,正在申请中的美国专利序号11/466,759的「flash memory controller forelectronic data flash card」中公开具有此种智能型算法的闪存控制器,在此将其纳入参考。According to an embodiment of the present invention, the
电子数据快闪卡是一种闪存系统,使用闪存来数据储存,一般闪存的系统架构是包括具有处理器、ROM与RAM的闪存控制器,其中启动码与句柄是位于ROM中作为ROM码。一旦功率上升,处理器抓取启动码来执行,启动码初始化系统组成与下载句柄至RAM中。一旦句柄下载至RAM中,句柄即掌握系统的控制。句柄包括驱动器以执行如控制与分配内存、分配处理指令的优先级、控制输入与输出端口等基本任务。句柄也包括快闪类型侦测算法与闪存参数数据。The electronic data flash card is a kind of flash memory system, which uses flash memory to store data. The general flash memory system architecture includes a flash memory controller with a processor, ROM and RAM, wherein the boot code and handle are located in the ROM as ROM code. Once power is up, the processor fetches the boot code to execute, which initializes the system components and downloads the handles into RAM. Once the handle is downloaded into RAM, the handle takes control of the system. Handlers include drivers to perform basic tasks such as controlling and allocating memory, assigning priority to processing instructions, and controlling input and output ports. The handle also includes the flash type detection algorithm and flash parameter data.
ROM是一种只读存储器,当闪存控制器设计完成且进入生产后,在ROM内的软件码是固定不动,且不能受还改以支持往后才供应至市场的新快闪类型。在这种状况下,就必须发展新的闪存控制器以不时支持新的闪存,因此是耗时又耗钱。ROM is a kind of read-only memory. When the flash memory controller is designed and put into production, the software code in the ROM is fixed and cannot be changed to support new flash types 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 expensive.
图1(D)是还详细地显示图1(B)的处理单元2A。电子数据快闪卡10A包括一电源调节器,以提供一个或多个电源供应器。电源调节器依据电力需求,提供不同的电压给处理单元2A与电子数据快闪卡10A的其它相关单元。为了保持电力稳定,可能需要电容器(图中未示)。电子数据快闪卡10A包括一重设电路23以提供一重设信号(reset signal)至处理单元2A,一旦功率上升,重设电路23确立重设信号至所有的处理单元2A。在内部电压达到一稳定状态后,重设信号不存在,且提供缓存器与电容器(图中未示)以适当重设时间调整。电子数据快闪卡10A也包括一石英晶体振荡器(图中未示),以提供基频给位于处理单元2A内的PLL。FIG. 1(D) also shows the
根据本发明的一实施例,输入/输出接口电路5A与重设电路23、电源调节器22是整合或部分整合在处理单元2A中。高整合可减少整个所需空间,与降低复杂度与制造成本。对于可移除装置而言,如在此所叙述的电子数据快闪卡,紧致性与降低成本是关键因素。当今的IC封装可以将不同的IC组件用不同的技术与物质整合至单一IC封装中。例如,输入/输出接口电路是模拟/数字混合电路,其也能够整合至具有处理单元的多芯片封装(Multi-Chip package,MCP)之中。混合式信号IC技术的性质是容许模拟与数字电路的混合。因此,高整合可以并入至相同的芯片/晶粒中,使处理单元含有输入/输出接口电路、闪存控制器、重设电路、电源调节器。According to an embodiment of the present invention, the input/output interface circuit 5A, the reset circuit 23 and the
根据本发明的另一方面,电子数据快闪卡包括启动码与句柄存在闪存中,而并非存在闪存控制器的ROM中。因此启动码与句柄可以在此领域中受到还新,而无须改变闪存控制器。例如,正在申请中且申请日是2006年12月13日的美国专利申请序号11/611,811的flash memory controller for electronic dataflash card中,公开启动码与句柄储存在闪存中,在此将其纳入参考。According to another aspect of the present invention, the electronic data flash card includes the boot code and handle stored in the flash memory instead of the ROM of the flash memory controller. So the boot code and handle can be refreshed in this field without changing the flash controller. For example, in U.S. Patent Application Serial No. 11/611,811, flash memory controller for electronic dataflash card, filed on December 13, 2006, the open boot code and handle are stored in the flash memory, which is hereby incorporated by reference.
图2是根据本发明的另一实施例,显示制造USB装置的主要方法流程图,且从图3A至图3B是简化过的平面示意图,显示在制造过程不同阶段期间的USB装置。参照图2的方块50,制造方法一开始是利用如表面贴装技术(SMT),将USB装置的所有组件装设在面板上(例如闪存、控制器、与所有的被动组件,如电阻与电容),其中面板包括多个印刷电路板PCB。图3(A)显示一示范的SMT面板211,其具有多个印刷电路板装置211,沿着个别边缘连接在一起,可助在不同SMT组件有效率的组装,这些SMT组件如包括控制器芯片、快闪芯片、及其它组件。PCB装置212包括线路以助在于不同SMT组件间与在控制器芯片212与四个USB接脚217(即VDD、D+、D-与GND)间的电性连接。请再参照图2,接着对个别PCB装置进行测试/格式化,根据本发明所使用的过程,其进一步公开在底下。在一实施例中,面板211(参见图3A)是根据单一化(singulation)(方块52A),如此各个PCB装置可以受切割或互相分离,然后单一PCB装置212(参见图3A)就依据测试/格式化程序(方块52B)。在另一实施例中,当PCB装置212仍连接面板211接受测试(方块53A),然后受格式化/测试的PCB装置受单一化(方块53B)。其中,发明人目前较喜欢测试/格式化的PCB装置212是允许多个PCB装置212维持在一固定关系,以通过单一卡具(fixture)来测试,如此以避免额外的处理时间来处理各个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装置的第一系统(可参照如底下的受测试装置(Devicesundertest,DUT))。第一系统包括一PC测试主机(例如通用型个人计算机)202,一监视器201,一USB复合卡片阅读机204及其它必要周边I/O设备,例如键盘与鼠标(图中未示)。在一实施例中,所有的测试参数都显示在监视器201上以监控测试状态,其中有色旗标(flag)是用在分辨测试通过或失败,在测试过程中所使用的一些参数可受操作者输入,如监控器201上所示的参数。USB卡片阅读机204包括多个(16个以上)USB插槽,每一插槽根据监视器201上的旗标而具有一指定编号(例如#1,#2等)。卡片阅读机204通过一般的USB传输线连接至一测试主机202的标准USB插槽203而与测试主机202连接。当每一受测试装置(DUT)插入多重卡片阅读机204的一对应埠(port)中,多重卡片阅读机204通过USB插槽203连接至测试主机202,当侦测到每一插入的DUT,会在监视器201上产生一相对应的旗标以反应此侦测结果(例如,一旦侦测到,相对应的旗标会从红色转变呈绿色)。图4B显示一第二系统,利用探针卡具(probingfixture)测试事先装设好且仍连接面板211的PCB装置212。第二系统包括一SMT探针测试主机(例如通用型计算机)207,监视器201,一探针卡具205,及其它必要周边IO装置。探针卡具205包括复数被聚集起来的测试探针206,以当卡具205降低至面板211上时,用在接触每一PCB装置212的USB接脚217。探针206提供四个信号路径,用在格式化/测试面板211上的每一装置。另,一集合电缆208是用在将卡具205连接至测试主机207。图5A是一简化的流程图,显示现有使用一种传统USB测试系统利用一传统主机操作系统(OS)的USB驱动器(方块301)来测试、格式化一现有USB装置。如方块302所示,一旦连接一现有USB装置至一主机系统,主机OS暂存现有USB的受测试装置(DUT)所使用的事先建立USB协议。这事先建立的USB协议是基于假设特定装置数据(例如在测试前,装置辨识与序号可为相同的)是储存提供在DUT上的控制器的只读存储器装置的一预定位置上。此外,事先建立的USB协议需要注册程序一次进行一个DUT(即在开始对另一DUT进行注册程序的前,必须先对一个DUT完成一个注册程序)。且,一旦失败,全部的DUT将等到操作者重新安装此程序后才开始。如方块302所示,利用这些事先建立的USB协议所具有的问题是得花许多时间去注册每一个DUT,并要将这些注册数据储存在主机OS的暂存区(registrybank)中(且最后存在主机的硬盘中),且不适合同时测试/格式化大量的DUT。利用这些事先建立的USB协议所具有的额外问题是与新的USB装置并不兼容(启动码、句柄与组件与装置的辨识数据是储存在闪存装置中,并非是在ROM的预定位置上)。如方块304与305所示,因为根据本发明所形成的未测试/未格式化装置,是不包含组件辨识序号与产品辨识号码,现有的事先设定USB协议可能会造成主机测试系统中断(hangup)(方块306),或得花一段时间来完成测试(方块307),且/或只是无法完成格式化/测试过程(方块308)。图5B是一简化流程图,显示根据本发明另一实施例的测试与格式化新的USB装置。如方块501所示,新的软件被下载至测试主机,以阻挡传统操作系统(OS)的USB驱动器而进行一专用USB测试。阻挡现有OS的USB驱动器的目的为通过删除注册程序所花费的时间,使测试时间缩短。此专用USB测试则通过部分注册程序是从USB装置要求数据(并非写入至闪存装置内),而通过USB装置的控制器直接写入开始程序代码、句柄与装置辨识数据的至少其中之一至快闪装置中来开始测试/格式化过程。尤其,如方块502所示,为避免一次需超过16个USB装置的一般冗长的注册程序,在测试主机系统所执行的测试/格式化软件是被修改成读取控制器的硬性编码描述符(hard-codeddescriptor)值并将这些描述符值与所储存的程序参数作比较,以确认DUT准备受格式化和提供DUT正确参数以用在正常操作后才开始。只有连续的检验将持续软件流程。接着,如方块503所示,为了使USB装置让终端客户使用者使用,主要启动区块(masterbootblock,MBR)、档案配置表(FAT)与初始系统档案是写入至快闪装置内。因为传统的USB装置在初始系统操作是使用只读存储器(ROM)来正确地程序化,所以传统的USB装置将不会进行格式化过程。这个程序化步骤对于制造软件目的且助在后续使用是很重要的。此外,如方块504所示,几个写入至快闪装置的值是满足USB的规格。装置序号就是这种值,且写入至每一装置的装置序号是随测试操作者利用软件输入某个起始值而随机或接续改变。其它变量,例如产品辨识号码(ID)也需要受不同产品或体积容量而改变。再者,现有操作系统(OS)的USB注册驱动器(registrydriver)没有进行这些值与变量写入程序,因此使得容量USB测试是不可行的。2 is a flowchart showing the main method of manufacturing a USB device according to another embodiment of the present invention, and FIGS. 3A-3B are simplified plan views showing the USB device during different stages of the manufacturing process. Referring to block 50 of FIG. 2, the manufacturing method begins by mounting all components of the USB device on the panel (such as flash memory, controller, and all passive components such as resistors and capacitors) using surface mount technology (SMT). ), wherein the panel includes a plurality of printed circuit boards PCB. FIG. 3(A) shows an
如方块505、506与507所示,本发明对于现有的操作系统的USB注册驱动器并提供几个好处,即因为本发明利用特别指定的制造软件,所以格式化/测试大量USB装置的时间减少。此外,可以根据熟知技艺,将分割(容量,磁盘驱动器代号(driverletter))制订成符合每一不同需求。图6是一简化流程图,根据本发明的一特定实施例显示USB装置的制造格式化/测试方法。图6的方法可用在单一个或复数个连到面板的装置以达到一高速”管线(pipeline)”格式化/测试程序,而并非缓慢的个别DUT测试(如图3(A)所示)。As shown in
如方块101所示,在开始对一选定的DUT(一群DUT)格式化/测试过程的前,先在测试主机系统安装修改过的USB驱动软件,以操作阻挡现有操作系统USB被辨识为”HCDI,sys”的驱动区段。被用在防止区段”HCDI,sys”的执行的软件指令对于此技术领域的熟知技艺者是都知道的。在一实施例中,为此缘故而取代操作系统的USB汇流驱动器的一些小档案,这是此技术领域的熟知技艺者所了解的。As shown in
如方块102所示,根据本发明所形成的一个或多个”brandnew”(未格式化与未测试)USB装置是受探针、插入或其它方式耦接至一适合的卡具(例如第4(A)图与第4(B)图所示的其中之一个卡具)。As shown at
如方块110所示,接着执行复数个USB装置的初始简单检验,是通过检查控制器硬性编码(hard-coded)值之内容,以辨识大部分共同的错误。尤其是如第6(A)图所示,一旦耦接USB装置,计数值(countvalue)是设定在”1”,主机测试软件读取储存在一第一装置内的至少一些硬性编码数据。(例如,在控制器只读存储器中,一个或多个硬性编码的组态、接口与终点描述符(方块120)),大量储存分类码(classcode)(方块121),供货商辨识(vendoridentification,VID)与产品辨识(PID)值(方块122),与将硬性编码数据与预定熟知良好值比较以决定不正确USB装置是否耦接至测试主机(方块123)。假若侦测到一不正确装置(在方块123的”否”路径),通过一对应DUT(如DUT[1]或DUT[2],一般是指定为DUT[COUNT],方块103A)的有色(如红色)显示旗标产生一警示信号,警告操作者移除不正确装置。在一选定装置的连续简短检查后(在方块123的”是”路径),一有色(如黄色)显示旗标或其它图案信号是显示在主机测试系统上(方块103B)。然后在方块103C中,根据现在受测试装置(所有连接至面板的装置)的数目,将装置计数值与预定最大装置数目作比较。假若计数值是少在最大装置数目,之后计数会增加(方块102A)且在另一耦接测试系统的USB装置重复简短的检查(即方块102-123与方块103),直到每一个耦接至主机测试系统的装置已连续受到简短检查为止(在方块103C的”是”路径),且此时计数值重设。如方块103D所示,一旦全部的受测试装置(DUT)完成初始化,程序就可选择性地由操作者选择暂停与等待一”连续”信号(例如按压在主机系统上的空格键或使用鼠标按压在监视器上的START图样)。这个暂停允许操作者时间视觉性地检查所有DUT的显示旗标,取代任何指定为有缺陷的DUT(在这个情况,对于新增的DUT,初始化过程将重复)。根据本发明的方法,通过于测试与/或格式化闪存装置的前,简短检查至少一些硬性编码数据,以助在USB装置的有效且可靠的程序。As shown in
再度参照图6,一旦完成所有USB装置的简短初始检查,测试主机进行实际测试与格式化闪存装置。这个测试/格式化过程开始在保存闪存的用在暂存预定码进入点(codeentrypoint)的第一区块(图6,方块130)。如图6B所示,在一实施例中,对每一DUT进行保存过程,连续地设定计数值为”1”(方块131),选择目前的DUT(DUT[Count]),保存在目前DUT中,闪存的用在进入点缓存器的第一区块(方块133),然后增加计数值(方块135、137),且对下一个DUT重新保存过程,直到所有的DUT都已处理过(在方块135的”是”路径)。最后储存在保存空间的码进入点是包括一操作系统(OS)进入点,韧体进入点与一非挥发性缓存器进入点。注意,在测试/格式化过程完成后,实际的码进入点数值是写入(下载)在受保存的第一区块的相关领域中。Referring again to Figure 6, once a brief initial check of all USB devices is complete, the test host proceeds to actually test and format the flash memory devices. This testing/formatting process begins at the first block of storage flash memory used to temporarily store predetermined code entry points (FIG. 6, block 130). As shown in FIG. 6B, in one embodiment, the saving process is performed on each DUT, and the count value is continuously set to "1" (block 131), the current DUT (DUT[Count]) is selected, and saved in the current DUT In, the flash memory is used in the first block of the entry point register (block 133), then the counter is incremented (
接着,检查在每一USB装置所提供的闪存的容量(图6,方块140)。第6(C)图是根据一实施例,每一DUT的容量检查过程流程图。此过程开始在设定计数值为”1”(方块141)。之后,通过读取在闪存装置内所提供的初始不良区块数据,对每一DUT进行内存容量检查(即读取位于闪存装置的固定位置的旗标是受闪存装置的制造商或供货商程序化;方块142)。之后,从扫瞄所产生的不良区块数据是用在决定受保存之内存的特定比例是否存在(方块143与144),假若是提供不足够的储备内存(reservedmemory),拒绝此DUT。根据用在将来不良区块资料重新定位目的的测试规格(即当一个良好区块的一个或多个快闪记忆单元在某一点失败时,从良好区块拷贝数据,且重新在一储备良好内存区块中定位数据),是需要储备内存(表示整个”良好”内存的一特定比例)的一预定大小(例如20%)。注意,对于具有一偶数个(两个或还多)闪存芯片的USB装置,当侦测到高比例的不良区块,则双重通道操作并不适合大量生产,因此只推荐单一通道。在格式化闪存的前,检查每一USB装置的闪存储存容量,所以本发明有助在早期辨识与拒绝不适合的USB装置,通过减少程序化多个USB装置所需的总时间,进而降低制造成本。在一可接受的储存容量受到确认后(在方块144的”是”路径),储存两份以上的不良区块辨识数据在闪存的储存区域中以确保安全(方块145)。在一实施例中,不良区块数据是储存在内存位置,其是位于保留给进入点数据之内存位置后(例如第2个与第3个内存区块),与保留两个额外之内存区块(例如第4个与第5个内存区块)以作为将来扩张用。储存两份不良区块数据则提供多余份数,以确保USB装置的可靠长期操作。一旦对第一装置完成容量检查与不良区块数据储存过程,计数值会增加(方块147),且容量检查与不良区块数据储存过程会接续重复在每一DUT,直到所有的DUT都已受处理过(在方块146的”是”路径)。Next, check the capacity of the flash memory provided in each USB device (FIG. 6, block 140). FIG. 6(C) is a flowchart of the capacity checking process for each DUT according to an embodiment. The process starts by setting the count value to "1" (block 141). Afterwards, memory capacity checks are performed on each DUT by reading the initial bad block data provided in the flash device (i.e. reading flags located at fixed locations in the flash device is regulated by the manufacturer or supplier of the flash device. programmatic; block 142). The bad block data resulting from the scan is then used to determine if a certain percentage of reserved memory exists (
然后,根据本发明的另一实施例,利用丛发写入过程(burstwritingprocess),将至少一句柄数据与启动码写入至闪存的选定之内存区块中(图6的方块150)。制造商所产生的控制韧体可助在后续的控制器操作。一般而言,现有的USB装置包括两类基于ROM的句柄、静态句柄与动态句柄。静态句柄是由一初始重设跳跃地址(jumpaddress)与用在指定符合大范围的闪存型态的基本快闪抹除/写入/读取操作状态机械信息所组成(例如静态句柄包含相对长的写入时间延迟,其助在写入操作至”最糟状况”(最慢)的快闪记忆类型)。根据本发明,储存在ROM的静态句柄是受控制器在起始(start-up)时取得。动态句柄包括时间调整控制信息以受DUT利用特定闪存型态(例如最佳写入操作次数),这不但助在最合适闪存的操作,也助在维持领域的适应性。根据本发明的另一实施例,这动态控制韧体是储存在闪存的选定的区块中,以减少控制器晶粒大小且促进领域适应性。在动态控制韧体写入至闪存内以后,DUT的一控制位是受到重设以将DUT处理器的控制从静态句柄移动到动态韧体码。为了协助移动到动态韧体,在ROM中所提供的静态”跳跃开始(jumpstart)”韧体是包括动态句柄的进入点地址以进一步执行使用。Then, according to another embodiment of the present invention, a burst writing process is used to write at least one handle data and a boot code into a selected memory block of the flash memory (block 150 of FIG. 6 ). The control firmware produced by the manufacturer can be used to facilitate the operation of subsequent controllers. Generally speaking, existing USB devices include two types of ROM-based handles, static handles and dynamic handles. The static handle is composed of an initial reset jump address (jumpaddress) and mechanical information used to specify the basic flash erase/write/read operation state conforming to a wide range of flash memory types (for example, the static handle contains a relatively long Write time delay, which helps write operations to the "worst case" (slowest type of flash memory). According to the present invention, the static handle stored in ROM is obtained by the controller at start-up. The dynamic handle includes time adjustment control information to be used by the DUT to utilize a specific flash type (eg optimal number of write operations), which not only helps in the most appropriate operation of the flash memory, but also helps in maintaining domain adaptability. According to another embodiment of the present invention, the dynamic control firmware is stored in selected blocks of the flash memory to reduce the controller die size and facilitate domain adaptability. After the dynamic control firmware is written into the flash memory, a control bit of the DUT is reset to move the control of the DUT processor from the static handle to the dynamic firmware code. To facilitate the move to dynamic firmware, a static "jumpstart" firmware is provided in ROM that includes a dynamic handle to the address of the entry point for further execution use.
图6D是一简单流程图,显示用”管线”方式,利用丛发写入过程来将控制韧体写入至每一DUT中以减少处理时间。关于目前DUT的计数值受初始化(方块151),然后将一页(或区块)的指令或/与数据写入至第一DUT的SRAM(挥发性)缓冲器中(方块152)。如方块152右边所示,一页的指令或/与数据是包括将控制韧体写入至紧接着不良区块的区块中。写入此页后,主机系统下令DUT从SRAM缓冲器写入指令/数据至快闪记忆单元中(方块153)。注意在格式化/测试过程的阶段,动态句柄尚未写入至闪存中,所以DUT所使用的写入过程是根据较慢的静态句柄。根据本发明,为了帮助此写入过程以时效方式进行,一旦一页的指令/数据写入至SRAM中且DUT受令在执行此写入动作,则主机系统进行下一个DUT(即在方块157,计数值增加,然后主机系统将同样的指令/数据写入至下一个DUT中)。最后,一页的指令/数据写入至每一个DUT(在方块155的”是”路径)。在此,主机系统决定是否所有必要的指令数据已写入至每一DUT中。假若没有,计数值是重新初始化(方块151),重复写入过程,将下一页的指令/数据写入DUT中。当第二页的指令/数据写入至第一DUT(即DUT[1]),第一DUT已完成从SRAM缓冲器写入第一页的指令/数据过程至闪存所指定的区块。利用此”管线(pipeline)”方式,进行写入动态句柄至每一DUT的过程是以高效率方式进行,避免因主机系统等待每一个DUT写入信息/数据至闪存中所造成的长时间延迟。FIG. 6D is a simple flow chart showing a "pipeline" approach to write control firmware into each DUT using a burst write process to reduce processing time. The count value for the current DUT is initialized (block 151 ), and then a page (or block) of commands and/or data is written into the SRAM (volatile) buffer of the first DUT (block 152 ). As shown on the right side of
除了控制韧体外,在本发明的一实施例中,闪存的一个或多个区块是指定为非挥发性缓存器,且这些非挥发性缓存器是用在储存写入-保护信息,例如储存刚使用后且一旦电源关闭而不会损失的数值,如容量分割数目与使用者密码。不论是在上述的丛发写入过程,或是动态句柄写入至每一DUT后的接续地(如第二)丛发写入过程,将信息写入至每一DUT之中。注意,假若利用接续的丛发写入过程,之后动态句柄可用在加速写入过程。In addition to the control firmware, in one embodiment of the present invention, one or more blocks of the flash memory are designated as non-volatile registers, and these non-volatile registers are used to store write-protected information, such as storing Values that will not be lost once the power is turned off immediately after use, such as the number of capacity divisions and user passwords. Information is written into each DUT, either during the burst write process described above, or in a subsequent (eg, second) burst write process after the dynamic handle is written to each DUT. Note that dynamic handles can then be used to speed up the write process if a subsequent burst write process is utilized.
接下来,如方块160所示(图6),进行闪存的低阶格式化(low-levelformatting),其中低阶格式化是以所提供的使用者规格为基础。在一实施例中,低阶格式化包括将主要启动区域(MBR)、档案配置表(FAT)与初始根目录数据写入至闪存的选定之内存区块中。没有这数据,USB装置就无法受终端使用者使用。注意,假若一终端使用者获得一个尚未受到低阶格式化的USB装置,此USB装置将无法使用,且终端使用者自己无法利用格式化软件所提供的操作系统进行此步骤。然,在完成低阶格式化后,终端使用者就可改变他们所希望的FAT格式。在上述任一丛发写入过程期间或在动态句柄写入至每一DUT后的接续丛发写入过程期间,将低阶格式化信息写入至每一DUT中(例如图6D图的方块160A)。Next, as shown in block 160 (FIG. 6), low-level formatting of the flash memory is performed, wherein the low-level formatting is based on the provided user specification. In one embodiment, low-level formatting includes writing main boot region (MBR), file allocation table (FAT), and initial root directory data into selected memory blocks of the flash memory. Without this data, the USB device cannot be used by the end user. Note that if an end user obtains a USB device that has not been low-level formatted, the USB device will not be usable, and the end user cannot use the operating system provided by the formatting software to perform this step. However, after completing the low-level formatting, end users can change the FAT format they want. During any of the burst write processes described above or during a subsequent burst write process after a dynamic handle is written to each DUT, low-level formatting information is written into each DUT (eg, the block in FIG. 6D ). 160A).
在低阶格式化、还新序号、日期码与产品版本码数值写入至非挥发性缓存器后(图6的方块170),在上述任一丛发写入过程期间或在动态句柄写入至每一DUT后的丛发写入过程期间(例如图6的方块170A所示),将描述符信息写入至每一DUT中。After low-level formatting, refresh serial number, date code, and product version code values are written to non-volatile registers (block 170 of FIG. 6 ), during any of the burst write processes described above or during dynamic handle During the burst write process after each DUT (such as shown in
接着,测试主机读取所有写入至闪存的信息(方块180),然后这些信息与事先存在主机系统的缓冲器中的数值作比较,以确认USB装置适当地受格式化。根据本发明的一实施例,确认过程(verification process)是显示在第6(E)图中。计数值设为”1”(方块181),然后主机系统指示目前的DUT从闪存重读预定信息。注意,使用事先写入至DUT的动态句柄来进行重读过程。之后,将从DUT所读取的信息与在主机系统中的事先储存数据作比较(方块183)。假若从USB装置所读到的任一数据是不正确的(在方块184的”否”路径),在主机测试系统监视器上显示相对应的旗标(例如一红色旗标)以指示操作者USB装置在测试/格式化过程是失败的(方块185A)。相反地,假若从目前USB装置所读取的数据是正确的,在主机测试系统监视器上显示相对应的旗标(例如一绿色旗标)表示在测试/格式化过程是成功的(方块185B)。之后,在方块187,根据目前受测试装置的数目,将装置计算值与预定最大装置数目作比较(例如所有连接至面板的装置)。假若计算值是少在最大装置数目,装置计算是一个一个增加,对另一个耦接至测试主机的USB装置重复测试过程,直到每一个耦接至主机测试系统的装置都已检查过(在方块187的”是”路径)。然后,测试主机程序终止。Next, the test host reads all the information written to the flash memory (block 180), which is then compared with the values previously stored in the host system's buffer to confirm that the USB device is properly formatted. According to an embodiment of the present invention, the verification process is shown in Figure 6(E). The count value is set to "1" (block 181), and then the host system instructs the current DUT to reread the predetermined information from the flash memory. Note that the reread process is performed using a dynamic handle previously written to the DUT. Thereafter, the information read from the DUT is compared with previously stored data in the host system (block 183). If any data read from the USB device is incorrect ("No" path at block 184), a corresponding flag (such as a red flag) is displayed on the host test system monitor to instruct the operator The USB device fails the test/format process (block 185A). Conversely, if the data read from the current USB device is correct, a corresponding flag (such as a green flag) is displayed on the host test system monitor to indicate that the test/format process was successful (block 185B ). Thereafter, at
图7是根据本发明的一特定实施例的显示一范例USB装置10B的简化方块图。如以上所述,USB装置包括一快闪卡控制器214与一个或多个闪存装置215。FIG. 7 is a simplified block diagram showing an
参照图7的左半部,闪存215是以简化的形式描述在图7中,并在以下进一步描述,其中闪存215包括进入点缓存器420与不良区块数据413,一控制选择位415A,控制韧体415B,与非挥发性缓存器421。如图所示,控制器214与闪存215间的沟通是直接经由进入点缓存器420,与所执行的功能有关,其中进入点缓存器420指示控制器要求控制韧体415B与非挥发性缓存器420。Referring to the left half of FIG. 7,
参照图7的右半部,控制器214包括一微处理器450、一控制端点缓存器(control end point register)451与地址译码器452,一静态随机存取内存(RAM)、一只读存储器(ROM)、一输入/输出接口电路470。控制端点缓存器451提供每个控制器所需的系统默认地址(default address)。控制端点缓存器用在和此装置通讯,即使之后的地址改变。静态ROM453包括一RAM缓冲器(buffer)453A与快闪存取时间缓存器(flash access timing register)453B。缓冲器453A包括一足够之内存来储存闪存215的至少一区块,且例如当执行区块拷贝作业(如从闪存215读取数据且写入至RAM453中)时,可使用缓冲器453A以增进执行速度。在与闪存215通讯期间,快闪存取时间缓存器453B储存受控制器214利用的指令码(command code)。只读存储器454包括硬性连接(hard-wired)数据(即无法被修改的数据),其中硬性连接数据包括跳跃式启动韧体(jump startfirm ware)454A与不同描述符454B。跳跃式启动韧体454A包括一重设地址向量(reset address vector),其造成微处理器450执行一大程度跳跃运算(jump operation)至闪存装置215的进入点缓存器420。因为不需要改变编码,所以跳跃式启动韧体454A也包括大部分的基本读取/写入/抹除的时间状态机器(timing statemachine)数据与区块拷贝指令。此外,跳跃式启动韧体包括写入至快闪存取时间缓存器453B的静态指令码,而静态指令码是作为系统默认时间(defaulttiming),例如,从闪存215的初始读取/写入指令期间或到闪存215的初始读取/写入指令期间。注意,惟,用在支持不同类型闪存的动态句柄是存在快闪装置215的控制韧体缓存器415B中以助在还新。不同的描述符值454B也是ROM454中的硬性码,且当测试主机从USB装置10B要求特定信息时,使用此描述符值454B。当无法响应错误值时,会造成USB装置10B受测试主机的拒绝,且被认定是一控制器失败。还详细的描述符值可参照如通用序列总线大量储存类别(USB Mass Storage Class)规格。控制器214包括一仅大量传输(Bulk-only-transport,BOT)指令译码器456以助在利用BOT指令与闪存215通讯往来。逻辑区块地址-实体区块地址(LBA-to-PBA)转换器/译码器452是用在对由BOT指令译码器456所产生的逻辑地址译码。输入/输出接口电路470包括一实体层USB收发器470A,用在传送与接收USB不同的NRZI信号,一连续接口引擎470B用在执行序列-并列(serial-to-parallel)(接收端)操作与并列-序列(parallel-to-serial)(发送端)操作,一数据缓冲器470C用在缓冲输入/输出(incoming/outgoing)的数据框架,且因为速度匹配不一样,所以利用连续接口引擎470B、不同缓存器与中断处理逻辑470C来处理USB协议。Referring to the right half of Fig. 7,
图8是一简化方块图,叙述在测试/格式化过程(先前所述)完成后,闪存215的不同地址结构与分割。如图8的左半部所示,闪存215主要是分成只读区域405与读取/写入区域406。FIG. 8 is a simplified block diagram illustrating the different address structures and partitioning of
只读区域405包括进入点缓存器420、不良区块清单(badblocklist)413、储备区块414、控制韧体415B、主要启动区块(MasterBootBlock)416与非挥发性缓存器421。如图8的右半部所示,进入点缓存器420包括一控制韧体进入点地址420A来储存控制韧体415B的位置,一非挥发性缓存器进入点地址420A来储存存在非挥发性缓存器421的不同值的位置,一操作系统(OS)进入地址420C来储存主要启动区块416的位置。只读存储器405只可以受制造测试软件还新,而无法受一般使用者主机PC系统所改变。控制韧体415B受控制器214的微处理器450所执行(参照图7),且控制韧体415B只受到读取(即无法受终端使用者还新)。同样地,非挥发性缓存器421储存一些在测试/格式化过程可以被还新的值(例如产品序号或ID号码),但这些值无法受到终端使用者改变。The read-
读取/写入区域406是包括内存区块,用在受终端使用者使用。在一实施例中,读取/写入区域406包括一基本档案结构,所以档案可受到主机操作系统的读取/写入,且可被分成数个分割区(分割区1,2,3,4)。第一分割区(分割区1)包括档案配置表(FAT)1417A与档案配置表(FAT)2417B,一根目录418,与档案丛集(file cluster)。The read/
根据本发明的一实施例,当USB装置10B开始启动,从跳跃启动韧体454A读取静态句柄至快闪存取时间缓存器453B。在初始步骤期间(图6的方块110),控制器214利用静态句柄所提供的系统默认时间(defaulttiming)使用闪存215,例如读取闪存215的产品辨识数据。产品辨识数据被传送至主机系统,主机系统再将产品辨识数据与一储存表比较以辨识已还新的时间参数(或者,在初始格式化过程的前,操作者可以先提供闪存的产品辨识给主机系统)。然后,主机系统将已还新的时间参数写入至控制器中,控制器将此些已还新时间参数存在快闪存取时间缓存器中。一旦完成此过程,控制器是以高效率方式,利用已还新时间参数来写入格式化信息至闪存中,进而减少制造时间。注意,一旦完成格式化,控制选择位415A是设定在闪存215中,当USB装置10B接续启动时,控制选择位415A使控制器214从控制韧体415B将动态句柄写入至快闪存取时间缓存器453B。According to an embodiment of the present invention, when the
图9是根据本发明的一实施例,示范存在闪存215中的不良区块清单。在本实施例中,二进制的”1”值是表示一良好内存区块402,二进制的”0”值是表示一不良内存区块401。储存不良区块数据413A与413B的两份副本,以确保即使一个副本之后受损,仍有不良区块数据可用。另两个区块(参照图8)是暂时保留,用在未来一旦不良区块清单413A、413B中有其中一个坏掉使用。在制造测试期间,制造测试软件控制所有不良区块的还新。根据句柄韧体415B所定义的过程,在正常操作时发生不良区块,将致动不良区块清单413A、413B还新。且,因为每当有再一个不良区块被发现时,就会有再一个位还新为”0”,所以在还新不良区块清单413A与413B,如需还新其它快闪数据区块的前,是永远不需要抹除所有位为”1”。因此,用在不良区块数据的储存的区块,可靠度就还高了。FIG. 9 is an exemplary bad block list stored in the
图10(A)是根据本发明另一实施例的制造软件演算规则流程图,用在对一USB受测试装置(DUT)进行测试/格式化过程。当DUT耦接至测试主机,所有的参数受操作者输入而马上被测试主机读取时,测试开始(方块601)。软件执行Get_descriptor(读取)过程以传送指令来读取内部硬性描述符值(方块602),然后,软件执行一Set_descriptor指令来设定正确值(correct value)以及增加或改变描述符,而不是增加或改变那些存在控制器的RAM缓存器中的描述符(方块603)。然后,当执行一Get_configuration指令,软件读取初始组态值(configuration value)(方块4),接着Set_configuration软件下载每个不同的组态值(方块605)。然后,软件读取一接口描述符值,响应一Get_interface指令(方块606),接着软件使用Get_interface指令下载正确值(方块607)。之后,下载装置固定地址至USB装置,响应软件的Set_address指令,当成功的时候,一相关的有色旗标会改变以响应连接电源状态(plug-instatus)(方块608)。然后,重设装置缓存器值(device register value)来响应一Clear_feature指令(方块609),且有些特别的特征,如remote_wake up或endpoint_halt能力是受软件set_feature(方块610)。USB装置可以为多种不同类型,例如大储存量类型,且可受不同类型的特定指令,如like_max_lun所执行(方块611),以读取软件所支持的分割数目,对于未格式化的装置,软件会下令设定系统默认值(default),其中系统默认值是根据快闪装置的分割数目。之后,使用一Get_status指令以检查程序化是否成功(方块612)。假如成功的话,在测试主机监视器上的各个图样颜色会改变以表示成功地程序化状态(方块613)。FIG. 10(A) is a flowchart of manufacturing software algorithm algorithm for testing/formatting a USB device under test (DUT) according to another embodiment of the present invention. Testing begins when the DUT is coupled to the test host and all parameters are entered by the operator and immediately read by the test host (block 601 ). The software executes the Get_descriptor (reading) process to read the internal hard descriptor value (block 602) with the transmission instruction, and then, the software executes a Set_descriptor instruction to set the correct value (correct value) and increase or change the descriptor instead of adding Or change those descriptors stored in the controller's RAM buffer (block 603). Then, when executing a Get_configuration command, the software reads the initial configuration value (block 4), and then the Set_configuration software downloads each different configuration value (block 605). Then, the software reads an interface descriptor value, responds to a Get_interface command (block 606), and then the software uses the Get_interface command to download the correct value (block 607). Afterwards, the download device fixes the address to the USB device in response to the software's Set_address command. When successful, an associated colored flag changes in response to the plug-instatus (block 608). Then, reset the device register value (device register value) to respond to a Clear_feature command (block 609), and some special features, such as remote_wake up or endpoint_halt capabilities, are controlled by software set_feature (block 610). The USB device can be of many different types, such as a large storage capacity type, and can be executed by different types of specific instructions, such as like_max_lun (block 611), to read the number of divisions supported by the software. For unformatted devices, The software will command to set a system default value (default), wherein the system default value is based on the partition number of the flash device. Afterwards, a Get_status command is used to check whether the programming is successful (block 612). If successful, the color of each pattern on the test host monitor will change to indicate a successful programming status (block 613).
图10B是根据本发明另一实施例的制造软件演算规则流程图,用在对一USB受测试装置(DUT)进行计算(enumeration)。当DUT插入至测试集线器(testhub),其轮流连接至测试主机(例如一般的PC),就开始此计算过程。因为DUT未受到测试,所以不论是D+或D-接脚应所述的具有1.5K奥姆的上拉(pullup)电阻连接,以全速或低速辨识(方块702)。如果电阻值不正确或没有连接,有色旗标将会指示是一个缺陷装置而应所述的被拒绝。一旦测试主机PC辨别出DUT,测试主机驱动一重设(Reset)指令给DUT至少10秒(方块703)。假若DUT适当响应重设指令且指示是一成功的重设状态,测试主机就利用系统默认控制端点0(default control end point)发布给DUT(方块704)。测试主机PC之后传送Get_descriptor至DUT控制器硬性码值以取得Max Packet Size参数(方块705),且DUT通过传送其传递封包大小(transfer package size)来响应(方块706)。测试主机PC之后传送Set_Address至DUT以分配一独一地址。假若测试主机PC与DUT之间的所有通讯往来在这里都是成功的(方块707A的”是”路径),之后将一简短版本的大量储存驱动器传送至DUT,等到之后通讯时再用(方块708)。之后,测试主机传送一Get_descriptor指令给DUT,将装置描述符值与已受系统设定的系统默认值比较,且任何不一致会反应在测试主机PC上以警告操作者拒绝此DUT(方块709)。假如装置描述符值是正确的,测试主机PC传送一set_configuration指令,设定组态数目(方块710),将所有必须值写入至DUT闪存中,如此完成计算(方块711)。FIG. 10B is a flow chart of manufacturing software calculation rules for enumeration of a USB device under test (DUT) according to another embodiment of the present invention. This calculation process starts when the DUT is plugged into a test hub (testhub), which in turn is connected to a test host (such as a general PC). Since the DUT is not tested, either the D+ or D- pin should be identified with a 1.5K ohm pullup resistor connected at full speed or low speed (block 702). If the resistor value is incorrect or not connected, a colored flag will indicate a defective device and should be rejected as stated. Once the test host PC recognizes the DUT, the test host drives a Reset command to the DUT for at least 10 seconds (block 703 ). If the DUT responds appropriately to the reset command and indicates a successful reset status, the test host issues to the DUT using the system default control endpoint 0 (block 704). The test host PC then sends Get_descriptor to the DUT controller hard code value to get the Max Packet Size parameter (block 705), and the DUT responds by sending its transfer packet size (block 706). The test host PC then sends Set_Address to the DUT to assign a unique address. Assuming all communication between the test host PC and the DUT is successful here ("Yes" path of block 707A), then a short version of the mass storage driver is sent to the DUT for later communication (block 708 ). Afterwards, the test host sends a Get_descriptor command to the DUT to compare the device descriptor value with the system default value set by the system, and any inconsistency will be reflected on the test host PC to warn the operator to reject the DUT (block 709). If the device descriptor value is correct, the test host PC sends a set_configuration command to set the configuration number (block 710), and writes all necessary values into the DUT flash memory, thus completing the calculation (block 711).
图11是根据本发明的另一实施例的操作流程图,显示测试主机系统对USB装置的所有操作方式。FIG. 11 is an operation flowchart according to another embodiment of the present invention, showing all operation modes of the test host system on the USB device.
参照图11的上方部分,操作者开始测试计划(方块801),将所有组态与所有可能类型的闪存特征值下载至程序中(方块802),这些档案在下载至程序前是存在硬盘中。程序之后会等操作者输入关于所需测试的正确参数,例如,被选定的受测试装置(DUT)的起始序号或甚至是致动程序进行的密码。如方块804底下所示,有两个主要的指令路径将会被译码与执行:低阶格式化(在方块804下的右分支)与闪存软件组态(在方块804下的左分支)。Referring to the upper part of FIG. 11, the operator starts the test plan (block 801), and downloads all configurations and all possible types of flash memory characteristic values into the program (block 802). These files are stored in the hard disk before being downloaded to the program. The program then waits for the operator to enter the correct parameters for the desired test, for example, the starting serial number of the selected device under test (DUT) or even a password to activate the program. As shown below
参照图11的右下部分,低阶格式化包括对所有的闪存区块进行一闪存抹除/读取/写入检查,因为闪存可能先被其它管理供货商所使用,且一般会有不同的演算规则来标记不良区块,所以将测试读取/写入(R/W)模式写入所有闪存区块的闪存中(方块810A)。之后,读取每一R/W模式并将R/W模式与所期望的结果作比较。接着,虽然有些区块已经被标记为不良,但是取决在所有任一区块受抹除。之后,仅良好区块受抹除为所有二进制”1”数值期间,进行低阶格式化(方块811)。然而,因为闪存可能由于先前的使用而受到污染,所以可能通过参数扫瞄型态选择输入(parameter scan types election entry)对不良区块作完整的扫瞄。Referring to the lower right part of Figure 11, low-level formatting includes a flash erase/read/write check for all flash memory blocks, because the flash memory may be used by other management providers first, and generally there will be differences Algorithm to mark bad blocks, so a test read/write (R/W) pattern is written to the flash memory of all flash blocks (block 810A). Afterwards, each R/W pattern is read and compared to the expected result. Then, although some blocks have been marked as bad, it is up to all blocks to be erased. Thereafter, low-level formatting is performed (block 811 ) during which only good blocks are erased to all binary "1" values. However, since the flash memory may be contaminated by previous use, it is possible to perform a complete scan for bad blocks through the parameter scan types selection entry.
之后,每个记忆卡的各别信息写入至快闪记忆卡中,以还新各别记忆卡信息(方块812)。在一实施例中,信息是包括序号、产品ID、供货商ID与LED光模式(方块817)。然后控制韧体写入至闪存中(方块813),例如,拷贝二位(图像)档案至闪存中(方块818)。此外,纪录在闪存的非挥发性缓存器中的韧体进入点地址。之后,闪存的FAT会根据客户要求,通过软件加载储存在非挥发性缓存器中的OS进入点地址的事先程序化档案中而还新。之后,当客户要求时,则所有初始档案被拷贝至闪存(方块815)。这些档案可能包括自动执行图像或可执行的档案来应用在储存在测试主机的预先拷贝目录(Precopydirectory)中(方块819)。之后,从DUT读回储存数据,并存到测试主机硬盘装置中用在测试与将来参考用(方块816)。Afterwards, the individual information of each memory card is written to the flash memory card to restore the individual memory card information (block 812). In one embodiment, the information includes serial number, product ID, supplier ID and LED light mode (block 817). Then the control firmware is written to the flash memory (block 813), for example, a binary (image) file is copied to the flash memory (block 818). In addition, the firmware entry point address is recorded in the non-volatile register of the flash memory. Afterwards, the FAT of the flash memory will be refreshed by software loading the pre-programmed file of the OS entry point address stored in the non-volatile register according to the customer's request. Then, when requested by the client, all initial files are copied to flash memory (block 815). These files may include auto-executable images or executable files for use in a precopy directory stored on the test host (block 819). Afterwards, the stored data is read back from the DUT and stored in the hard disk device of the test host for testing and future reference (block 816).
图11的左部分包括一用在还新的选择性程序,例如储存在动态句柄的快闪时间。起初,有些参数会受到改变,例如,由于在测试程序中闪存类型的改变,所以可能需要确认如测试操作者密码是否正确输入,确认受还新的快闪时间是否被输入。然,假若图11的过程被连续用来测试具有相同快闪装置的DUT,则不需要进行图11的左边的选择性过程,这是因为程序保有测试用的正确参数。参照图11的左部分,在进行低阶格式化后,使用闪存软件组态,闪存组态开始在检查操作者所输入的预存密码(方块805)。闪存软件组态是受限于有权限人员(例如装置制造商),而没有密码的无权限人员则会受到系统拒绝而无法使用。一旦正确的密码受到确认,软件将会等待操作者输入指令(方块805A)。闪存是由许多不同的供货商所生产,与具有许多不同参数设定,因为内存容量从每个供货商持续增加。软件组态的第一步骤是辨识用在目标DUT的特定闪存(方块806)。为了使组态程序健全,闪存类型的顺序是事先被程序化以达到弹性目的(方块807),且使用者可以还新此顺序,且为便于修改,所有的还新信息是显示在装置监视器上(方块808),然后变还是存入档案中以便于日后参考。The left part of Fig. 11 includes an optional procedure for refreshing, such as the flash time stored in the dynamic handle. Initially, some parameters will be changed, for example, due to the change of the flash memory type in the test program, it may be necessary to confirm whether the test operator password is entered correctly, and confirm whether the new flash time is entered. However, if the process of FIG. 11 is used continuously to test DUTs with the same flash device, the optional process on the left of FIG. 11 does not need to be performed because the program retains the correct parameters for testing. Referring to the left part of FIG. 11 , after the low-level format is performed, the flash memory software configuration is used, and the flash memory configuration starts to check the pre-stored password input by the operator (block 805 ). Flash software configuration is limited to authorized personnel (such as device manufacturers), while unauthorized personnel without passwords will be rejected by the system and cannot use it. Once the correct password is confirmed, the software will wait for operator input (block 805A). Flash memory is produced by many different suppliers with many different parameter settings, as memory capacity continues to increase from each supplier. The first step in software configuration is to identify the specific flash memory used on the target DUT (block 806). In order to make the configuration process sound, the sequence of flash memory types is programmed in advance to achieve flexibility (block 807), and the user can update the sequence, and for easy modification, all update information is displayed on the device monitor (block 808), and then change or save in the file for future reference.
图12(A)与图12(B)分别是显示双重路线(dual channel)与单一路线(singlechannel)的缺陷闪存芯片操作的简化示意图。图13(A)与图13(B)是描述相关闪存组态的方块图。当有双数量的闪存芯片与装置整合,这两个选择就可以受到应用:单一路线或双重路线操作。FIG. 12(A) and FIG. 12(B) are simplified schematic diagrams showing the operation of defective flash memory chips in dual channel and single channel, respectively. FIG. 13(A) and FIG. 13(B) are block diagrams describing related flash memory configurations. When there is a double number of flash memory chips integrated into the device, two options can be applied: single route or dual route operation.
如图12(A)所示的双重路线操作,从控制器214将数据总线分成两部分:数据线数据[7:0]是连接至闪存芯片组215-1,数据线数据[15:8]是连接至闪存芯片组215-2,其中两个内存都分享同一个控制器地址与控制总线90。如第12(A)所示的双重路线操作的优点就是速度快,因为数据总线变成二倍。如图13(A)所示,单一路线操作的缺点就是在闪存芯片的任一边的不良区块(badblock,BB)区域一般是不对称的,但因为地址与控制总线连接在一起,对称操作导致产生不良区块而减少可使用的良好区块容量。两组快闪芯片的地址也受到错开,为了反应数据总线的连接。In the dual route operation shown in Figure 12(A), the
图12(B)显示单一路线操作,其中两个内存组215-1A与215-1B连接至数据线数据[7:0]。在单一路线操作,实体地址范围是连续的,如图13(B)所示,没有如图13(A)所叙述的双重路线操作的导致不良区块情况。据此,单一路线操作的可使用的容量是比双重路线操作多,预备区域并扩大以抹除由不良区域预留目的所导致的缺失。惟,单一路线操作的缺点是操作速度比较慢,因为只有使用8个总线路线数据[7:0],而不是双重路线操作所使用的16个数据总线路线。然,因为具有高不良区块比例的快闪芯片增加,如近来大量快闪芯片的生产,所以最好是采用单一路线操作。FIG. 12(B) shows a single-way operation where two memory banks 215-1A and 215-1B are connected to the data line data[7:0]. In single-way operation, the physical address range is continuous, as shown in FIG. 13(B), and there is no bad block situation caused by double-way operation as described in FIG. 13(A). Accordingly, the usable capacity of the single-way operation is more than that of the dual-way operation, and the area is prepared and expanded to erase the gap caused by bad area reservation purposes. However, the disadvantage of single-way operation is that the operation is slower because only 8 bus ways Data[7:0] are used instead of the 16 data bus ways used by dual-way operation. However, because of the increase of flash chips with a high proportion of bad blocks, such as the recent production of a large number of flash chips, it is best to use a single route operation.
图14是根据本发明显示储存在每一USB装置的不同内存领域中的信息与参数设定的方块图。所有的参数可以受操作者改变,且分成两个类别:装置信息与组态信息。14 is a block diagram showing information and parameter settings stored in different memory areas of each USB device according to the present invention. All parameters can be changed by the operator and are divided into two categories: device information and configuration information.
装置信息储存在每一装置10B,位于如图10的上方区域的区块(领域)中。方块905包括最大装置容量(例如256MB)。方块901包括由装置制造商所建立的装置容量(例如一个具有256MB最大容量的装置,有效装置容量可设定在250MB,剩下的6MB是保留给不良区块管理)。方块902包括闪存部分使用,例如,制造商的部分号码是由三星(Samsung)或英飞凌(Infineon)所建立(例如三星的K9K8G08U0M的1Gbyte闪存装置)。方块903包括一闪存ID信息,其经由快闪初始指令地址90H读取且用在决定闪存装置是否正确,因为有些闪存具有不同时间性质但享有同一ID码。为了允许终端客户容易进入不同NAND快闪时间规格,故提供这个特征以助在快闪ID的调整。方块904包括在特定装置10B所使用的快闪芯片数目。在USB装置的格式化/测试与接续修改期间,方块905A、905B与905C储存使用的不同密码。因为操作者密码对于控制制造过程而言是非常重要的,且为维持测试质量,密码修改(方块905B)与确认(方块905C)对于MIS控制测试程序的正式取用是很关键的。The device information is stored in each
装置10B的组态信息是公开在图10的装置信息下方的方块图中。方块906包括生产线号码(production line number)信息,用在生产控制信息的操作者ID号码。方块907包括预先扫瞄快闪类型信息,其包含不同扫瞄闪存的方法(抹除/读取/写入),一快速跳回区块检验值(skip back block value)(方块907A),一所有区块的全扫瞄值(方块907B),一扫瞄良好区块而略过受制造商所植入不良区块标记值(方块907C)。对于那些使用闪存组件的装置,是推荐全扫瞄,重新建立不良区块清单(bad_block_list)(方块907B)。方块908包括主要序号(serial number,S/N),方块908A包括此特定装置的初始S/N,具有方块908B的还新序号信息,且不论序号是使用事先设定的数列或是随机产生的(即序号可以增加或减少,也可以任意由操作者输入而产生(例如软件呼叫一随机号码产生器与一种子参数(例如主机测试器时间/日期))以确保其随机性),主要原理就是对于根据USB规格的每一个装置,序号需要不一样。方块909包括装置的电流规格与限制(例如装置的最大电流用量),其中装置超过这个数目就是一种装置失败的指示(例如500ma是列在USB装置的最大特定电流)。方块910包括装置LED灯在不同条件下的一时间间隔与亮度值,与用在告知操作者操作状态(例如,当测试中断或成功或装置是闲置或使用中)。方块917包括正确控制器的供货商/产品ID号码,用在允许测试/格式化过程(即装置具有不匹配的供货商/产品号码存在此范畴,一开始就会受到测试/格式化系统拒绝)。方块911包括供货商名字与产品内文译码信息,方块912A包括产品串行名字(string name)与版本信息。方块913储存一统计值,表示在测试产品在线所测试的产品的通过/失败测试数目(方块913A是用在重设此数值),方块915包括一测试产品线的最大测试数目,因为测试是由一特定操作者初始设定,这个信息用在提供操作者有用的统计信息。方块919包括闪存的最大预备比例(reserved ration)(即为了日后操作目的,不良区块配置所需的预备内存数)。方块921包含一写入保护开关(开或关),方块920A包括一容量分配数,用以纪录闪存在储存时,可分配至多个不同区域,以达到数据分类的目的。方块920储存起始容量标记(volume label),例如D:(E:,F:,以此类推)。最后,方块920包含每一装置对应每一插槽的BIN号码,且这个信息是用在当装置在测试/格式化过程失败时公开一错误码。The configuration information of the
因为多层单元(Multi-level-cell,MLC)闪存与大小相同的单层单元闪存比较起来,具有还大的储存密度,所以MLC闪存愈来愈受到欢迎。根据本发明的部分实施例,上述所叙述的技术是可以应用在大量生产MLC闪存或对MLC闪存的生产测试。有关MLC闪存的较详尽的资料可以参考上述内容与美国专利申请号11/737,336,其中美国专利申请号11/737,336是让渡给本申请案的一相同受让人。Because the multi-level-cell (MLC) flash memory has higher storage density than the single-level cell flash memory with the same size, the MLC flash memory is becoming more and more popular. According to some 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. More detailed information about MLC flash memory can be referred to above content and US Patent Application No. 11/737,336, wherein US Patent Application No. 11/737,336 is assigned to the same assignee of the present application.
图15是根据本发明的一实施例,显示一MLC记忆单元(CELL)的多层电压感应,如图15中所显示的系统可以及上述技术一起使用。一闪存芯片具有快闪记忆单元(flash cell)数组,以行(row)、列(column)方式设置,且根据地址的一行部分与地址的一列部分选择快闪记忆单元数组。地址可由记录器(sequencer)依放进闪存芯片的区域地址或页地址产生。地址的一第三部分是有效地选择MLC记忆单元内的位。FIG. 15 is a diagram showing multilayer voltage sensing of an MLC memory cell (CELL), according to an embodiment of the present invention. The system shown in FIG. 15 can be used with the techniques described above. A flash memory chip has a flash memory unit (flash cell) array, which is arranged in a row (row) and column (column) mode, and the flash memory cell array is selected according to the row part of the address and the column part of the address. The address can be generated by a sequencer according to the area address or page address put into the flash memory chip. A third part of the address effectively selects bits within the MLC memory cell.
参照图15,控制引擎1052接收地址并在已选定的行、列交叉处选择一个或多个快闪记忆单元。MLC地址传送至解译逻辑器(translation logic)1060,使每一记忆单元产生多个位。根据控制逻辑1052的MLC地址,对解译逻辑器1060所输出的每一记忆单元的位中,挑选一个或多个位。一般而言,8个或还多快闪记忆单元是受平行的8个或还多位线所读取与感应,或是受8个或还多个解译逻辑器1060的副本所读取与感应,但只有位划分被显示。Referring to FIG. 15, the
位线1058受上拉(pull up)1056先充电,被选定的快闪记忆单元1054是在被选定的行与列的交叉处,且快闪记忆单元1054具有一栅极电压VG,其是在通道打开时受施加,取决在快闪记忆单元1054的状态。不同的状态可能被程序化至快闪记忆单元1054,每个状态在快闪记忆单元1054的浮动栅极上储存了不同数量的电荷,因此每个状态造成不同大小的通道电流流经快闪记忆单元1054,从位线1058至接地端。可调变电流流经快闪记忆单元1054,结合上拉电流从上拉1056而形成一分压器。位线1058上的电压因此随着被程序化至快闪记忆单元1054中的状态而改变。The bit line 1058 is first charged by the pull-up (pull up) 1056, the selected
位线1058是作为比较器1030-1040的反相输入端(inverting input),非反相输入端对比较器1030-1040而言是参考电压,此参考电压是由参考-电流产生器1041-1051所产生的。由参考-电流产生器1041-1051所产生的电压是受控制引擎1052所控制,并回应这些用在感应四个记忆单元状态的参考状态电压、较高状态电压、较低状态电压。The bit line 1058 is used as the inverting input terminal (inverting input) of the comparator 1030-1040, and the non-inverting input terminal is a reference voltage for the comparator 1030-1040, and this reference voltage is provided by the reference-current generator 1041-1051 produced. The voltages generated by the reference-current generators 1041-1051 are controlled by the
由参考电压产生器1041-1051所产生的电压是连续的高电压,所以位线电压超过较低的参考电压,清除较低状态比较器的输出,而当位线电压无法超过较高的参考电压,则使得较高状态的参考电压输出是维持原设定。从输出0的比较器30-40过渡到输出1的比较器1030-1040的位置是指出位线1058的感应电压。例如,当比较器输出0与比较器输出1,比较器1037与1038发生0至1的过渡。施加电压IU2至比较器1037,与施加电压IR3至比较器1038。位线1038的电压是位于IU2与IR3之间,是读为状态3(01)。The voltages generated by the reference voltage generators 1041-1051 are continuous high voltages, so the bit line voltage exceeds the lower reference voltage, clearing the output of the lower state comparator, and when the bit line voltage cannot exceed the upper reference voltage , so that the higher state reference voltage output is maintained at the original setting. The location of the transition from comparators 30 - 40
解译逻辑器1060从比较器1030-1040接收11个比较器输出,并侦测从0过渡到1的位置。解译逻辑器1060产生数个输出,例如读取数据位(read data bit)D1、D0,其是2位,用以对从记忆单元中所读取的状态译码。一4位MLC将会有一解译逻辑器,其输出四个读取数据位D3、D2、D1、D0。
从解译逻辑器1060的其它输出在记忆单元程序化期间是有用的。在程序化期间,记忆单元缓慢地被充电或被放电,故在位线1058上的电压改变。一旦所需的数据从数据-读取输出D1、D0读取出,工作停止。然,为确保足够的噪声界线(noise margin),位线电压应所述的是在较高与较低状态电压之间,例如VL2与VU2之间,而并非是在相邻的读取-参考电压之间,例如VR2与VR3之间。当位线电压是在VR2与VL2之间,启动under-program输出,当位线电压是在VU2与VR3之间,启动over-program输出。当位线电压是在VL2与VU3之间,则都不启动under-program输出与over-program输出。Other outputs from interpret
当一所欲的记忆单元值已达到,也可以启动小于或等于的输出。位选择输出小于或可以供应写入数据至解译逻辑器1060以允许小于或等于的输出至目标逻辑状态。解译逻辑器1060可作为一真值表(truth table)。因为参考电流流经电阻而产生一参考电压,所以当比较器1030-1040是电流比较器,参考-电流产生器1041-1051可以产生参考电流或参考电压。The less than or equal to output can also be enabled when a desired memory cell value has been reached. A bit select output less than or may supply write data to interpret
图16显示一可程序化的连续参考产生器与操作放大器。电压参考产生器1120产生一较高的参考电压施加在较上方的操作放大器1161与电阻器1101。校正缓存器(calibration register)1122可以程序化至不同数值以调整电压参考产生器1120所产生的最高参考电压值。Figure 16 shows a programmable continuous reference generator and operational amplifier. The
对一连串的电阻器1101-1111施加较高参考电压,构成一分压器(voltagedivider)至接地端。每个电阻器1101-1111的电阻值可以一样大,所以较高参考电压与接地端的电压差可分成11个相同的电压分段,产生11个分电压。或者,每一电阻1101-1111可以具有一不同的可程序化数值以提供还多的电压控制。Applying the higher reference voltage to a series of resistors 1101-1111 forms a voltage divider to ground. The resistance value of each resistor 1101-1111 can be the same, so the voltage difference between the higher reference voltage and the ground terminal can be divided into 11 equal voltage segments, resulting in 11 partial voltages. Alternatively, each resistor 1101-1111 can have a different programmable value to provide even more voltage control.
从电阻器1101-1111的每一个分压施加在其中一个操作放大器1161-1171的非反相输入端(+),每个操作放大器1161-1171的输出端与反相输入端是连接在一起以达到高效益。反相输出端经由接地电阻1181-1191连接至接地端,其中接地电阻器1181-1191具有相同的电阻值。每一个操作放大器1161-1171产生一参考电压,其等于施加在非反相输入端的分压。因此产生11个参考电压,其所具的电压值是稳定增加。这些参考电流对应图15的参考-电压产生器1041-1051所产生的参考电流。Each divided voltage from resistors 1101-1111 is applied to the non-inverting input (+) of one of operational amplifiers 1161-1171, the output and inverting input of each operational amplifier 1161-1171 are connected together to achieve high efficiency. The inverting output terminal is connected to the ground terminal via ground resistors 1181-1191, wherein the ground resistors 1181-1191 have the same resistance value. Each operational amplifier 1161-1171 generates a reference voltage equal to the divided voltage applied to the non-inverting input. Eleven reference voltages are thus generated, which have steadily increasing voltage values. These reference currents correspond to the reference currents generated by the reference-voltage generators 1041-1051 of FIG. 15 .
当读取快闪记忆单元期间有发生数据错误,与位线电压比较的参考电压会受到调整以试着回复快闪记忆单元内的数据。例如,漏损(leakage)可能减少储存在快闪记忆单元浮动栅极内的电荷,造成太多电流流经被选定的快闪记忆单元1054信道(图15)。因此,位线电压下降。校正缓存器1122可以重新被程序化以减少电压参考产生器所产生的最高参考电压,降低所有施加在操作放大器1161-1171的参考电压。位线电压现在可能落在正确参考值中,允许数据在没有超过最大容许ECC错误数下受到读取。When a data error occurs during the read of the flash memory cell, the reference voltage compared to the bit line voltage is adjusted in an attempt to recover the data in the flash memory cell. For example, leakage may reduce the charge stored in the floating gate of the flash memory cell, causing too much current to flow through the selected channel of the flash memory cell 1054 (FIG. 15). Therefore, the bit line voltage drops. The
校正缓存器1122可以逐渐改变直到受读取的数据都无误为止。ECC字节可以用在侦测错误,所以当ECC检查器报告出错误很少或没有错误时,参考-电压调整可以停止且读取数据。区块可以重新分配。The
图17是一MLC在写入或抹除操作时的降级(downgrading)流程图。当写入或抹除操作期间发生错误,步骤1202,在读取或低活动期间,ECC检查器标记出太多错误,则启动此降级流程。内存位(bits-per-cell)指示器从区块或特别区块的多余区域读取,步骤1204。当内存位指示器已经是每记忆单元1位,步骤1206,记忆单元会先降级至最小密度,而错误仍在发生,降级是不成功的。步骤1208,通过清除在多余区域的不良区块字节(Byte)中的位,标记区块为不良区块,所以这个区块现在已经从日后的使用移除。步骤1210,假若需要的话,可以选择另一区块来操作。FIG. 17 is a flow chart of downgrading of an MLC during a write or erase operation. When an error occurs during a write or erase operation, step 1202, the ECC checker flags too many errors during a read or low activity, then the downgrade process is initiated. The bits-per-cell indicator is read from the block or the spare area of a particular block, step 1204 . When the memory bit indicator is already 1 bit per memory cell, step 1206, the memory cell is downgraded to the minimum density first, and the error is still occurring, the downgrade is unsuccessful. Step 1208, mark the block as a bad block by clearing the bit in the bad block byte (Byte) of the redundant area, so this block is now removed from future use. Step 1210, if necessary, another block can be selected for operation.
当区块具有其内存位指示器来设定每一记忆单元的2个或还多位,则区块之后可以降级。步骤1214,从区块多余区域之内存位指示器所读取的位/记忆单元数目是减少至下一个较低的程度,例如从每个记忆单元的4位(4位/记忆单元)下降至每个记忆单元的3位(3位/记忆单元)。区块的大小可能减少,或区块的安排可能改变以配合每个记忆单元的位所减少的数目。例如,从4位/记忆单元至3位/记忆单元,区块大小可以切成一半。在降级后,区块的页可以具有一半的逻辑分割器数目。When a block has its memory bit indicators to set 2 or more bits per memory cell, the block can then be degraded. Step 1214, the number of bits/memory cells read from the memory bit indicator of the redundant area of the block is reduced to the next lower level, for example, from 4 bits per memory cell (4 bits/memory cell) to 3 bits per memory cell (3 bits/memory cell). The size of the blocks may be reduced, or the arrangement of the blocks may be changed to accommodate the reduced number of bits per memory cell. For example, from 4 bits/memory cell to 3 bits/memory cell, the block size can be halved. After demoting, the pages of a chunk can have half the number of logical dividers.
步骤1216,将被减少的位/记忆单元写入至内存位指示器,以降级区块。写入或擦拭操作之后可以在降级区块上重新被执行。当降级流程因读取错误超过而受致动,则一旦数据已被读取且重新配置到另一区块,区块可以被抹除。Step 1216, write the reduced bits/memory units to the memory bit indicator to downgrade the block. Write or erase operations can then be re-executed on the degraded block. When the downgrade process is triggered by a read error exceedance, the block can be erased once the data has been read and relocated to another block.
图18是使用ECC字节与通过调整电压参考值来读取错误修正的流程图。读取错误可通过检验被读取数据至ECC字节而受侦测。例如,从数据与ECC字节所产生的非零症状可以发出错误产生的信号,与发出错误的位位置与错误校正的信号。FIG. 18 is a flow chart of reading error correction using ECC bytes and adjusting voltage references. Read errors can be detected by checking the read data to ECC bytes. For example, non-zero symptoms generated from data and ECC bytes can signal error generation, as well as signal erroneous bit positions and error corrections.
步骤1220,当一读取错误被侦测到,致动此流程。步骤1222,当错误的数目与位置是允许使用ECC字节来校正错误,之后可以使用ECC字节修正读取错误,步骤1242。步骤1230,数据可以重新被配置在另一区块,利用内存位指示器使方块抹除与选择性受降级。
可校正错误的数目是一固定数目,例如一ECC极限或随错误位置改变,例如一字节中的任意3位,或任一串4个不良位。ECC极限也可被任意设定,或设为一较低的可修正值,但仍旧有令人不快,表示应所述的被降级的区块,即使其错误是可修正的。The number of correctable errors is a fixed number, such as an ECC limit, or varies with error location, such as any 3 bits in a byte, or any string of 4 bad bits. The ECC limit can also be set arbitrarily, or set to a lower correctable value, but still there are unpleasant, degraded blocks that should be described, even though their errors are correctable.
在步骤1222,当错误的数目超过ECC极限时,ECC机制并无法修正所有的错误,故数据可能会遗失。因此,通过调整与位线电压比较的参考电压位准,来企图回复遗失的数据。在步骤1224,校正缓存器1122是写入新数值数据以使电压参考产生器1120产生一较高的参考电压。这使得所有的参考电压一连串的渐渐增加。在步骤1226,使用这些较高的参考电压读取区块中的数据。之后,并使用ECC字节检查数据是否有错误。在步骤1228,当错误数目减少至ECC极限以下,提高参考电压是成功的。在步骤1232,ECC字节可以用在修改所有剩下的错误。在步骤1230,然后数据重新安置至其它区块。这个区块可以通过图17的呼叫降级流程而降级。In
当储存在快闪记忆单元的负电荷数量增加时,有时增加参考电压是成功的。且,负电荷增加是由于从读取或程序化相邻记忆单元所产生的记忆单元扰动造成。超过的负电荷需要较高的栅极电压来弥补,所以提高参考电压是有效的。Increasing the reference voltage is sometimes successful when the amount of negative charge stored in the flash memory cell increases. Also, the increase in negative charge is due to memory cell disturbances resulting from reading or programming adjacent memory cells. The excess negative charge requires a higher gate voltage to compensate, so increasing the reference voltage is effective.
在步骤1228,当错误的数目仍超过ECC极限时,则之后提高参考电压并不会成功。其中,可以通过重复步骤1224-1228(图中未示)几次来提升参考电压。In
当提高参考电压却无法回复数据时,可以降低参考电压。在步骤1234,图16的校正缓存器1122是写入新数值数据以使电压参考产生器1120产生一较低的参考电压。这使得所有的参考电压一连串的渐渐降低。在步骤1236,使用这些较低的参考电压读取区块中的数据。之后,并使用ECC字节检查数据是否有错误。在步骤1238,当错误数目减少至ECC极限以下,降低参考电压是成功的。在步骤1242,ECC字节可以用在修改所有剩下的错误。在步骤1230,然后数据重新安置至其它区块。这个区块可以通过图17的呼叫降级流程而降级。When increasing the reference voltage but unable to recover the data, the reference voltage can be lowered. In
当储存在快闪记忆单元的负电荷数量减少时,有时降低参考电压是成功的。且,漏损(leakage)可以造成负电荷减少。减少的负电荷造成多余的通道电流流经被选定的记忆单元以响应一固定栅极电压。多余的信道电流造成位线电压比往常电压低,因此参考电压必须降低以弥补记忆单元漏损。Lowering the reference voltage is sometimes successful when the amount of negative charge stored in the flash memory cell decreases. Also, leakage can cause negative charges to decrease. 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 lowered to compensate for memory cell leakage.
在步骤1238,当错误的数目仍超过ECC极限时,则之后降低参考电压并不会成功。其中,可以通过重复步骤1234-1238(图中未示)几次来降低参考电压。然,当数据错误数目没有下降至ECC极限以下,则表资料遗失。在步骤1240,发出一个不能回复数据错误的信号。上述过程的还详细的信息可以同时参考美国专利申请号11/737,336号。In
根据某些实施例,MLC闪存可使用在具有双重性USB插头的USB装置上,可支持多个通讯接口,也就是双重性。According to some embodiments, MLC flash memory can be used on USB devices with dual USB plugs, which can support multiple communication interfaces, ie dual.
图19A-图19C是根据本发明的一实施例,显示具有多重性质的USB扩充插头的透视图。参照图19A,USB扩充插头显示在完整图1301与分解图1302中。在一实施例中,USB扩充插头1300包括一壳体或外壳1303与一USB连接器基板1304,其中USB连接器基板1304可插入壳体1303中,且壳体1303是金属制的,也就是金属壳体。连接器基板1304包括一第一终端与一第二终端,其中第一终端具有复数个金属指或短小突出部(tab)1305,第二终端包括复数个电子接触接脚1307。在一特定实施例中,接脚1307具有9个接脚。连接器基板1304还包括一个或多个弹簧1306,用在当其它USB连接器插入至USB扩充插头的开口中,对另一USB连接器提供压力而与接触指1305具有实质接触。19A-19C are perspective views showing a USB extension plug with multiple properties according to an embodiment of the present invention. Referring to FIG. 19A , the USB expansion plug is shown in a
在一实施例中,接触指1305可位于连接器基板1304的一上表面上,其它接触指(图中未示)可以位于连接器基板1304的一下表面上。例如,接触指1305与标准USB规格相符,其它接触指可设计成及其它接口相符,例如PCIExpress或IEEE1349规格接口。所以,USB扩充插头1300可用在复数个不同通讯接口,也就是双重性。关于具有双重性的USB扩充插头的还详细的信息可在上述的申请案或专利案中找到,例如美国专利号7,021,971与美国专利申请号11/864,696,故可一并参考。In one embodiment, the
现在请参照图19B,USB扩充插头1300可以连接至PCBA,其中PCBA具有一内存装置与一用在控制内存装置之内存控制器。如图19B的上方俯视图1308、侧视图1309、下方俯视图1310所示,USB扩充插头1300连接至PCB基板1311,例如通过焊接接脚1307在PCB基板1311上。此外,一内存装置,如闪存装置可位于PCB基板1311的一表面上,一内存控制器,如快闪控制器则位于其它表面。在本范例中,内存装置1315是位于PCB基板1311的底部表面1313上,内存控制器1314是位于PCB基板1311的上方表面1312上。在一实施例中,内存装置1315可以是一MLC兼容内存,内存控制器1314则可以是一MLC兼容内存控制IC。Referring now to FIG. 19B, the
根据另一实施例,对于第19(A)-19(B)图所叙述的技术也可应用在闪存与快闪控制器是整合在单一封装上,如第19(C)图所显示的板上芯片(chip onboard,COB)封装。参照图19C,一COB封装1316可是一种MLC封装,可位于如PCB基板1311的上表面1312上,其中COB封装1316可通过一个或多个位于COB封装1316表面上的接触指(contact finger)1317连接(例如焊接)。According to another embodiment, the techniques described for FIGS. 19(A)-19(B) can also be applied when the flash memory and the flash controller are integrated on a single package, such as the board shown in FIG. 19(C). Chip on board (COB) package. Referring to FIG. 19C, a
图20A与图20B是根据本发明的一实施例,显示具有多重性质的USB扩充插头的透视图。参照图20A,USB延伸插头是显示在完整图1401与分解图1402中。在一实施例中,USB扩充插头1400包括一壳体或外壳1403与一USB连接器基板1404,其中USB连接器基板1404可插入壳体1403中,且壳体1403是金属制的,也就是金属壳体。连接器基板1404包括一第一终端与一第二终端,其中第一终端具有复数个电子接触指或短小突出部(tab),第二终端包括复数个电子接触接脚1407。在一特定实施例中,接脚1407具有一第一列与一第二列,其中第一列具有5个接脚,第二列具有4个接脚。连接器基板1404还包括一个或多个弹簧1406,用在当其它USB连接器插入USB扩充插头的开口中,对另一USB连接器提供压力而与接触指1405具有实质接触。20A and 20B are perspective views showing a USB extension plug with multiple properties according to an embodiment of the present invention. Referring to FIG. 20A , the USB extension plug is shown in
在一实施例中,类似在USB扩充插头1300,接触指1405可位于连接器基板1404的一上表面上,其它接触指(图中未示)可以位于连接器基板1404的一下表面上。例如,接触指1405与标准USB规格相符,其它接触指可设计成及其它接口相符,例如PCI Express或IEEE1349接口规格。所以,USB扩充插头1400可用在复数个不同通讯接口,也就是双重性。In one embodiment, similar to the
现在请参照图20B,USB扩充插头1400可以连接至PCBA,其中PCBA具有一内存装置与一用在控制内存装置之内存控制器。如图20B的上方俯视图1408、侧视图1409、下方俯视图1410所示,USB扩充插头1400连接至PCB基板,例如通过焊接接脚1407在PCB基板上。如在侧视图1409所显示的例子中,接脚1407的第一行可焊接在PCB基板的一上表面上,第二行可焊接在PCB基板的一下表面上,反的也然。此外,一内存装置,如闪存装置可位于PCB基板的一表面上,一记体控制器如快闪控制器则可位于PCB基板的其它表面上。在本范例中,类似在图19A-图19B所示,一内存装置是位于PCB基板的底部表面上,内存控制器是位于PCB基板的上方表面上。且,内存装置可以是一MLC兼容内存,内存控制器则可以是一MLC兼容内存控制IC。Referring now to FIG. 20B, the USB expansion plug 1400 can be connected to a PCBA, wherein the PCBA has a memory device and a memory controller for controlling the memory device. As shown in the
同样地,根据再一实施例,对于图20A-图20B所叙述的技术也可应用在闪存与快闪控制器是整合在单一封装上,如图20C所显示的COB封装。也可用其它种形式的封装。Likewise, according to yet another embodiment, the techniques described in FIGS. 20A-20B can also be applied to a flash memory and a flash controller integrated in a single package, such as a COB package as shown in FIG. 20C . Other types of packaging are also available.
图21A-图21I是显示USB扩充连接器与具有金属接触接脚的插槽的实施例,其中金属接触接脚是位于接脚基板的上表面与下表面。请注意如图21A-图21I所示的实施例,是可与前述的任何实施例接合。参照图21A,扩充连接器具有塑料壳体2176以供使用者要插入连接器插头至插槽时握住。接脚基板2170供四个金属接触接脚2188位于其上表面,其中基板2170是绝缘材,如陶瓷、塑料或其它材质。金属引脚(lead)或导线可以通过接脚基板2170以连接金属接触接脚2188至位于塑料壳体2176内用在连接周边装置的导线。21A-21I show an embodiment of a USB expansion connector and a socket with metal contact pins, wherein the metal contact pins are located on the upper surface and the lower surface of the pin substrate. Please note that the embodiment shown in Figures 21A-21I can be combined with any of the previous embodiments. Referring to FIG. 21A, the expansion connector has a
5个背面金属接触接脚2172是位于接脚基板2170的底部,接近连接器插头的末端。背面金属接触接脚2172是额外的接脚,用在扩充信号,如PCIExpress信号。金属引脚(lead)或导线可以通过接脚基板2170以连接金属接触接脚2172至位于塑料壳体2176内用在连接周边装置的导线。Five back metal contact pins 2172 are located on the bottom of the
在某些实施例中,金属盖体2173是一矩形管体,环绕着接脚基板2170与具有一开口端。一位于接脚基板2170底部的金属盖体2173上的开口是容许背面金属接触接脚2172受到暴露。In some embodiments, the
图21B显示一USB扩充插槽,其具有4个金属接触接脚位于接脚基板的上表面,5个金属接触接脚位于接脚基板的下表面。接触基板2184具有4个金属接触接脚2186形成在一底面上,此底面是面向供连接器的接脚基板2170插入的凹槽。接脚基板2184也具有较低的基板延伸部2185,具有一L形状的接脚基板,这是现有USB插槽所没有的。FIG. 21B shows a USB expansion slot with 4 metal contact pins on the upper surface of the pin substrate and 5 metal contact pins on the lower surface of the pin substrate. The
5个金属接触接脚2180是位于一较低的基板延伸部2185,靠近凹槽的开口端。一凸块(bump)或弹簧可形成在金属接触接脚2180上,例如通过弯折平坦的金属接脚。这个凸块容许金属接触接脚2180接触背面的金属接触接脚2172,其位于连接器的接脚基板2170。Five
凹槽是由接脚基板2184的底面、较低的接脚基板2185的上表面与接脚基板2184的背面连接较低基板延伸部2185所形成的。金属盖体2178是金属管体,覆盖接脚基板2184与较低的基板延伸部2185。USB连接器的金属盖体2173填充位于金属盖体2175与接脚基板2184上边、侧边之间之间隙。安装接脚(mounting pin)2182可形成在金属盖体2178上来安装USB插槽至PCB或底架上。The groove is formed by connecting the bottom surface of the
图21C显示接脚基板2184的底面,以供金属接触接脚2186位于其上。这四个接脚带有现有USB的不同信号、电力、接地,并与位于接脚基板2170上表面的USB连接器的金属接触接脚2188接触,如图21D所示。FIG. 21C shows the bottom surface of
USB接触器具有5个背面金属接触接脚2172位于接脚基板2170的底部表面上,排设方式如图21D所示。这些接脚2172与扩充的金属接触接脚2180接触,如图21C所示排设在较低的基板延伸部2185上。这5个扩充接脚带有扩充信号,如PCI Express信号。The USB contact has five back metal contact pins 2172 located on the bottom surface of the
图21E显示具有9接脚的USB连接器插头插入9接脚的USB插槽中。当完全插入后,接触基板2170的末端安装在接脚基板2184与USB插槽的较低基板延伸部2185之间。在连接器的接脚基板2170的上表面上,金属接触接脚2188与插槽接脚基板2184的四个金属接触接脚2186接触。位于接脚基板2170底面的背面金属接触接脚2172是与较低基板延伸部2185的上表面的延伸金属接触接脚2810接触。Figure 21E shows a 9-pin USB connector plug inserted into a 9-pin USB receptacle. When fully inserted, the ends of the
因为背面金属接触接脚2172有凹进去而不会与现有USB插槽的金属盖体2138接触。图21F显示连接器未插入USB插槽前,标准的4接脚USB连接器与扩充的9接脚USB连接器的示意图。当完全插入时,就如图21G所示,连接器接脚基板2134的末端插在插槽接触基板2134的下方。在连接器接脚基板2134的上表面处,金属接触接脚2132与插槽接脚基板2184的四个金属接触接脚2186接触。因为标准4接脚的USB连接器只具四个接脚2132,故插槽接脚基板2185的上表面的接触接脚与USB连接器没有电性接触。Because the back metal contact pin 2172 is recessed, it will not contact with the
图22A-图22I显示USB连接器与插槽的第二实施例示意图,具有金属接触接脚位于接触基板表面的其中之一。图22A显示一扩充9接脚的USB连接器插头具有四个金属接脚与五个扩充金属接脚在接脚基板的上表面。图22A中,连接器具有塑料壳体2196以供使用者要插入连接器插头至插槽时握住。接脚基板2190供金属接触接脚2200、2201位于其上表面,其中基板2190是绝缘材,如陶瓷、塑料或其它材质。金属引脚(lead)或导线可以通过接脚基板2190以连接金属接触接脚2200、2201至位于塑料壳体2196内用在连接周边装置的导线。22A-22I are diagrams showing a second embodiment of a USB connector and socket, with metal contact pins on one of the contact substrate surfaces. FIG. 22A 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 Figure 22A, the connector has a
接脚基板2190的长度是比接脚基板2134的长度L2长。增加的长度可为2-5毫米,末端金属接脚2201是大部分位于超过L2的延伸区域中。金属盖体2193是矩形管体,环绕着接脚基板2190且具有一开口端。The length of the
图22B显示一扩充插槽,具有四个金属接触接脚与五个扩充金属接触接脚位于接脚基板表面的其中之一上。接脚基板2204具有金属接触接脚2206、2207形成在一朝向凹槽的表面上,此凹槽是供连接器的接脚基板2190插入。接脚基板2204不需要图21B的较低的基板延伸部,但可以如图所示具有L形状。FIG. 22B shows an expansion socket with four metal contact pins and five expansion metal contact pins on one of the pin substrate surfaces. The
金属盖体2198是一金属管体,覆盖着接脚基板2204且有位于下方的开口。USB连接器的金属盖体2193插入金属盖体2198与接脚基板2204上边、侧边之间之间隙。安装接脚2202可以形成在金属盖体2198上以安装USB延伸插槽至PCB或底架上。The
图22(C)显示一扩充9接脚的USB连接器插头插入9接脚的插槽。形成在插槽的接脚基板2204的底面的金属接触接脚2207与2206,分别与位于接脚基板2190的金属接脚2201与2202接触。FIG. 22(C) shows an expansion 9-pin USB connector plug inserted into the 9-pin socket. The
图22(D)显示插槽接脚基板2204的底面,可供金属接触接脚2206、2207位于其上。主要的金属接触接脚2206是在第一排的五个接脚,最靠近插槽开口。次要的金属接触接脚2207是在第二排的四个接脚,离插槽开口最远次要的金属接触接脚2207包括四个USB接脚。主要的金属接触接脚2206包括扩充接脚,用在支持其它接口规格,例如PCI-Express。FIG. 22(D) shows the bottom surface of the
当USB连接器完全插入USB插槽时,接脚基板2190的末端插在USB插槽的接触基板2204下方的凹槽。在连接器接脚基板2190的上表面处,金属接触接脚2200与插槽接脚基板2204的六个主要金属接触接脚2206接触,位于接脚基板2190上表面末端的金属接触接脚2201与位于接脚基板2204向下表面上的次要扩充金属接触接脚2207接触。When the USB connector is fully inserted into the USB socket, the ends of the
图22(F)显示一扩充的9接脚连接器在未插入一标准4接脚USB插槽前的示意图。当完全插入时,如图22(G)所示,接脚基板2190的末端插入插槽接脚基板2142的下方。在连接器接脚基板2190的上表面,末端金属接触接脚2201的第一、第三、第四、第六个与插槽接脚基板2142的四个USB金属接触接脚2144接触。在接脚基板2190上表面的最后一排的金属接脚2200与插槽金属盖体2138或任何金属接触接脚没有接触,因为他们位于连接器接脚基板2190太后面的位置。因此只有四个标准USB接脚(金属接触接脚2144、2201)可以电性接触。FIG. 22(F) shows a schematic view of an expanded 9-pin connector before it is plugged into a standard 4-pin USB slot. When fully inserted, as shown in FIG. 22(G), the ends of the
图22H显示一标准4接脚USB连接器在插入一扩充的9接脚USB插槽前的示意图。当完全插入时,如第22(I)图所示,连接器接脚基板2134的末端插入插槽接脚基板2204的下方。在连接器接脚基板2134的上表面,金属接触接脚2132与插槽接脚基板2204的第一、第三、第四、第六个的四个主要金属接触接脚2206接触。在基板2204的次要金属接触接脚2207与接触器金属盖体2133没有接触,因为扩充的USB插槽的深度比现有技艺的USB连接器的长度大。因此只有四个标准USB接脚(金属接触接脚2132、2206)可以电性接触。如第22(F)-22(I)图所示,扩充的9接脚USB连接器插头、插槽与标准现有4接脚USB插槽、USB连接器插头电性连接与机械方面相符。FIG. 22H shows a schematic view of a standard 4-pin USB connector before being inserted into an expanded 9-pin USB slot. When fully inserted, the ends of the
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。The above descriptions are only preferred embodiments of the present invention, and are only illustrative rather than restrictive to the present invention. Those skilled in the art understand that many changes, modifications, and even equivalents can be made within the spirit and scope defined by the claims of the present invention, but all will fall within the protection scope of the present invention.
Claims (10)
Applications Claiming Priority (2)
| 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 |
| US11/871,117 | 2007-10-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101409111A true CN101409111A (en) | 2009-04-15 |
Family
ID=40572076
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2008100877874A Pending CN101409111A (en) | 2007-10-11 | 2008-03-31 | Method for formatting/testing general sequence bus device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN101409111A (en) |
| TW (1) | TWI351599B (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102004892A (en) * | 2009-08-31 | 2011-04-06 | 鸿富锦精密工业(深圳)有限公司 | Multi-function card reader testing device and method |
| CN102157176A (en) * | 2009-12-23 | 2011-08-17 | 西部数据技术公司 | Data storage device tester |
| CN106295381A (en) * | 2015-05-19 | 2017-01-04 | 澜起科技(上海)有限公司 | For monitoring device and the internal storage of the data access to internal storage |
| CN113223583A (en) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | Method for rereading data in NAND Flash bad block, electronic equipment and storage medium |
| CN116627973A (en) * | 2023-05-25 | 2023-08-22 | 成都融见软件科技有限公司 | A data positioning system |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100293309A1 (en) * | 2009-05-13 | 2010-11-18 | Yun-Ching Lin | Production Tool For Low-Level Format Of A Storage Device |
| WO2015030819A1 (en) | 2013-08-30 | 2015-03-05 | Hewlett-Packard Development Company, L.P. | Completion packet return |
| TWI609267B (en) * | 2016-11-25 | 2017-12-21 | 致伸科技股份有限公司 | Electronic device test system and method thereof |
| TWI638360B (en) * | 2017-08-01 | 2018-10-11 | 宜鼎國際股份有限公司 | Flame resistant flash memory device |
| CN113013684B (en) * | 2019-12-18 | 2023-03-24 | 点序科技股份有限公司 | Dual-tap memory device and transfer control circuit |
| TWI777111B (en) * | 2019-12-18 | 2022-09-11 | 點序科技股份有限公司 | Dual connector memory device and transmission control circuit |
| TWI867843B (en) * | 2023-11-14 | 2024-12-21 | 威剛科技股份有限公司 | Data accessing device supporting various memory cards |
-
2008
- 2008-03-11 TW TW97108510A patent/TWI351599B/en not_active IP Right Cessation
- 2008-03-31 CN CNA2008100877874A patent/CN101409111A/en active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102004892A (en) * | 2009-08-31 | 2011-04-06 | 鸿富锦精密工业(深圳)有限公司 | Multi-function card reader testing device and method |
| CN102004892B (en) * | 2009-08-31 | 2014-03-26 | 鸿富锦精密工业(深圳)有限公司 | Multi-function card reader testing device and method |
| CN102157176A (en) * | 2009-12-23 | 2011-08-17 | 西部数据技术公司 | Data storage device tester |
| CN102157176B (en) * | 2009-12-23 | 2015-09-16 | 西部数据技术公司 | Data storage device tester |
| CN106295381A (en) * | 2015-05-19 | 2017-01-04 | 澜起科技(上海)有限公司 | For monitoring device and the internal storage of the data access to internal storage |
| CN106295381B (en) * | 2015-05-19 | 2019-05-07 | 澜起科技股份有限公司 | For monitoring device and internal storage to the data access of internal storage |
| CN113223583A (en) * | 2021-05-14 | 2021-08-06 | 深圳市硅格半导体有限公司 | Method for rereading data in NAND Flash bad block, electronic equipment and storage medium |
| CN113223583B (en) * | 2021-05-14 | 2024-05-17 | 深圳市硅格半导体有限公司 | Method for re-reading data in NAND FLASH bad blocks, electronic equipment and storage medium |
| CN116627973A (en) * | 2023-05-25 | 2023-08-22 | 成都融见软件科技有限公司 | A data positioning system |
| CN116627973B (en) * | 2023-05-25 | 2024-02-09 | 成都融见软件科技有限公司 | A data positioning system |
Also Published As
| Publication number | Publication date |
|---|---|
| TW200917017A (en) | 2009-04-16 |
| TWI351599B (en) | 2011-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| 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 | |
| CN101409111A (en) | Method for formatting/testing general sequence bus device | |
| US7676640B2 (en) | Flash memory controller controlling various flash memory cells | |
| US8086919B2 (en) | Controller having flash memory testing functions, and storage system and testing method thereof | |
| US7802155B2 (en) | Non-volatile memory device manufacturing process testing systems and methods thereof | |
| US7690031B2 (en) | Managing bad blocks in flash memory for electronic data flash card | |
| US20080147964A1 (en) | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function | |
| US8073985B1 (en) | Backward compatible extended USB plug and receptacle with dual personality | |
| US20050114587A1 (en) | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines | |
| US20080256352A1 (en) | Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources | |
| US20080082736A1 (en) | Managing bad blocks in various flash memory cells for electronic data flash card | |
| CN101853692B (en) | Controller with flash memory testing function, its storage system and testing method | |
| TWI516936B (en) | Method for switching operation mode, memory controller and memory storage apparatus | |
| US8255656B2 (en) | Storage device, memory controller, and data protection method | |
| US11789648B2 (en) | Method and apparatus and computer program product for configuring reliable command | |
| TW201145037A (en) | USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch | |
| CN101398785A (en) | Electronic data flash card with various flash memory cells | |
| KR100921852B1 (en) | Electronic apparatus, information processing apparatus, adapter apparatus, and information exchange system | |
| TW201344437A (en) | System operation method, and memory controller and memory storage device using the same | |
| CN112447230B (en) | Display device, electronic system and control method | |
| CN105320620B (en) | Memory storage device and control method, memory control circuit unit and module | |
| CN103383663B (en) | System operation method, memory controller and memory | |
| US11561732B2 (en) | Method and apparatus and computer program product for configuring reliable command | |
| US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090415 |