U.S. patent application number 11/979102 was filed with the patent office on 2008-03-13 for system and method for producing high volume flash memory cards.
This patent application is currently assigned to Super Talent Electronics Inc.. Invention is credited to David Q. Chow, Abraham C. Ma, Ming-Shiang Shen, Sidney Young, Frank I-Kang Yu.
Application Number | 20080065788 11/979102 |
Document ID | / |
Family ID | 42103346 |
Filed Date | 2008-03-13 |
United States Patent
Application |
20080065788 |
Kind Code |
A1 |
Chow; David Q. ; et
al. |
March 13, 2008 |
System and method for producing high volume flash memory cards
Abstract
A system for producing high volume flash memory cards includes a
processing unit, a PC interface for connecting to an external PC, a
PC drive circuit connected to the PC interface and the processing
unit, a card interface for connecting to an external flash memory
card, and a card drive circuit connected to the card interface and
the processing unit. The PC drive circuit realizes communication
between the PC and the processing unit. The card drive circuit
realizes communication between the flash memory card and the
processing unit. The processing unit receives command or data from
the PC interface, and sends card re-initialization command or data
to the flash memory card via the card interface.
Inventors: |
Chow; David Q.; (San Jose,
CA) ; Young; Sidney; (Hsin Chu, TW) ; Yu;
Frank I-Kang; (Palo Alto, CA) ; Ma; Abraham C.;
(Fremont, CA) ; Shen; Ming-Shiang; (Taipei Hsien,
TW) |
Correspondence
Address: |
BACON & THOMAS, PLLC
625 SLATERS LANE
FOURTH FLOOR
ALEXANDRIA
VA
22314
US
|
Assignee: |
Super Talent Electronics
Inc.
San Jose
CA
|
Family ID: |
42103346 |
Appl. No.: |
11/979102 |
Filed: |
October 31, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11626347 |
Jan 23, 2007 |
|
|
|
11979102 |
Oct 31, 2007 |
|
|
|
09478720 |
Jan 6, 2000 |
7257714 |
|
|
11979102 |
Oct 31, 2007 |
|
|
|
11466759 |
Aug 23, 2006 |
|
|
|
11979102 |
Oct 31, 2007 |
|
|
|
10789333 |
Feb 26, 2004 |
7318117 |
|
|
11979102 |
Oct 31, 2007 |
|
|
|
Current U.S.
Class: |
710/10 ;
710/8 |
Current CPC
Class: |
H01R 13/629 20130101;
G06F 21/32 20130101; G07C 9/257 20200101; G06F 21/78 20130101; G06F
12/1416 20130101; G07C 9/26 20200101 |
Class at
Publication: |
710/010 ;
710/008 |
International
Class: |
G06F 13/10 20060101
G06F013/10 |
Claims
1. A system for producing high volume flash memory cards,
comprising: a processing unit; a PC interface for connecting to an
external PC; a PC drive circuit connected to the PC interface and
the processing unit for realizing communication between the PC and
the processing unit; at least one card interface for connecting to
an external flash memory card; and at least one card drive circuit
connected to the card interface and the processing unit for
realizing communication between the flash memory card and the
processing unit, wherein the processing unit receives command or
data from the PC interface, and sends card re-initialization
command or data to the flash memory card via the card
interface.
2. The system as claimed in claim 1, wherein the processing unit
further comprises: a program storage memory for storing program
code; a working storage memory for storing data and program when
working; and a nonvolatile storage memory for storing firmware code
and data required to be saved after powered off; and a CPU
connected to the program storage memory, working storage memory and
nonvolatile storage memory via data and address bus, wherein the
CPU executes the program code and firmware code stored in the
program storage memory and nonvolatile storage memory, receives the
command or data from the PC interface, and sends the card
re-initialization command or data to the flash memory card via the
card interface.
3. The system as claimed in claim 2, wherein the program storage
memory commonly uses ROM (Read Only Memory) for program code
storage.
4. The system as claimed in claim 2, wherein the working storage
memory uses RAM (Random Read-writable Memory) for data and program
storage.
5. The system as claimed in claim 2, wherein the nonvolatile
storage memory uses nonvolatile storage media for storage of
firmware code and data.
6. The system as claimed in claim 2, wherein the PC drive circuit
implements function of interface drive circuit and logic
control.
7. The system as claimed in claim 2, wherein the card drive circuit
is provided for translating command from the CPU to the type of
command to the flash memory card that complies with the flash
memory card's specification.
8. The system as claimed in claim 2, wherein the at least one card
interface includes a plurality of card interfaces.
9. The system as claimed in claim 2, wherein the at least one card
drive circuit includes a plurality of card drive circuits.
10. The system as claimed in claim 2, wherein the at least one card
interface includes a plurality of card interfaces.
11. The system as claimed in claim 2, wherein the at least one card
drive circuit includes a plurality of card drive circuits, each
being connected to a plurality of card interfaces.
12. The system as claimed in claim 2, wherein the PC interface is
selectively to be a serial port, a parallel port, a USB, a PCMCIA
and a mixed interface.
13. The system as claimed in claim 2, wherein the flash memory card
is selectively to be an SD card, an MMC card, an SM card, an MC
card, and a CF card.
14. The system as claimed in claim 2, further comprising: a PLC
interface for connecting to external manipulator; and a PLC drive
circuit connected to the PLC interface and the processing unit for
realizing communication between the manipulator and the processing
unit.
15. The system as claimed in claim 14, wherein the CPU sends
operation signal to the manipulator via the PLC interface.
16. The system as claimed in claim 14, wherein the PLC interface
provides connection between the processing unit and the
manipulator.
17. The system as claimed in claim 14, wherein the PLC drive
circuit implements the interface drive circuit and logic
control.
18. In a system including a processing unit, a PC interface for
connecting to an external PC, a PC drive circuit connected to the
PC interface and the processing unit for realizing communication
between the PC and the processing unit, at least one card interface
for connecting to an external flash memory card, and at least one
card drive circuit connected to the card interface and the
processing unit for realizing communication between the flash
memory card and the processing unit, a method for producing high
volume flash memory cards comprising the steps of: (A) configuring
options for card re-initialization on the PC; (B) inserting at
least one flash memory card into the card interface; (C) receiving
a start command from the PC and checking whether the inserted flash
memory card is the same type as what selected in the configured
option, and if it is, step (D) is executed; (D) checking whether to
erase code area of the flash memory card, and if selected, step (E)
is executed, otherwise step (F) is executed; (E) erasing the code
area of the flash memory card; (F) initializing the flash memory
card by writing card information to the flash memory card; (G)
receiving firmware code from the PC interface, and saving the
firmware code in the processing unit; (H) writing the firmware code
into the flash memory card and checking correction; and (I)
scanning and excluding bad blocks of the flash memory card.
19. The method as claimed in claim 18, further comprising a step of
formatting the flash memory card.
20. The method as claimed in claim 18, further comprising a step of
updating the firmware code by the processing unit.
Description
RELATED APPLICATIONS
[0001] This application is a continuation-in-part (CIP) of U.S.
patent application for "High Volume Testing for USB Electronic Data
Flash Card", U.S. application Ser. No. 11/626,347, filed Jan. 23,
2007, which is a continuation-in-part of U.S. patent application
for "ELECTRONIC DATA STORAGE MEDIUM WITH FINGERPRINT VERIFICATION
CAPABILITY", U.S. application Ser. No. 09/478,720, filed Jan. 6,
2000, and "Flash Memory Controller For Electronic Data Flash Card",
U.S. application Ser. No. 11/466,759, filed on Aug. 23, 2006, which
is a CIP of "System and Method for Controlling Flash Memory", U.S.
application Ser. No. 10/789,333, filed on Feb. 26, 2004, now
abandoned. This application is also related to "Integrated circuit
card with fingerprint verification capability" application Ser. No.
09/366,976, filed on Aug. 4, 1999, now U.S. Pat. No. 6,547,130, all
of which are incorporated herein as though set forth in full.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention is about producing and/or updating
flash memory card technology, in particular to a system and method
for producing high volume flash memory card, which can be used for
updating or repairing flash memory card as well.
[0004] 2. Description of Related Art
[0005] The NAND flash memory cards, such as SD (Secure Digital),
MMC (Multi-Media Card), SM (Smart Media), MS (Memory Stick) and CF
(Compact Flash) cards are popularly applied in digital camera,
mobile phone, PDA, MP3/MP4 player for their small volume, large
capacity and high performance/price ratio. The structure of a
normal flash memory card includes the following devices:
[0006] (1) Interface unit: usually is an interface connector or
golden finger complied with the flash memory card's
specification.
[0007] (2) Controller unit: provides at least one flash memory card
signal interface and one storage media interface, completing the
functionality of data transfer, card information configuration,
card status report, etc.
[0008] (3) Storage media: provides the storage space for the memory
card in which data as well as the executable program code are
stored. The storage media can be NAND flash, NOR flash, EEPROM,
EPROM, etc. Typically, as the names is, the storage media of a
flash memory card is of NAND flash for its small volume, large
capacity and high performance/price ratio.
[0009] (4) PCB (Printed Circuit Board): supports the above devices
and connection among them for making up a memory card's
structure.
[0010] With the fast changing market, there appears more and more
different electronic consumer product, which also causes more and
more compatibility problems to the appertain product, such as flash
memory cards. Thus card manufacturer must settle the compatibility
problem as fast as they can so that their production can meet the
fast changing market's requirement.
[0011] To solve these problems, at the present market, most of the
flash memory cards are provided with a RAM basing strategy. That is
to say, the controller of the flash memory card has hardware
architecture, but the main function was realized by software which
is stored outside of the controller. This strategy has the
advantages that when the flash memory card encounters the
compatibility problem, what the card manufacturer needs to do is to
just modify the software outside of the controller, without having
to modify the controller's hardware.
[0012] For the flash memory card having the nonvolatile storage
media, the firmware code is usually stored in the nonvolatile
storage media. When being powered on, the controller firstly reads
out the firmware code from the storage media and then executes the
firmware. This strategy is very flexible so that it can meet the
fast changing market. On the other hand, card manufacturer can fix
an error card by the way of updating card's firmware, so they save
the cost as well.
[0013] Since the firmware is saved outside storage media, the card
manufacturers need to download the firmware code to the outside
storage media and check them after they finished assembling the
card.
[0014] For a NAND flash card, the NAND flash usually has 2% of bad
blocks and these bad blocks are randomly distributed in the whole
storage area. Therefore, the card manufacturers need to scan and
pick out the bad blocks of the flash to avoid the data stored into
the bad blocks, so that the product can meet the high reliability
of performance.
[0015] As above said, after assembling the card, the card
manufacturer needs to download the firmware to nonvolatile storage
media, scan and pick out the bad blocks of the NAND flash to ensure
the storage capacity and functionality. This process is known as
"card re-initialization". To a memory card with any errors, the
card manufacturer needs to download the fixed new firmware to
replace the old firmware, so that the card can be reusable. This
process is known as "card repairing". It is not advisable for
people to complete the card re-initialization or card repairing
process manually one by one. This cannot meet the requirement of
mass production. Therefore it is desirable to continue improving
the volume production methodology for the above flash memory
cards.
SUMMARY OF THE INVENTION
[0016] The objective of the present invention is to provide a
system and method for producing high volume flash memory cards,
which is completely automatic and applicable for mass production of
flash memory card.
[0017] According to one aspect, the present invention which
achieves the objectives for producing high volume flash memory
cards, which includes: a processing unit; a PC interface for
connecting to an external PC; a PC drive circuit connected to the
PC interface and the processing unit for realizing communication
between the PC and the processing unit; at least one card interface
for connecting to an external flash memory card; and at least one
card drive circuit connected to the card interface and the
processing unit for realizing communication between the flash
memory card and the processing unit. The processing unit receives
command or data from the PC interface, and sends card
re-initialization command or data to the flash memory card via the
card interface.
[0018] According to another aspect, the present invention which
achieves the object relates to a method for producing high volume
flash memory cards, which includes the steps of: (A) configuring
options for card re-initialization on the PC; (B) inserting at
least one flash memory card into the card interface; (C) receiving
a start command from the PC and checking whether the inserted flash
memory card is the same type as what selected in the configured
option, and if it is, step (D) is executed; (D) checking whether to
erase code area of the flash memory card, and if selected, step (E)
is executed, otherwise step (F) is executed; (E) erasing the code
area of the flash memory card; (F) initializing the flash memory
card by writing card information to the flash memory card; (G)
receiving firmware code from the PC interface, and saving the
firmware code in the processing unit; (H) writing the firmware code
into the flash memory card and checking correction; and (I)
scanning and excluding bad blocks of the flash memory card.
[0019] Other objectives, advantages, and novel features of the
invention will become more apparent from the following detailed
description when taken in conjunction with the accompanying
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] FIG. 1 is the block diagram of the system for producing high
volume flash memory cards in accordance with the present
invention;
[0021] FIG. 2 is the block diagram of the processing unit;
[0022] FIG. 3 shows an application instance of the present
invention;
[0023] FIG. 4 shows another application instance of the present
invention;
[0024] FIG. 5 shows a further application instance of the present
invention; and
[0025] FIG. 6 is a flow chart of the method for producing high
volume flash memory cards in accordance with the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0026] The invention is about a system and method for mass
production of flash memory card, applicable for high volume of card
re-initialization and card repairing. The system is made of
hardware entity and its corresponding man-machine conversation
software. The man-machine conversation software runs on a PC
(Personal Computer), providing an operation and configuration
platform for customer. The hardware entity includes, as shown in
FIG. 1, a processing unit 11, a PC drive circuit 12, a PLC
(Programmable Logic Control) drive circuit 13, a card drive circuit
14, a PC interface 15, a PLC interface 16, and a card interface 17.
The PC drive circuit 12 is a personal computer interface's drive
circuit connected between the PC interface 15 and the processing
unit 11. The PLC drive circuit 13 is a programmable logic control
interface's drive circuit connected between the processing unit 11
and the PLC interface 16. The card drive circuit 14 is connected
between the processing unit 11 and the card interface 17, and is
used as external flash memory card's host. The PC interface 15 is
provided for connecting to an external PC 18. The PLC interface 16
is provided for connecting to external manipulator. The card
interface 17 is provided for connecting to external flash memory
card 19 under test.
[0027] The processing unit 11, as shown in FIG. 2, further
includes: a CPU (Central Processing Unit) 21 and its accessorial
program storage memory 22, working storage memory 23 and
nonvolatile storage memory 24. The CPU 21 connects to the memories
22, 23 and 24 via data and address bus. The program storage memory
22 commonly uses ROM (Read Only Memory) for program code storage.
The working storage memory 23 commonly uses RAM (Random
Read-writable Memory) for data and program storage when working.
The nonvolatile storage memory 24 commonly uses nonvolatile storage
media, such as EPROM, EEPROM, NAND flash, etc., for storage of
firmware and customer's data which need to be saved after powered
off.
[0028] The CPU 21 executes the firmware code stored in the memories
22, 23 and 24, receives the command or data from the PC interface,
sends the card re-initialization command or data to the external
flash memory card 19 via the card interface 17, sends the operation
signal to the external manipulator via the PLC interface 16 as
well.
[0029] The PC interface 15 connects to external PC 18 by cable. In
common use, this PC interface 15 may be serial port, parallel port,
USB, PCMCIA or a mixed interface as well.
[0030] The PC drive circuit 12 realizes the communication between
the processing unit 11 and the external PC 18 via the PC interface
15. The PC drive circuit 12 implements function of interface drive
circuit and logic control. If PC interface 15 is a serial port, the
PC drive circuit 12 implements the function of serial port's drive
and logic control. So do other interfaces. The PC drive circuit 12
may be a mixed interface drive circuits as well, that is to say, it
can meet multi-interface's specification, and user may select one
of them to use.
[0031] The PLC interface 16 provides the connection between the
processing unit 11 and the external manipulator, completing the
fully automatic operation of card re-initialization and/or card
repairing.
[0032] The PLC drive circuit 13 realizes the communication between
the external manipulator and the present system via the PLC
interface 16. The PLC drive circuit 13 implements the interface
drive circuit and logic control. The operation programs for the
external manipulator is compiled and packed with the firmware code.
The CPU 21 executes the firmware code, and outputs the driving
signals on the PLC interface 16 so that the external manipulator
will complete the operation.
[0033] The card interface 17 provides the socket of the external
flash memory card 19. The external flash memory card 19 may be SD
and/or MMC and/or SM and/or MC and/or CF and/or other flash memory
card. This card interface 17 can be expanded to n card interfaces,
as shown in FIG. 3, as well as, an application instance of this
invention, where n is a positive integer.
[0034] The card drive circuit 14 is used as a host of the external
flash memory card 19. It completes the communication between the
external flash memory card 19 and the processing unit 11. The main
function of this card drive circuit 14 is translating the command
from the CPU 11 to the type of command to the flash memory card 19
that complies with the flash memory card's specification. Thus the
flash memory card 19 can accept the command and do the required
operation. These required operation commands include code
downloading, parameter setting, scan blocks and backup BBT,
formatting card, etc., used for card re-initialization and card
repairing. This card drive circuit 14 can also be expanded to m
card drive circuits, as shown in FIG. 4, as well as, another
application instance of this invention, where m is a positive
integer.
[0035] According to FIG. 3 and FIG. 4, another application instance
of this invention is deducted, as shown in FIG. 5, in which the
card drive circuit 14 is expanded to n card drive circuits, and the
card interface 17 corresponding to each card drive circuit 14 is
also expanded to x (y, . . . , z) card interfaces, where n, x, y, z
is a positive integer.
[0036] The invention provides a man-machine conversation software
interface via the PC interface 15, so that card manufacturer can
configure and send command for card re-initialization and/or card
repairing, such as selecting the code that needs to be downloaded
to the flash memory card 19, whether using encrypt way when
downloading code, whether erasing before downloading the code,
whether formatting after card re-initialization and/or card
repairing. These configuration options can be changed or set to
default by the card manufacturer via the man-machine conversation
software interface.
[0037] With the man-machine conversation software interface, the
card manufacturer configures the parameter on the PC 18. The
configuration options include selecting the code that need to be
downloaded, whether using encrypt way when downloading, whether
erasing before downloading the code, whether formatting after card
re-initialization and/or card repairing. After the step of
configuration, the card manufacturer sends the start command to the
system. The processing unit 11 receives the start command from the
PC interface 15. Then the CPU 21 sends card re-initialization
commands to the flash memory card 19 via the card drive circuit 14
and card interface 17. The card drive circuit 14 translates the
commands to the type of commands that comply with the flash memory
card's specification. The external flash memory card 19 receives
and responds these commands, completing the relative
cooperation.
[0038] FIG. 6 shows the flow chart of the process that producing
card. The process begins by waiting for the insertion of an
external flash memory card (S601). When a flash memory card is
inserted into the card interface 17, it waits for the start command
from the PC (S602). As described above, the card manufacturer will
send the start command after completing all the configuration
options such as selecting the code that need to be downloaded,
using encrypt way when downloading, erasing before downloading the
code, and formatting after card re-initialization and/or card
repairing.
[0039] After receiving the start command from the PC, the flash
memory card checks the bus status to confirm whether the type of
the flash memory card under test is the same as what the card
manufacturer selected (S603). If it is not fit, an error is
reported to the card manufacturer. If it is, step S604 is
executed.
[0040] In step S604, it checks whether the card manufacturer
selects erase code area. If selected, step S605 is executed; if
not, step S606 is executed. For a used card with an old firmware
version, step S604 must be set to affirmative, otherwise the new
code will be written in error.
[0041] In step S605, the firmware code area of the flash memory
card is erased.
[0042] In step S606, the flash memory card is initialized. Card
initialization process is writing card information, such as vendor
symbol, card serial number, software version, hardware version,
etc., to the external flash memory card.
[0043] In step S607, the selected firmware code is received from
the PC interface 15, and saved to the storage memory 22, 23 or
24.
[0044] In step S608, the firmware code is written into the flash
memory card and the correction is checked.
[0045] In step S609, it scans and excludes the bad blocks of the
flash memory card.
[0046] In step S610, it checks whether to format the flash memory
card. If so, the flash memory card is formatted (step S611);
otherwise, the card re-initialization process is ended, and card
re-initialization completion is reported to the card
manufacturer.
[0047] In the system, the firmware code can be updated by the CPU
21. The firmware code is stored in the nonvolatile storage memory
24. When it needs to be updated, the CPU 21 will write the new
firmware code into the code area of the nonvolatile storage memory
24 to replace the old code. Thus when the system is rebooted, the
CPU 21 will execute the new firmware code in the nonvolatile
storage memory 24.
[0048] The system can be used to repair a flash memory card as
well. The flow chart of the card repairing is similar to the flow
chart of card re-initialization, as shown in FIG. 6. To a flash
memory card which needs to be repaired, its code area must be
written already, so in step S604, it must select erase code area
when card repairing.
[0049] Although the present invention has been explained in
relation to its preferred embodiment, it is to be understood that
many other possible modifications and variations can be made
without departing from the spirit and scope of the invention as
hereinafter claimed.
* * * * *