System and apparatus for compressing and decompressing data stored to a portable data storage device

Information

  • Patent Grant
  • 7631121
  • Patent Number
    7,631,121
  • Date Filed
    Monday, July 24, 2006
    19 years ago
  • Date Issued
    Tuesday, December 8, 2009
    15 years ago
Abstract
A portable memory device is provided that is capable of easy connection to a personal computer via a universal serial bus (USB) port, IEEE 1394 (i.e., firewire) or similar port. Included in the portable memory device is a compression/decompression engine capable of compressing and decompressing data. Data residing on a personal computer or other host platform is compressed by the engine and saved to the memory of the portable memory device. Compressed data is retrieved and decompressed by the engine and transmitted to the personal computer for use by the user. Embodiments of the present invention thus provide a highly convenient system and apparatus for users to access and save larger quantities of data to a relatively small device.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to the field of storage of electronic data. More particularly, the present invention relates to the compression and decompression of data stored to a portable memory device.


2. Background of the Invention


Portable memory devices, sometimes referred to as “key chain” memory devices or Thumbdrives™ (which is a trademark of the assignee of the present invention), are small portable data storage devices. These devices have become a class of indispensable computer peripherals that are widely utilized in business, educational and home computing. These devices are very small in comparison with other data storage devices such as personal computers (PCs), personal digital assistants (PDAs), magnetic disks, or compact disks (CDs). Indeed, the name “keychain” memory device describes the devices as similar in size to a key. Portable memory devices are generally not permanently fitted to a particular host platform, such as a PC. Rather, they can be conveniently attached to and removed from any computer having the appropriate connection port (e.g., a serial bus port like a USB port, or IEEE 1394 port (“Firewire”)). Thus, these portable data storage devices enable a user to transfer data among different computers that are not otherwise connected. Because these devices utilize a non-volatile solid-state memory (e.g., flash memory) as the storage medium, they do not require moving parts or a mechanical drive mechanism for accessing data. The absence of a drive mechanism enables portable data storage devices to be more compact than surface storage devices such as magnetic disks and CDs. Also, because there are no moving parts, reading and writing to the memory can be done much more rapidly than to magnetic disks and CDs. Portable data storage devices also have a much higher memory capacity than magnetic disks, holding up to 256 megabytes, as compared to 1.4 megabytes for magnetic disks.


Although storing data to a portable memory device has proven useful, the utility of these devices is limited by their inability to store larger quantities of data without increasing their size.


SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to provide a system and apparatus that enables users to save larger quantities of data to a portable memory device than the current state of the art would allow. This would allow manufacturers to increase the amount of data that can be stored to the memory of these devices without increasing the physical size of the memory and thus the size of the devices. Additionally, this would have the added benefit of allowing manufacturers to decrease the size of these devices without decreasing the amount of data that such devices are capable of storing.


These and other objects are achieved by the present invention comprising a portable memory device that is capable of easy connection to a host platform such as a PC via a USB port, IEEE 1394 (i.e., firewire) or similar port. Included in the device is flash memory, read-only-memory (ROM), random-access-memory (RAM), USB controller, and a micro controller. In addition, a data compression and decompression engine is included in the portable memory device to compress/decompress data as it is stored and retrieved from memory.


The portable memory device (Thumbdrive™) is connected to a host platform such as a personal computer (PC) by a USB connector inserted into the PC's USB port. Data to be saved to the portable memory device is transmitted by the PC in the form of data packets to a working buffer in the portable memory device. The compression engine retrieves the data from the buffer and compresses each packet of data. Compressed data packets are stored in the flash memory. To retrieve data, the compression/decompression engine retrieves the data from the flash memory and decompresses it. The decompression engine places the decompressed data in the working buffer where it is then transferred to the host platform.


Typically, the compression/decompression software is located in the ROM then loaded into micro controller for execution. In an alternative embodiment, the compression/decompression engine resides in an ASIC chip in the portable device.


The compression/decompression features of the portable device are invisible to the user. The user saves data but is not aware that it is being compressed. In an alternative embodiment, the user is aware of these features and enables/disables the compression feature as desired. Disabling the compression feature has the effect of increasing the speed at which the data can be saved.





BRIEF DESCRIPTION OF THE DRAWINGS

The objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment of the invention with references to the following drawings.



