`PNY Technologies Inc.
`v. Phison Electronics Corp.
`
`1
`
`
`
`US. Patent
`
`Dec. 7, 2004
`
`Sheet 1 0f 8
`
`US 6,829,672 B1
`
`
`
`$__ot=oU-cb._2
`
`in.
`
`
`
` v52365.528;2.55
`
`
`
`vm
`
`
`
`H.585oEsmugwcoamzmA
`
`
`
`I!-Unillll
`
`
`
` _52:22:me
`
`
`
`._o:ob=oUuofitBEmmD
`
`mm
`
`ow§o>Dada
`
`mpoafismom
`
`€60:onmm:
`
`mm
`
`i I l 1 1 i i I l I I
`
`exqva asn
`
`{ l 2
`
`<
`
`2
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Dec. 7, 2004
`
`Sheet 2 0f 8
`
`US 6,829,672 B1
`
`
`
`Fig. 2
`
`3
`
`
`
`US. Patent
`
`mD
`
`Mm.
`
`7:
`
`US 6,829,672 B1
`
`mFoam—swam
`
`
`
`owmxo>ODQQ_lllllllllll
`
`e
`
`9
`
`m
`
`nS83
`
`:W$=oh=oU-92_2u_w_%~
`
`v22.5%20.502052.55
`
`
`
`
`
`
`
`__S39:22awn—mEzobcoUoomtBEmm:
`
`4
`
`
`
`
`
`
`US. Patent
`
`a.D
`
`M0279
`
`h
`
`US 6,829,672 B1
`
`I z I 1 I I I I I I l I I I | I I I I I l I
`
`w
`
`LBS/m20502052.55
`
`«N
`
`2:86358%2396
`
`S_
`
`4_w_
`
`M$=ob=oo-922
`
`Tm
`
`__~_
`
`
`
`
`
`
`__mm
`
`
`
`59:22:52;8:05:00885::vom—
`
`__m__
`_mm
`
`562500co?
`
`houflswommwems;8.8MIIIIIIIIIIImIIIIIIIIII
`
`5
`
`
`
`
`
`
`
`US. Patent
`
`Dec. 7, 2004
`
`Sheet 5 of 8
`
`US 6,829,672 B1
`
`Upper Layer of
`
`
`
`
`Operating System
`
` Flash Electronic Memory
`
`
`External Storage Driver
`
`Lower layer of
`
`
`Operating System
`
`
`
`
`
`
`
`
`
`
`Flash Electronic
`
`Memory External
`
`6
`
`
`
`
`
`7
`
`
`
`US. Patent
`
`Dec. 7, 2004
`
`Sheet 7 0f 8
`
`US 6,829,672 B1
`
`Plug into
`
`81
`
`Notify the operating system
`to assign an external storage driver.
`
`32
`
`Waiting for the
`operation request. 33
`
`
`
`
`Operate the
` S4
`agnetic disk"
`
`No
`
`
`
`Yes
`
`Specificol operation for converting
`55 magnetic disk operation Into electronic
`flash memory external storage dewce.
`
`SS
`
`Specifically operate electronic flash
`memory external storage device to
`package it
`in the format defined by USB.
`
`
`
`Plug—ond—ploy or other
`supportable operation?
`
`Yes
`
`
`
`89
`
`Send the packaged operation to
`$7 the firmware via the operation system
`and wait for operation return.
`
`‘
`_
`processmg operation.
`
`510
`
`Return
`SB Process information of
`result or state etc.
`
`Return
`Process Information of
`result or state etc.
`
`S11
`
`Pull out
`
`the movable storage device.
`
`Notify the operating system to remove
`
`$12
`
`FIG. 7
`
`8
`
`
`
`US. Patent
`
`Dec. 7, 2004
`
`Sheet 8 0f 8
`
`US 6,829,672 B1
`
`Plug into
`
`Initialization.
`
`S1
`
`Waiting for the
`
`82
`
`Yes
`
`Process standard USB
`
`operation request.
`
`S5
`
`
`
`Return
`Process information of
`result or state etc.
`
`
`85
`
`
`Standard
`
`USB operation?
`
`
`
`No
`
`86
`pecial operation for
`the flash electronic external
`
`
`
`storage device?
`
`
`Yes
`
`
`
`Process the special operation
`request for the flash electronic 57
`external storage device.
`
`result or state etc.
`
`Return
`Process information of 38
`
`Pull out
`
`FIG. 8
`
`9
`
`
`
`US 6,829,672 B1
`
`1
`ELECTRONIC FLASH MEMORY EXTERNAL
`STORAGE METHOD AND DEVICE
`
`FIELD OF THE INVENTION
`
`This invention is related to storage device for data pro-
`cessing system, especially related to external storage method
`and its device for micro, handheld and portable data pro-
`cessing systems.
`BACKGROUD OF THE INVENTION
`
`Since the invention of computer, people have been paying
`close attention to the improvement of computer external
`storage device, from magnetic drum, magnetic tape to floppy
`disk and hard disk to exchange, save and backup data and
`file. For more than a decade, personal computer technology
`has been improved quickly, but the technology of floppy
`disk as a removable external storage has no substantial
`improvement. The only improvement of floppy disk is that
`the size was reduced from 8 inches, to 5.25 inches, and to 3.5
`inches, and the capacity was increased to 1.44 MB. Other
`than the above improvements, the floppy disk technology
`stays as what it was ten years ago and there is no further
`improvement. As we all know, floppy disk has the following
`disadvantages: small capacity,
`low speed, easy to be
`damaged, low reliability. Especially, floppy disk drive is big
`and heavy. All these disadvantages have caused great incon-
`venience to users. In the past few years, there are some other
`storage devices in the market, such as high-capacity ZIP
`disk, removable optic disc MO etc. These devices have some
`advantages that floppy disk does not have, such as larger
`capacity, better reliability than floppy disk, etc. But they still
`have such disadvantages: big, heavy, requiring physical
`drive, difficult to carry, complicated to use, requiring exter-
`nal power supply, hard to popularize, high price and so on.
`Only very small number of computers are equipped with
`physical drives for such storage devices. In addition, in order
`to install such an internal drive, you must
`turn off the
`computer, open computer casing and find a place in the
`computer to mount it. Then you need to close the casing,
`power on your computer and install software driver for the
`device. You can not use the device until all the above steps
`have been finished. Obviously, ordinary computer users,
`even computer specialists may find such storage devices too
`troublesome to use, not to mention those users who are not
`familiar with computers.
`To sum up, a new kind of computer storage device is
`urgently needed to replace or complement floppy disk and
`other external storage device using existing technology. The
`need is especially urgent for those increasingly popular
`notebooks and handheld devices. Floppy disk drive and
`other physical drives, due to their big size and heavy weight,
`are not suitable for notebooks and handheld devices which
`
`must be light, convenient, small and portable. In fact, more
`and more notebooks don’t have build-in floppy disk drive or
`CDROM drive for the purposes of compactness and conve-
`nience.
`
`Universal Serial Bus (USB) is a new computer technology
`in recent years. Its standard is defined by some international
`big companies such as Intel, Microsoft and Compaq etc. The
`purposes of USB are to make the use of personal computers
`simpler, easier and faster, and to replace existing serial port,
`parallel port and keyboard port etc. Today, all Pentium II or
`above computers (including compatible computers) are
`equipped with USB. USB has become a new industry
`standard for personal computer. There may be some other
`high-speed universal bus standards in the future.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`At the time when USB is widely available today, users can
`no longer tolerate the situation that micro or portable data
`processing devices can not install built-in floppy disk or
`other similar storage devices. Users also can hardly tolerate
`low-capacity, low-speed and vulnerable storage devices like
`floppy disk, especially can not tolerate the defects that drives
`for such devices are big and hard to install.
`SUMMARY OF THE INVENTION
`
`invention provides an electronic flash
`The present
`memory external storage method to overcome the shortages
`of current storage technology. The method uses electronic
`flash memory, standard universal bus and plug-and-play
`technology to provide a new external storage device to
`computer users. All parts and PCB of the external storage
`device are assembled as a monolithic piece. The high-
`capacity and high-speed device is simple, light, convenient,
`portable, easy to use and highly reliable. The invention only
`uses software to implement external storage functions and
`can be implemented on different operating system. It is
`applicable to various data processing systems supporting
`standard universal bus.
`
`The objects of the present invention are accomplished by
`the following technical scheme:
`The scheme adopts an electronic flash memory external
`storage method that includes the use of DC power supply
`and storage media, and has the following characteristics:
`said storage media is flash memory, and:
`all components and PCB (printed circuit board) used are
`assembled as a monolithic piece,
`said storage method uses software to implement external
`storage functions (to replace physical drive),
`every part is physically at a standstill during the process
`of access.
`
`Said external storage method involves flash memory and the
`connecting universal bus interface controller, microproces-
`sor and suspend/resume circuit. The external storage device
`is connected with data processing system through universal
`bus interface. The firmware of the external storage device is
`designed inside the microprocessor. After initialization, the
`firmware can process standard interface operation requests
`and special operation requests to the external storage device.
`After processing the requests, the firmware sends the results
`back to the requesters. Meanwhile, the driver of the external
`storage device is implemented and installed in the operating
`system. The driver is initialized when the external storage
`device is plugged into host computer. During initialization,
`the driver instructs upper layer operating system to generate
`a removable external storage device and assign a corre-
`sponding device symbol for it. Afterwards, in response to
`conventional magnetic disk operation requests, the driver
`converts these requests into special
`instructions for the
`external storage device. The driver then sends the converted
`instructions to the firmware of the external storage device
`through bottom layer operating system and universal bus
`interface control circuit. The firmware executes the instruc-
`
`tions and sends results and status back to the driver through
`the operating system. There are two categories of instruc-
`tions for the external storage device: read and write. Due to
`the characteristic that valid data of the flash memory can not
`be overwritten, a write command is therefore converted into
`three steps: read, internal erasing, data merge and writing
`back.
`
`An electronic flash memory external storage device,
`which comprises storage media and DC power supply, is
`designed and implemented. All parts and PCB (printed
`
`10
`
`10
`
`
`
`US 6,829,672 B1
`
`3
`
`circuit board) used for the external storage device are
`assembled as a monolithic piece. It uses software to imple-
`ment external storage functions. The external storage device,
`including all of its parts, is physically at a standstill during
`the process of access.
`There is an access control circuit on said PCB, which
`comprises micro-controller, USB interface controller, USB
`connector and suspend/resume circuit. Said storage media is
`flash memory. Said micro-controller is connected with USB
`interface controller, suspend/resume circuit and flash
`memory respectively. The USB interface controller is con-
`nected with USB connector, suspend/resume circuit, flash
`memory and micro-controller respectively. The USB con-
`nector is connected with data processing host machine
`through USB cable.
`Said external storage device is driven by the driver and the
`firmware. The firmware resides in the microprocessor and
`the driver is loaded between upper layer operating system
`and bottom layer operating system of the host computer.
`An application example of the external storage device is
`to utilize it in data processing system. The device is con-
`nected with the system through universal bus interface.
`Driver for the external storage device is installed in the
`operating system of the data processing system. Under the
`management of the operating system, users can operate the
`external storage device the same way operating a classical
`disk. The driver receives standard disk operation requests
`from operating system and converts the requests into special
`instructions for the external storage device. The driver then
`sends the converted instructions to the firmware through
`bottom layer operating system and universal bus interface
`control circuit. The firmware executes the instructions and
`
`sends results and status back to the driver through the
`operating system. Up to this point,
`the data exchange
`procedure between the external storage device and data
`processing system is completed. The recognition procedure
`of the external device when it
`is plugged into the host
`machine includes device plug-in, device registration and
`allocation of device symbol. The external storage device is
`plug-and-play without shutting down the host machine when
`plugging in or pulling out the device.
`BRIEF DESCRIPTION OF THE
`ACCOMPANYING DRAWINGS
`
`FIG. 1 shows the general hardware block diagram of the
`electronic flash memory external storage device of the
`present invention.
`FIG. 2 shows a hardware section diagram of the electronic
`flash memory external storage device.
`FIG. 3 shows the hardware block diagram of the elec-
`tronic flash memory external storage device implemented
`with USB interface.
`
`FIG. 4 shows the hardware block diagram of the elec-
`tronic flash memory external storage device implemented
`with IEEE1394 interface.
`
`FIG. 5 shows the software block diagram of the electronic
`flash memory external storage device.
`FIG. 6 shows circuit schematics of the electronic flash
`
`memory external storage device implemented with USB
`interface.
`FIG. 7 shows the driver flowchart.
`FIG. 8 shows the firmware flowchart.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Following is the description of a preferred embodiment of
`the present invention, which description should be taken in
`conjunction with the accompanying drawings.
`
`4
`An electronic flash memory external storage method,
`which includes the use of DC power supply and storage
`media, wherein with the following characteristics:
`said storage media is flash memory, and:
`all components and PCB (printed circuit board) used are
`assembled as a monolithic piece,
`said storage method uses software to implement external
`storage functions (to replace physical drive),
`every part is physically at a standstill during the process
`of access. Said storage method includes:
`the establishment of data exchange channel between data
`processing system and external storage device,
`connecting method of the power supply source,
`method of setting up physical storage media of the
`external storage device and its internal data structure,
`method of reading and writing the external storage media,
`method of interpreting and executing read and write
`commands,
`method of transferring data between the host computer
`and the external storage device,
`installation procedures of driver of the external storage
`device,
`method of data exchange between the operating system
`and said driver.
`
`Said storage method also includes a firmware that resides
`in the electronic flash memory external device and directly
`controls the access of flash memory and implements stan-
`dard interface functions. The firmware resides in the micro-
`
`processor and works according to the firmware flowchart as
`shown in FIG. 8. When the external storage device is
`plugged into the data processing host, the firmware coordi-
`nates with the driver in the operating system to accomplish
`the initialization of the device (step 801), then waits for the
`operation request (step 802). According to the requirements
`of operating system and the driver,
`if the request
`is a
`interface standard operation, the firmware executes standard
`interface operation instructions and returns back the pro-
`cessing result or status information etc. (steps 803, 804,
`805); If not but a special operation for the external storage
`device, the firmware executes the special operation instruc-
`tions and returns back the processing result or status infor-
`mation etc. (steps 803, 806, 807, 808); Or else the firmware
`ignores the operation request and return back to step 802.
`Said driver works according to the software flowchart for
`the driver as shown in FIG. 7. When the external storage
`device is plugged into the data processing host, the driver
`coordinates with the firmware to accomplish the initializa-
`tion of the device and notifies the operating system to assign
`and display a device symbol for the external storage device
`(steps SI, 82), then waits for the operation request (step S3).
`The driver needs to process the operation requests sent from
`the operating system to the external storage device. At
`present, the operation request is mainly in magnetic disk
`operation format. It needs to be converted by the driver into
`special operation instruction for the external storage device
`(step S4, SS), packaged in the format defined by the uni-
`versal bus standards and sent to the firmware for execution
`
`the driver needs to process
`(steps S6, S7). In addition,
`plug-and-play operation or other supportable operation coor-
`dinating with the operating system (steps S9, 810). After
`processing these request, the driver returns back the result
`and status information etc. (steps S8, Sll). Once the external
`storage device is pulled out,
`the driver will immediately
`notify the operating system to remove the corresponding
`device symbol of the external storage device (step 812).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`11
`
`11
`
`
`
`US 6,829,672 B1
`
`5
`Said storage method, which can be applied to all data
`processing systems supporting universal bus, includes the
`following contents:
`The data exchange channel between said data processing
`system and said external storage device is universal bus. It
`does not need extra interface card, big physical drive or
`mechanical moving parts. It is light in weight, quick to start
`up and plug and play. The working power for the device is
`supplied from the universal bus. No extra external power
`supply is needed. It is convenient and easy to use. At present,
`the universal bus adopted is USB (Universal Serial Bus).
`USB is a new international standard for computer peripheral
`devices, which can replace the legacy parallel ports, serial
`ports, keyboard interface and mouse interface etc. The
`purpose of USB is to provide unified interface for computer
`peripheral devices,
`to improve transferring speed,
`to
`increase number of connectable devices, to increase trans-
`ferring distance and to facilitate computer users. Today
`many computer peripheral devices such as scanner, printer,
`digital camera, keyboard and mouse have adopted USB
`interface.
`The storage media of said external storage device is flash
`memory. This flash memory is a kind of large-capacity
`electronic memory chip with small size and high speed. Data
`of the flash memory can be randomly or sequentially read
`and written. Data can also be erased. Erasing operation is in
`unit of data block, which can be erased for up to 1 million
`times. Flash memory is an excellent data storage media with
`the capability to store data for more than 10 years without
`power supply. This kind of flash memory has another feature
`that if the target memory area of a write operation contains
`valid data, the valid data in this memory area must be read
`out first before the memory area will be erased and then the
`new data can be successfully written in, wherein said valid
`data is the useful data that should be saved and can not be
`
`erased. This feature is perfect to protect the valid data in the
`flash memory though it makes the write operation more
`complicated. The capacity of an external storage device
`using flash memory is normally five to six times larger than
`a floppy disk. The data inside the flash memory is organized
`in a uniform block model. At present, one data block of the
`flash memory provides 8K bytes, 16K bytes or even 32K
`bytes or 128K bytes available storage capacity. With the
`advancement of technology, flash memory with even bigger
`capacity in a single block will probably be available for
`external storage device.
`Said read command for the external storage device com-
`prises the following steps:
`upper layer operating system receives the read command
`from user, wherein the command format is the familiar
`format used by legacy magnetic disk,
`operating system sends said read command to the driver,
`the driver converts the read command used by magnetic
`disk operation into special read instruction which can
`be understood and executed by the firmware, and
`transfers said converted read instruction to bottom layer
`operating system,
`bottom layer operating system transfers said converted
`read instruction to the firmware through control circuit
`of the universal bus,
`the firmware executes said converted read instruction, and
`transfers results and status back to the driver through
`operating system.
`Said write command of the external storage device com-
`prises the following steps:
`operating system receives the write command from user,
`wherein the command format is the familiar format
`
`used by legacy magnetic disk,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`operating system sends said write command to the driver,
`the driver checks whether the external storage device
`has in write protection status or not,
`if no write
`protection, the driver continues to execute the follow-
`ing steps,
`the driver converts the write command used by magnetic
`disk operation into several special instructions which
`can be understood and executed by the firmware, and
`transfers said converted instructions one by one to
`bottom layer operating system,
`bottom layer operating system transfers said converted
`instructions to the firmware through control circuit of
`the universal bus,
`the firmware executes a read instruction to the target
`memory area of the write command and transfers data
`read out back to the driver through operating system,
`the firmware executes an erase instruction to said target
`memory area and transfers erase result back to the
`driver through operating system,
`the driver merges the data read out and the data to be
`written to said target memory area, and sends the
`merged data and a write instruction to the firmware,
`then the firmware writes the merged data back to said
`target memory area,
`the firmware transfers write operation results and status
`back to the driver through the operating system.
`The data exchange method between the data processing
`system and the external storage device is the standard
`method defined by the universal bus specifications, not the
`specifically self-defined internal method for the external
`storage device. Driver or firmware packages data according
`to the standard communication protocol before the data is
`transferred from driver to firmware or from firmware to
`driver.
`
`Said working power of the external storage device is
`supplied from USB instead of special power supply from the
`system. This power supply scheme eliminates power adapter
`and maximizes the convenience of plug-and-play.
`In other examples of implementation,
`the standard
`IEEE1394 bus can be adopted as the data exchange channel
`between the data processing host machine and the external
`storage device. In this case, working power of the external
`storage device can be provided from IEEE1394 bus and the
`data exchange method between the data processing host
`machine and the external storage device is the standard
`method defined by IEEE1394.
`The present invention uniquely designs a toggle switch
`that is connected to the write protection pin WP of flash
`memory. The status of the write protection pin is either
`pending or connected to ground by the switch. Write pro-
`tection function of the external storage device is jointly
`implemented by the WP pin and the firmware detection of
`the WP pin status. The write protection pin WP has hardware
`write protection function, that is, it can physically protect the
`contents of the flash memory from being modified or erased.
`On the other hand, driver and firmware provide software
`write protection function for the external storage device.
`When the WP pin is at the write protection status (WP pin
`is connected to ground), the firmware notifies this status to
`the driver and the driver in turn notifies this status to the
`
`the contents in the flash
`operating system. As a result,
`memory can not be modified or erased and the data saved by
`the users can be protected. Especially in this case,
`the
`external storage device is impossible to be infected by virus.
`The general hardware block diagram of the external
`storage device of the present invention is shown in FIG. 1.
`
`12
`
`12
`
`
`
`US 6,829,672 B1
`
`7
`FIG. 2 shows the hardware section diagram of the external
`storage device using USB interface 231. Said storage device
`is completely contained inside a single casing 5. All com-
`ponents are mounted on a PCB 51 that is contained in the
`casing 5. The device uses software to implement data
`storage access functions. The external storage device and its
`every part are physically at a standstill when the device is at
`working state.
`A flash memory 1, a DC-DC voltage regulator 3 and an
`access control circuit 2 are mounted on the PCB 51 of the
`
`external storage device. Because the flash memory 1 and the
`access control circuit 2 only comprise electronic compo-
`nents without any mechanical moving parts, the external
`storage device can be very small, almost the same size of a
`thumb, and it is very convenient in using and carrying.
`FIG. 3 shows the hardware block diagram of the external
`storage device of the present preferred embodiment imple-
`mented with USB interface. The access control circuit 2
`
`includes a microprocessor 21, a USB interface controller
`221, a USB interface 231 and a suspend/resume circuit 24.
`The storage media is flash memory 1. The microprocessor
`21 is connected with the USB interface controller 221, the
`suspend/resume circuit 24 and the flash memory 1, with
`signal flowing in uni-direction or bi-direction. The USB
`interface controller 221 is respectively connected with the
`USB interface 231, the suspend/resume circuit 24 and the
`flash memory 1, with signal flowing in uni-direction or
`bi-direction. The USB interface 231 is connected with the
`
`data processing system through USB cable. A write protec-
`tion switch 4 is connected with the flash memory 1 and the
`microprocessor 21, with signal flowing in uni-direction.
`The power supply of the DC-DC voltage regulator 3 is
`provided from the USB interface 231, and is connected with
`the microprocessor 21, the USB interface controller 221 and
`the suspend/resume circuit 24. The output pin of the DC-DC
`voltage regulator 3 is connected with the power supply pin
`of the flash memory 1.
`FIG. 4 shows the hardware block diagram of the external
`storage device of the present preferred embodiment imple-
`mented with IEEE1394 interface, wherein the universal bud
`interface is IEEE1394 interface 232, and the universal bus
`interface controller is IEEE1394 interface controller 222.
`
`Today almost all Pentium II or above computers
`(including compatible computers) are equipped with USB
`interface. USB has become the new industry standard of
`personal computer. Therefore, many computers can support
`the electronic flash memory external storage device of the
`present invention. Like floppy disk and CDROM, the exter-
`nal storage device will probably become a standard com-
`puter peripheral and will eventually replace floppy disk and
`floppy drive.
`FIG. 6, the corresponding figure of FIG. 3, shows the
`circuit schematics of the external storage device of the
`present preferred embodiment. The microprocessor 21 is
`used to control the USB interface controller 221, the flash
`memory 1 and the suspend/resume circuit 24. The micro-
`processor 21 comprises a microprocessing chip D4 and two
`4053 analog multiplexer/de-multiplexer chips D5 and D6.
`Pin 12, 1 and 3 of the chip D5 and pin 12 of the chip D6 are
`connected together and then to pin 12 of the chip D4. Pin 13,
`2, 5 of the chip D5 and pin 13 of the chip D6 are connected
`together and then to pin 13 of the chip D4. Pin 11, 10, 9 of
`the chip D5 and pin 11 of the chip D6 are respectively
`connected to pin 44, 1, 2 and 3 of the chip D4. DATAO to
`DATA7 of the chip D4 are respectively connected to the
`corresponding data bus of chip D2 of the USB interface
`controller 221 and chip D1 of the flash memory 1. Pin 4 of
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`the chip D5 is connected to pin 4 of the flash memory chip
`D1. Pin 14 of the chip D6 is connected to pin 42 of the flash
`memory chip D1. Pin 14 and 15 of the chip D5 are
`respectively connected to pin 15 and 16 of the chip D2.
`Said USB interface controller 221 comprises a chip D2
`with part number PDIUSBD12, a crystal oscillator Y1,
`capacitors C1—C2 and C7—C8, resistors R1—R3 and R10, and
`a LED V3. The crystal oscillator Y1 and the capacitors C1
`and C2 are serially connected as a closed circuit. The two
`pins of the crystal oscillator Y1 are respectively connected
`to pin 22 and 23 of the chip D2. Pin 25 and 26 of the chip
`D2 are respectively connected to pin 2 and pin 3 of the USB
`connector 231 through the resistors R2 and R1. The USB
`interface controller 221 is responsible for USB data input,
`data output and data flow control. It is compliant to USB
`Specifications 1.0 and 1.1. The USB interface controller 221
`has an 8-bit high-speed and yet simple parallel bus interface
`capable of interfacing with most micro-controller, and also
`supports DMA function. The flash memory 1 is used for data
`storage. The part numbers of the flash memory chip D1 can
`be TC58V64FT/128FT/256FT/512FT or KM29V64000T/
`128T/256T/512T. Pin 5 of the chip D1 is connected to pin 5
`of the write protection switch 4.
`The purpose of the suspend/resume circuit 24 is to reduce
`power consumption.
`It can switch the external storage
`device from working state to suspend state, or can wake up
`the external storage device from suspend state to normal
`working state. It comprises a transistor V1, a capacitor C4,
`a diode V2 and resistors R5—R9. The base of the transistor
`
`V1 is connected to pin 12 of the chip D2 of the USB
`interface controller 221 through the resistor R9, the capaci-
`tor C4 and the resistor R8. The emitter of the transistor V1
`
`is connected to pin 4 of the microprocessor chip D4.
`The electronic flash memory external storage device of
`the present invention does not need physical drive and extra
`external power supply. It is completely driven by software,
`that is, driven by the driver and the firmware. The firmware
`resides in the microprocessor 21 and interacts with bottom
`layer operating system. The driver is loaded between bottom
`layer operating system and upper layer operating system,
`and interacts with bottom layer operating system and upper
`layer operating system. The software block diagram of the
`driver is shown in FIG. 5. The software block diagram of
`FIG. 5 includes an upper layer operating system 5.1, a flash
`electronic memory external storage device driver 5.2 a lower
`layer of operating system 5.3, and a flash electronic memory
`external firmware 5.4.
`The software flowcharts of the driver and the firmware are
`
`shown in FIG. 7 and FIG. 8 respectively. FIG. 7 shows an
`initialization block 7.1, notify the operating system to assign
`an external storage driver block 7.2, a waiting for operation
`request block 7.3, an operate the magnetic disk block 7.4, a
`plug-and-play or other supportable operation block 7.5, a
`processing operation block 7.6, a return process inform of
`result or state etc. block 7.7, a specifical operation for
`converting magnetic disc operation into electronic flash
`memory external storage device block 7.8, a specifically
`operate electronic flash memory external storage device to
`package it in the format defined by USB block 7.9, a send
`the packaged operation to the firmware via the operation
`system and wait for operation return block 7.10, a return
`process information of result or state etc. block 7.11, and a
`notify the operating system to remove the movable storage
`device block 7.12. FIG. 8 shows an initialization block 8.1,
`a waiting for operation request block 8.2, a standard USB
`operation block 8.3, a special operation for the flash elec-
`tronic external storage device block 8.4, a process the
`
`13
`
`13
`
`
`
`US 6,829,672 B1
`
`9
`special operation request for the flash electronic external
`storage device block 8.5, a return process information of
`result or state etc. block 8.6, a process standard USB
`operation request 8.7, and a return process information of
`result or state etc. 8.8. The inventors of the present invention
`are preparing to apply to China Software Registration Center
`for the copyright protection of the driver and the firmware.
`When the user plugs the external storage device into the
`USB port of the computer, the microprocessor 21 immedi-
`ately starts the execution of the firmware resided in the
`microprocessor 21. The firmware firstly executes initializa-
`tion operations. After the initialization, the firmware enters
`into waiting state to wait for further operation requests.
`All initialization code of the firmware is stored in the
`
`microprocessor chip D4. When the external storage device is
`powered up, the operating system inquiries the USB inter-
`face chip D2.
`In response to the inquiry,
`the chip D2
`generates interrupt requests to the microprocessor chip D4.
`The chip D4 establishes the connection with the operating
`system by responding to the interrupt requests of D2. Basing
`on the feedback of various device status and flags from the
`chips D2 and D4 of the external storage device, the oper-
`ating system in