FIG. 1 is a block diagram illustrating functional blocks of one embodiment of the portable memory device according to the present invention and an illustrative configuration thereof.



FIG. 2. illustrates a flow diagram that describes how the host platform communicates commands to the portable memory device.



FIG. 3. illustrates a flow diagram that describes how data is transmitted, compressed and saved to the memory of the portable memory device.



FIG. 4. illustrates a flow diagram that describes how compressed data saved to the memory of a portable memory device is accessed.





DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described more fully with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather these embodiments are provided so that this disclosure is thorough and complete and fully conveys the invention to those skilled in the art. Indeed, the invention is intended to cover alternatives, modifications and equivalents of these embodiments, which are included within the scope and spirit of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it is clear to those of ordinary skill in the art that the present invention may be practiced without such specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.



FIG. 1 is a block diagram illustrating functional blocks of one embodiment of the portable memory device and system of the present invention and an illustrative configuration thereof. FIG. 1 shows a portable memory device 100 (a small handheld device capable of fitting substantially in a closed fist) that is connected via a universal serial bus (USB) port IEEE 1394 (i.e., firewire) or similar port connector 40 to a USB port (or similar port) 192 of the host platform 195 (such as a personal computer). In the preferred embodiment, the connection is made without wire or cable interconnection. Host platform 195 is coupled to a power supply circuit 150 located in portable device 100. Power supply circuit 150 draws power from host platform 195 and serves as a power source for various components of portable device 100.


Referring still to FIG. 1, the portable memory device 100 includes a micro controller 160, flash memory 180, and a data compression/decompression engine 190. It is understood that micro controller 160 could also be a general purpose microprocessor.


In one embodiment, a working buffer 165 is located in the micro controller. In an alternative embodiment, the working buffer 165 is located outside of the micro controller 165 (e.g., in the RAM 110). In the preferred embodiment, the working buffer has 16 kilobytes of capacity.


It should be appreciated that data compression/decompression engine 190 maybe implemented in various ways within the scope of the present invention. In one embodiment, compression/decompression engine 190 is implemented as firmware stored in a non-volatile memory 110 within portable device 100. In another embodiment, data compression/decompression engine 190 is implemented as part of micro controller 160. In still another embodiment, compression/decompression engine 190 is implemented as a processor separate from micro controller 160. In other words, within the scope of the present invention, compression/decompression engine 190 is not required to reside in a particular location in the portable device 100. Instead, where compression/decompression engine 190 is to be placed is a design choice, thus affording design flexibility to suit different applications in which the present invention can be utilized.


Data compression/decompression engine 190 compresses data after the data is transferred from the host platform 195 to the portable memory device 100. The data is transferred in the form of data packets passed along a USB bus. The data compression/decompression engine 190 retrieves the data from the working buffer 165 (typically one sector at a time) and compresses the data. In the preferred embodiment, the data is compressed to 50% of its original size. Thus a packet of 512 bytes of data will be compressed to 256 bytes. After compression, the data is stored to the flash memory 180. The compression/decompression engine 190 also decompresses data stored to the flash memory 180 and transfers the data to the host platform 195.


In this embodiment, the portable device includes a USB device controller 130, which serves to control the communication between portable device 100 and host platform 195, such as a USB-compatible PC having a USB host controller 197 therein.


With reference still to FIG. 1, portable device 100 also includes a volatile memory 120 and a non-volatile memory 110. In a preferred embodiment, volatile memory 120 is a random access memory (RAM) that serves as a working memory for micro controller 160 during its operation. Non-volatile memory 110 is a read-only memory (ROM) in this embodiment and can be used to store firmware that performs various functions of portable memory device 100.


Additionally, in this embodiment, portable device 100 includes a write-protect switch 170 which, when activated, triggers micro controller 160 to disable write-access to flash memory 180. It should be appreciated that write-protect switch 170, like compression/decompression engine 190, may be implemented in various ways within the scope of the present invention. For example, write-protect switch 170 can be implemented by software (e.g., firmware stored in a non-volatile memory), as part of micro controller 160, or as a processor unit separate from micro controller 160. In an alternative embodiment, the write-protect switch 170 can be a manual switch which is manually operated by the user.


In a currently preferred embodiment as illustrated in FIG. 1, microprocessor 160 controls various components of portable device 100, including USB device controller 130, ROM 110, and RAM 120 (and execution of firmware code stored therein).


Optionally, portable device 100 further includes a USB port (not shown) that is provided as a convenient feature that can be used to couple other USB-compatible device(s) to the portable device 100 via USB.


In one embodiment, driver software (not shown), application programming interface (API) (not shown) and monitoring software (not shown) reside in the host platform 195 and communicate with USB host controller 197 to facilitate the operation of portable device 100.


The architecture of a portable data storage device is described in U.S. patent application entitled “A Portable Device Having Biometrics-Based Authentication Capabilities” with Ser. No. 09/898,365, filed on Jul. 3, 2001 and in U.S. patent application entitled “Portable Data Storage Device Capable of Being Directly Connected Via USB Plug to a Computer” with Ser. No. 09/803,173.



FIG. 2 illustrates a flow diagram of the operation that occurs when the user connects the portable device 100 to the host platform 195 (step 205) and initiates the saving of data to the portable device 100. In step 205, upon being coupled to a host platform 195, portable device 100 undergoes an initialization procedure. In a currently preferred embodiment, the initialization procedure involves establishing communication with the host platform 195 and ensuring the host platform 195 is aware that portable device 100 has been coupled thereto. Host platform 195 requests services from portable device 100 by sending request packets to USB host controller 197. USB host controller 197 transmits packets through USB port 192 to USB connector 140. Portable device 100 then performs various operations such as reading, writing or erasing coupled with compressing and decompressing data from or to flash memory 180.


In step 210, host platform 195 may send a request to portable memory device 100 to write data to flash memory 180 in the form of a write command. In step 215, USB controller 130 receives write command. Write command typically indicates the number of packets of data to follow that are to be saved.



FIG. 3 illustrates a flow diagram of the operation that occurs when data is transferred to the portable device to be compressed and written to the flash memory 180. Host platform 195 transmits a first data packet to USB controller 130 (step 303). In one embodiment, in accordance with the USB 2.0 standard, each data packet is the equivalent of one sector of memory or 512 bytes. In an alternative embodiment, in accordance with USB standard 1.1, each data packet is 64 bytes.


USB Controller 130 receives packet of data from host platform 195 (step 305). USB controller 130 transmits data packet to working buffer 165 (step 310). In the preferred embodiment, working buffer 165 can hold a maximum of 16 kilobytes of data. If working buffer 165 reaches maximum capacity and can no longer store additional data, then the next data packet may be rejected and a negative acknowledgement (NAK) communication is sent by micro controller 160 to host controller 195 indicating that the rejected data packet was not received (steps 312 and 313). Host controller 195 then retransmits rejected data packet (step 303). This process of packet rejection and retransmission continues until the working buffer 165 has capacity to accept an additional data packet (step 314).


Micro controller 160 executes data compression/decompression engine 190 (Step 315). Compression/decompression engine 190 operates on packets of data stored in working buffer 165 (Step 320) in a First In/First Out scheme whereby data packets are compressed in the order that they are stored to working buffer 165 with the first packet stored in working buffer 165 being the first to be compressed and transferred to flash memory 180. In the preferred embodiment, data is compressed to 50% of its original size. In the preferred embodiment, when operating on a USB 2.0 standard, compression engine 190 operates to compress one sector (512 bytes) of data at a time. In an alternative embodiment, when operating on the USB 1.1 standard, compression engine 190 operates to compress 64 bytes of data at a time. Compressed data is saved to flash memory 180 (Step 325).


Memory mapping is controlled by the micro controller 160. In the preferred embodiment, the host platform (and user) are unaware that the data is being compressed. To the host platform, data appears to fill sectors in the flash memory 180 as if the data were not compressed (i.e., 512 bytes of non-compressed data per sector). Thus compressed data written to the first sector would appear to the host controller to fill one entire sector. In reality, the data is compressed from 512 to 256 bytes and is saved to half the sector space that would be needed for the data had it not been compressed. Thus the second packet of data, after it is compressed from 512 bytes to 256 bytes, may also be saved to the first sector. To the host controller, the second data packet, which in reality is saved to the first sector, will appear to be saved to the second sector. Similarly, the first data packet saved to second sector will appear to be saved to the third sector and the second data packet saved to the second sector will appear to be saved to the fourth sector.


Typically standard 2 bit error detection and 1 bit correction mechanisms are employed.


If there is another packet of data, then host controller 195 transmits the packet of data to USB controller 130 (step 335 and 303). Data compression engine 190 continues to compress additional packets of data stored to working buffer 165 (step 320). When there are no more data packets to be compressed, then the data compression and storage session ends.



FIG. 4 illustrates the steps by which data is retrieved from the memory 180 of the portable memory device 100 and decompressed.


In step 410, user connects the portable device 100 to a host platform 195. In step 410, upon being coupled to a host platform 195, portable device 100 may undergo the initialization procedure described previously. Host platform 195 requests services from portable device 100 by sending request packets to USB host controller 197. USB host controller 197 transmits packets through USB port 192 to USB connector 140.


Host platform 195 may send a request to portable device 100 to read data requested by user (step 420) in the form of a read command. USB controller 130 receives the read command (step 425). Read command indicates the location of the data in the flash memory 180 and number of packets of data to be read. Because host platform 195 is unaware that data is compressed, the read command will request data that is not necessarily in the sector in which the host platform 195 believes it to be. For example, as discussed previously, the second data packet, which in reality is saved to the second half of the first sector, will appear to the host controller 195 be saved to the second sector. Similarly, the first data packet saved to second sector will appear to be saved to the third sector and the second data packet saved to the second sector will appear to be saved to the fourth sector. Thus, host platform's 195 data request may indicate that a particular packet of data is stored to the second sector, where in reality, it is stored to the second half of the first sector. To account for this, micro controller 160 operates to retrieve requested data from flash memory 180 in accordance with the manner in which it was saved (step 325).


In step 430, micro controller 160 executes data compression/decompression engine 190. Compression/decompression engine 190 retrieves packets of requested data from flash memory 180 (step 445). Compression/decompression engine 190 acts to decompress dates (step 447). Decompressed data is transferred to working buffer 165 (step 450). Decompressed data is transferred to USB controller 130 (step 455). In step 460, data packet is transferred to the memory (e.g., RAM) of the host platform 195.


Data compression/decompression engine 190 continues to retrieve and decompress data from flash memory 180 until all data requested has been decompressed and transferred to host platform 195.


Alternatively, host platform 195 may send a request to portable device 100 to read directory of data stored to flash memory 180. User can then view directory on host platform 195 to determine which data user wishes to retrieve from flash memory 180.


It is to be understood that the above description is only of the preferred embodiments of the invention. One skilled in the art may devise numerous other arrangements without departing from the spirit and scope of the invention. The invention is thus limited only as defined in the accompanying claims.

Claims
  • 1. A portable data storage device comprising: a universal serial bus (USB) plug integral to the portable data storage device, the portable data storage device capable of being directly connected to a USB port of a host platform via the USB plug such that there is an immediate connection between the portable data storage device and the host platform without a cable interconnection;a non-removable flash memory having a first storage capacity;a data compression engine coupled to the non-removable flash memory;a buffer coupled to the data compression engine and configured to receive data from the host platform; anda microcontroller coupled to the data compression engine and the non-removable flash memory, the microcontroller capable of sending a message to the host platform if the ability of the buffer to store data is at a threshold,the data compression engine capable of compressing data for storage in the non-removable flash memory so that a perceived capacity of the flash memory exceeds the first storage capacity.
  • 2. The portable data storage device as in claim 1 further comprising a data decompression engine capable of decompressing data stored in the non-removable flash memory of the portable data storage device.
  • 3. The portable data storage device as in claim 1 wherein the data received from the host platform is compressed to at least 50 percent of its original size.
  • 4. The portable data storage device as in claim 1 wherein the non-removable flash memory can store therein compressed data, which when decompressed has a size that exceed the first storage capacity by at least 100%.
  • 5. The portable data storage device as in claim 1 wherein the portable data storage device is small enough to be fitted substantially in a closed fist.
  • 6. A method of compressing and storing data on a portable data storage device having a universal serial bus (USB) plug integral to the storage device, the portable data storage device capable of being directly connected to a USB port of a host platform via the USB plug such that there is an immediate connection between the portable data storage device and the host platform without a cable interconnection, the method comprising the steps of: directly connecting the portable data storage device to the USB port of the host platform via the integral USB plug such that there is an immediate connection between the portable data storage device and the host platform without a cable interconnection, the portable data storage device including a buffer and a memory having a first storage capacity;receiving data from the host platform;storing the data in the buffer;sending a message to the host platform if the ability of the buffer to store data is at a threshold;running a data compression engine residing on the portable data storage device;compressing the data stored in the buffer; andsaving the compressed data to the memory of the portable data storage device, wherein a perceived capacity of the memory exceeds the first storage capacity.
  • 7. The method as in claim 6 wherein compressing the data comprises compressing the data to at least 50 percent of its original size.
  • 8. The method as in claim 6 wherein compressing the data compresses the data such that the compressed data stored in the memory, when decompressed, has a size that exceeds the first storage capacity by at least 100%.
  • 9. The method as in claim 6 wherein the portable data storage device is small enough to be fitted substantially in a closed fist.
  • 10. A method of compressing and storing data on a portable data storage device having a universal serial bus (USB) plug integral to the portable data storage device, the portable data storage device capable of being directly connected to a USB port of a host platform via the USB plug such that there is an immediate connection between the portable data storage device and the host platform without a cable interconnection, the method comprising the steps of: connecting the portable data storage device directly to the USB port of the host platform via the integral USB plug such that there is an immediate connection between the portable data storage device and the host platform without a cable interconnection, the portable data storage device including a buffer and a memory having a first storage capacity and having stored therein compressed data, which when decompressed has a size that exceeds the first storage capacity;running a data compression/decompression engine residing on the portable data storage device;retrieving the compressed data from the memory of the portable data storage device;sequentially decompressing packets of the compressed data and sequentially storing the decompressed packets of data in the buffer; andsequentially transmitting the decompressed packets of data to the host platform.
  • 11. The method as in claim 10 wherein the portable data storage device is small enough to be fitted substantially in a closed fist.
Priority Claims (1)
Number Date Country Kind
PCT/SG02/00086 May 2002 SG national
CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. patent application Ser. No. 10/147,124 filed May 16, 2002, issued as U.S. Pat. No. 7,082,483 on Jul. 25, 2006, which claims priority to International Application No. PCT/SG02/00086 filed May 13, 2002; the contents of which are incorporated herewith by reference in their entirety. This application also is related to the following U.S. patent applications, each of which is owned by the assignee of the present invention and is incorporated by reference in its entirety herein: U.S. patent application Ser. No. 09/803,173, entitled “PORTABLE DATA STORAGE DEVICE CAPABLE OF BEING DIRECTLY CONNECTED VIA USB PLUG TO A COMPUTER”; U.S. patent application Ser. No. 09/803,157, entitled “PORTABLE DATA STORAGE DEVICE HAVING SECURE MODE OF OPERATION,” issued on Apr. 12, 2005 as U.S. Pat. No. 6,880,054; U.S. patent application Ser. No. 09/898,365, entitled “A PORTABLE DEVICE HAVING BIOMETRICS-BASED AUTHENTICATION CAPABILITIES”; and U.S. patent application Ser. No. 09/898,310, entitled “A PORTABLE DEVICE HAVING BIOMETRICS-BASED AUTHENTICATION CAPABILITIES.”

US Referenced Citations (153)
Number Name Date Kind
4853523 Talmadge Aug 1989 A
4946276 Chilcott Aug 1990 A
4988855 Iijima Jan 1991 A
5282247 McLean et al. Jan 1994 A
5291584 Challa et al. Mar 1994 A
5297148 Harari et al. Mar 1994 A
5357614 Pattisam et al. Oct 1994 A
5375243 Parzych et al. Dec 1994 A
5414425 Whiting et al. May 1995 A
5442704 Holtey Aug 1995 A
5469564 Junya Nov 1995 A
5485519 Weiss Jan 1996 A
5490096 Seto Feb 1996 A
5517014 Iijima May 1996 A
5583538 Watanabe Dec 1996 A
5588146 Leroux Dec 1996 A
5621798 Aucsmith Apr 1997 A
5623552 Lane Apr 1997 A
5646646 Inoue et al. Jul 1997 A
5655077 Jones et al. Aug 1997 A
5659705 McNutt et al. Aug 1997 A
5663901 Wallace et al. Sep 1997 A
5684742 Bublitz et al. Nov 1997 A
5760986 Morehouse et al. Jun 1998 A
5815201 Hashimoto et al. Sep 1998 A
5815252 Price-Francis Sep 1998 A
5815426 Jigour et al. Sep 1998 A
5844986 Davis Dec 1998 A
5850189 Sakanaka et al. Dec 1998 A
5867802 Borza Feb 1999 A
5890016 Tso Mar 1999 A
5920640 Salatino et al. Jul 1999 A
5928347 Jones Jul 1999 A
5931791 Saltzstein et al. Aug 1999 A
5935244 Swamy et al. Aug 1999 A
5938750 Shaberman Aug 1999 A
5943603 Parulski et al. Aug 1999 A
5949882 Angelo Sep 1999 A
5956415 McCalley et al. Sep 1999 A
5969750 Hsieh et al. Oct 1999 A
5978833 Pashley et al. Nov 1999 A
6003135 Bialick et al. Dec 1999 A
6005613 Endsley et al. Dec 1999 A
6011486 Casey Jan 2000 A
6011741 Wallace et al. Jan 2000 A
6012103 Sartore et al. Jan 2000 A
6016476 Maes et al. Jan 2000 A
6016530 Auclair et al. Jan 2000 A
6016553 Schneider et al. Jan 2000 A
6027375 Wu Feb 2000 A
6034621 Kaufman Mar 2000 A
6038320 Miller Mar 2000 A
6038640 Terme Mar 2000 A
6044428 Rayabhari Mar 2000 A
6047376 Hosoe Apr 2000 A
6058441 Shu May 2000 A
6061799 Eldridge et al. May 2000 A
6067625 Ryu May 2000 A
6087955 Gray Jul 2000 A
6088755 Kobayashi et al. Jul 2000 A
6088802 Bialick et al. Jul 2000 A
6105130 Wu et al. Aug 2000 A
6116006 Killen et al. Sep 2000 A
6125192 Bjorn et al. Sep 2000 A
6131141 Ravid Oct 2000 A
6145045 Falik et al. Nov 2000 A
6145046 Jones Nov 2000 A
6145069 Dye Nov 2000 A
6148354 Ban et al. Nov 2000 A
6151069 Dunton et al. Nov 2000 A
6151657 Sun et al. Nov 2000 A
6178508 Kaufman et al. Jan 2001 B1
6182162 Estakhri et al. Jan 2001 B1
6199122 Kobayashi Mar 2001 B1
6219439 Burger Apr 2001 B1
6286087 Ito et al. Sep 2001 B1
6300976 Fukuoka Oct 2001 B1
6304898 Shiigi Oct 2001 B1
6324537 Moran Nov 2001 B1
6330624 Cromer et al. Dec 2001 B1
6330648 Wambach et al. Dec 2001 B1
6351093 Kato et al. Feb 2002 B1
6351810 Gupta Feb 2002 B2
6361369 Kondo et al. Mar 2002 B1
6370603 Silverman et al. Apr 2002 B1
6371376 Dan Apr 2002 B1
6385667 Estakhri et al. May 2002 B1
6385677 Yao May 2002 B1
6446118 Gottlieb Sep 2002 B1
6457099 Gilbert Sep 2002 B1
6477206 Chatani Nov 2002 B1
6490163 Pua et al. Dec 2002 B1
6577337 Kang Jun 2003 B1
6618806 Brown et al. Sep 2003 B1
6618807 Wang et al. Sep 2003 B1
6628325 Steinberg et al. Sep 2003 B1
6636973 Novoa et al. Oct 2003 B1
6671808 Abbott et al. Dec 2003 B1
6725382 Thompson et al. Apr 2004 B1
6732278 Baird, III et al. May 2004 B2
6748541 Margalit et al. Jun 2004 B1
6753921 Shimizu Jun 2004 B1
6763399 Margalit et al. Jul 2004 B2
6766456 McKeeth Jul 2004 B1
6786417 Kondo et al. Sep 2004 B1
6799275 Bjorn Sep 2004 B1
6829672 Deng et al. Dec 2004 B1
6848045 Long et al. Jan 2005 B2
6880054 Cheng et al. Apr 2005 B2
6970183 Monroe Nov 2005 B1
6976075 Ma Dec 2005 B2
6986030 Shumueli et al. Jan 2006 B2
6992721 Kambayashi et al. Jan 2006 B1
7036738 Vanzini et al. May 2006 B1
7039759 Cheng et al. May 2006 B2
7111324 Elteto Sep 2006 B2
20010009439 Hwang Jul 2001 A1
20010016845 Tribbensee Aug 2001 A1
20010029583 Palatov et al. Oct 2001 A1
20010030827 Morohashi Oct 2001 A1
20010047441 Robertson Nov 2001 A1
20010048409 Kim Dec 2001 A1
20010052541 Kang et al. Dec 2001 A1
20020010857 Karthik Jan 2002 A1
20020029343 Kurita Mar 2002 A1
20020065083 Patel May 2002 A1
20020069237 Ehara Jun 2002 A1
20020073234 Ma et al. Jun 2002 A1
20020106933 Lee Aug 2002 A1
20020107046 Davis Aug 2002 A1
20020116565 Wang et al. Aug 2002 A1
20020131397 Patel et al. Sep 2002 A1
20020145507 Foster Oct 2002 A1
20020147882 Pua et al. Oct 2002 A1
20020151216 Wei Oct 2002 A1
20020167546 Kimbell et al. Nov 2002 A1
20020174287 Cheng Nov 2002 A1
20020174348 Ting Nov 2002 A1
20020194414 Bateman et al. Dec 2002 A1
20030063196 Palatov et al. Apr 2003 A1
20030103369 Wu Jun 2003 A1
20030110371 Yang Jun 2003 A1
20030115415 Want et al. Jun 2003 A1
20030122839 Matraszek Jul 2003 A1
20030157959 Makela Aug 2003 A1
20030163634 Kim Aug 2003 A1
20040025031 Ooi et al. Feb 2004 A1
20040049589 Papanikolaou Mar 2004 A1
20040098598 Wolfram May 2004 A1
20040179588 Kuffner et al. Sep 2004 A1
20040236980 Chen Nov 2004 A1
20050235148 Scheidt et al. Oct 2005 A1
20060230202 Lee Oct 2006 A1
Foreign Referenced Citations (152)
Number Date Country
2334113 Oct 2000 CA
1291750 Apr 2001 CN
99117225.6 Apr 2001 CN
37 06 466 Sep 1988 DE
195 36 206 Apr 1996 DE
196 45 937 May 1998 DE
197 12 053 Sep 1998 DE
100 57 697 May 2002 DE
0 152 024 Aug 1985 EP
0 674 290 Sep 1995 EP
0 703 544 Mar 1996 EP
0 856 818 May 1998 EP
0 856 818 May 1998 EP
0 883 083 Dec 1998 EP
0 883 084 Dec 1998 EP
0 917 060 May 1999 EP
0 923 018 Jun 1999 EP
0 924 656 Jun 1999 EP
0 924 657 Jun 1999 EP
0 929 043 Jul 1999 EP
0 945 777 Sep 1999 EP
1 006 479 Oct 1999 EP
1 030 494 Aug 2000 EP
1 077 399 Feb 2001 EP
1 085 521 Mar 2001 EP
1 093 048 Apr 2001 EP
1 100 000 May 2001 EP
0 912 939 Sep 2001 EP
1 139 224 Oct 2001 EP
1 152 324 Nov 2001 EP
1 156 697 Nov 2001 EP
1 158 763 Nov 2001 EP
1 215 876 Jun 2002 EP
1 215 877 Jun 2002 EP
1 215 877 Jun 2002 EP
1 146 559 Mar 2006 EP
2 197 734 May 1988 GB
2 204 971 Nov 1988 GB
2 312 040 Oct 1997 GB
2 354 612 Mar 2001 GB
2 361 558 Oct 2001 GB
64-048151 Feb 1989 JP
08-263631 Oct 1996 JP
09-069067 Mar 1997 JP
9-297844 Nov 1997 JP
10-003532 Jan 1998 JP
10-269145 Oct 1998 JP
10-283292 Oct 1998 JP
11-053060 Feb 1999 JP
11-143760 May 1999 JP
11-184992 Jul 1999 JP
11-265324 Sep 1999 JP
11-266384 Sep 1999 JP
2000-048177 Feb 2000 JP
2000-181963 Jun 2000 JP
2000-200123 Jul 2000 JP
2000-200248 Jul 2000 JP
2000-207835 Jul 2000 JP
2000-209534 Jul 2000 JP
2000-231558 Aug 2000 JP
2000-244796 Sep 2000 JP
2001-249693 Sep 2000 JP
2000-307911 Nov 2000 JP
2000-331166 Nov 2000 JP
2000-350174 Dec 2000 JP
2001-059701 Mar 2001 JP
2001-069260 Mar 2001 JP
2001-069390 Mar 2001 JP
2001-118046 Apr 2001 JP
2001-128113 May 2001 JP
2001-143052 May 2001 JP
2001-338358 Jul 2001 JP
2001-216099 Aug 2001 JP
2001-242965 Sep 2001 JP
2001-249901 Sep 2001 JP
2001-290753 Oct 2001 JP
2001-344173 Dec 2001 JP
2001-346075 Dec 2001 JP
2002-041247 Feb 2002 JP
2002-092367 Mar 2002 JP
2002-108823 Apr 2002 JP
2002-157195 May 2002 JP
2002-185444 Jun 2002 JP
2002-222022 Aug 2002 JP
2002-232769 Aug 2002 JP
2002-359763 Dec 2002 JP
2003-186782 Jul 2003 JP
2005-167965 Jun 2005 JP
2006-030326 Feb 2006 JP
1999-0018244 Mar 1999 KR
1999-0062951 Jul 1999 KR
2000-0009757 Feb 2000 KR
2000-0054614 Sep 2000 KR
2000-0061817 Oct 2000 KR
2001-0044238 Jun 2001 KR
2001-0067730 Jul 2001 KR
2001-0074291 Aug 2001 KR
2001-0097886 Nov 2001 KR
2002-0014193 Feb 2002 KR
2002-0085497 Nov 2002 KR
329369 Oct 1997 NZ
431101 Apr 2001 TW
439377 Jun 2001 TW
446851 Jul 2001 TW
453071 Sep 2001 TW
WO 8707063 Nov 1987 WO
WO 8912287 Dec 1989 WO
WO 94012938 Jun 1994 WO
WO 9516238 Jun 1995 WO
WO 9734252 Sep 1997 WO
WO 9739549 Oct 1997 WO
WO 9807255 Feb 1998 WO
WO 9812670 Mar 1998 WO
WO 9813791 Apr 1998 WO
WO 9838567 Sep 1998 WO
WO 9908238 Feb 1999 WO
WO 9913434 Mar 1999 WO
WO 9916024 Apr 1999 WO
WO 9928701 Jun 1999 WO
WO 9940723 Aug 1999 WO
WO 9945460 Sep 1999 WO
9952236 Oct 1999 WO
WO 9956236 Nov 1999 WO
WO 9956429 Nov 1999 WO
WO 9960786 Nov 1999 WO
WO 9963476 Dec 1999 WO
WO 0003316 Jan 2000 WO
WO 0007387 Feb 2000 WO
WO 0014987 Mar 2000 WO
WO 0019294 Apr 2000 WO
WO 0022774 Apr 2000 WO
0028539 May 2000 WO
WO 0028471 May 2000 WO
WO 0042491 Jul 2000 WO
0045696 Aug 2000 WO
WO 0048135 Aug 2000 WO
WO 0055707 Sep 2000 WO
WO 0060476 Oct 2000 WO
WO 0067098 Nov 2000 WO
WO 0106786 Jan 2001 WO
WO 0108055 Feb 2001 WO
WO 0109845 Feb 2001 WO
0115440 Mar 2001 WO
WO 0116917 Mar 2001 WO
WO 0122351 Mar 2001 WO
WO 0123987 Apr 2001 WO
WO 0131577 May 2001 WO
WO 0133317 May 2001 WO
WO 0148612 Jul 2001 WO
WO 0161692 Aug 2001 WO
WO 0173570 Oct 2001 WO
WO 0186640 Nov 2001 WO
Related Publications (1)
Number Date Country
20060259652 A1 Nov 2006 US
Continuations (1)
Number Date Country
Parent 10147124 May 2002 US
Child 11459627 US