Adjusting access of non-volatile semiconductor memory based on access time

Information

  • Patent Grant
  • 10079048
  • Patent Number
    10,079,048
  • Date Filed
    Tuesday, March 24, 2009
    15 years ago
  • Date Issued
    Tuesday, September 18, 2018
    5 years ago
Abstract
A non-volatile semiconductor memory is disclosed comprising a first memory device and control circuitry operable to issue an access command to the first memory device. A command status is requested from the first memory device after a status delay. When the command status indicates the first memory device has completed the command, a first access time of the memory device is measured. An access sequence of the first memory device is then modified in response to the access time.
Description
BACKGROUND
Description of the Related Art

A non-volatile semiconductor memory may be employed as mass storage for a computer system (e.g., desktop, laptop, portable, etc.) or a consumer device (e.g., music player, cell phone, camera, etc.) or other suitable application. The non-volatile semiconductor memory may comprise one or more memory devices (such as a flash memory) and control circuitry for accessing each memory device. Each memory device is coupled to an address bus and a data bus, as well as a number of interface control lines. When issuing a write command or an erase command to a memory device, the control circuitry configures the address bus and control lines, and then transfers command data (and user data for a write operation) over the data bus. After receiving the command, the memory device executes the command internally over an “access time”. To determine when the memory device is finished executing the command, the control circuitry typically polls the memory device by issuing a “command status” request wherein the memory device transmits the contents of a command status register to the control circuitry.



FIG. 1A illustrates a problem with the prior art sequence for writing or erasing a memory device. The waveform of FIG. 1A represents the ready/busy line of the memory device. After transferring (serial data in) the command data (and user data for a write operation), the control circuitry delays for a predetermined time (STATUS_DELAY) and then begins polling the memory device for the command status register. When the command status register indicates the previous command has completed successfully, the control circuitry may transmit a next command to the memory device. Depending on the speed of the particular memory device, the status delay time (STATUS_DELAY) may be significantly shorter than the actual access time, and therefore the control circuitry may begin polling for the status command register well before the memory device has finished processing the command. This may be undesirable since excessive polling for the status command register consumes power in battery operated host devices.



FIG. 1B illustrates another problem with the prior art sequence when writing to a first and second memory device over single channel. In the example shown in FIG. 1B, the second memory device has a shorter access time than the first memory device. After transmitting command data to the first memory device, command data is immediately transmitted to the second memory device during the access time of the first memory device. When the command status register of the first memory device indicates the command has completed successfully, a next command is transmitted to the first memory device. However, while transferring the next command to the first memory device, the second memory device may also be ready to receive a next command but must wait for the control circuitry to finish transmitting the next command to the first memory device (i.e., there is a collision in accessing the shared bus). This WAIT TIME shown in FIG. 1B is undesirable because it reduces the overall performance (throughput) of the non-volatile semiconductor memory.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A illustrates a prior art access of a memory device wherein a status delay may be significantly shorter than the access time which increases the number of command status requests sent to the memory device.



FIG. 1B illustrates a prior art access of two memory devices over a shared bus wherein a collision may occur due to the different access times of the memory devices.



FIG. 2A shows a non-volatile semiconductor memory according to an embodiment of the present invention comprising a first and second memory device accessed by control circuitry.



FIG. 2B is a flow diagram executed by the control circuitry according to an embodiment of the present invention wherein the access time of the memory devices is measured in order to modify an access sequence of the memory devices.



FIG. 3A shows a prior art erase operation of a memory device wherein a status delay is significantly shorter than the access time which increases the number of command status requests sent to the memory device.



FIG. 3B illustrates an embodiment of the present invention wherein the access sequence of the memory devices is modified by adjusting the status delay in response to the measured access times, thereby reducing the number of command status requests sent to the memory devices.



FIG. 3C illustrates an embodiment of the present invention wherein the access sequence of the memory devices is modified by modifying an order in which commands are transmitted to the memory devices, thereby improving performance by reducing or avoiding wait times due to collisions.



FIG. 4 is a flow diagram according to an embodiment of the present invention wherein the access sequence of the memory devices is modified by adjusting the status delay in response to the measured access times.



FIG. 5 is a flow diagram according to an embodiment of the present invention wherein the access sequence of the memory devices is modified by modifying an order in which commands are transmitted to the memory devices.



FIG. 6A shows an embodiment of the present invention wherein the control circuitry accesses each memory device over a separate, dedicated bus.



FIG. 6B shows an embodiment of the present invention wherein the control circuitry accesses each memory device over a shared bus.





DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION


FIG. 2A shows a non-volatile semiconductor memory 2 according to an embodiment of the present invention comprising a first memory device 4A and control circuitry 6 operable to execute the flow diagram shown in FIG. 2B. An access command is issued to the first memory device (step 8). A command status is requested from the first memory device after a status delay (step 10). When the command status indicates the first memory device has completed the command (step 12), a first access time of the memory device is measured (step 14). An access sequence of the first memory device is then modified in response to the access time (step 16).


The memory device 4A in the embodiment of FIG. 2A may comprise any suitable device, such as a NAND flash memory. A typical NAND flash memory is accessed by transmitting a corresponding address and transmitting/receiving data over an address/data bus (ADDR/DATA), and asserting appropriate control lines (e.g., address latch enable (ALE), command latch enable (CLE), chip enable (CE), etc.). In the embodiment of FIG. 2A, the non-volatile semiconductor memory 2 comprises multiple memory devices (e.g., 4A, and 4B) which are accessed by the control circuitry 6 by transmitting the appropriate address over the address/data bus (which may be a parallel or serial bus). In one embodiment, the control circuitry 6 measures the access time of each memory device in FIG. 2B by initializing a counter (step 18) which is incremented (step 20) until the access time of all of the memory devices has been measured (step 22).



FIG. 3A shows a prior art erase operation of a memory device wherein after transmitting an erase command, the control circuitry waits for a nominal status delay and then begins polling the memory device by requesting a command status from the memory device. However, the nominal status delay may be significantly shorter than the actual access time of the memory device, and therefore the control circuitry may begin polling for the command status sooner than needed resulting in undesirable power dissipation. In an embodiment of the present invention shown in FIG. 3B, the control circuitry measures the access time of the memory device and then modifies the access sequence of the memory device by adjusting the status delay in response to the access time. In this manner, the control circuitry begins polling for the command status at a more optimal time, which reduces power consumption by reducing the number of requests for the command status as illustrated in FIG. 3B.


In one embodiment, the access time needed to perform an erase command is different from the access time needed to perform a write command. Accordingly, in one embodiment the status delay is optimized relative to different types of access commands (e.g., a status delay optimized for erase commands and a status delay optimized for write commands).



FIG. 3C shows an embodiment of the present invention wherein the access sequence of the memory devices is modified by selecting an order in which write commands are transmitted in response to the access times. For example, in one embodiment data is written to the memory devices using a “striping” technique so as to optimize performance. The data blocks of a write command are stored sequentially, one block at a time to each of the selected memory devices in a particular order. In this manner, the access times of each memory devices can overlap while concurrently processing the write commands rather than storing each block sequentially to an individual memory device which would require the control circuitry to wait for the access time of the memory device before transmitting the next data block.


In the example of FIG. 3C, the second memory device has a shorter access time than the first memory device, and therefore a first write command and corresponding data block is transmitted to the second memory device. During the access time of the second memory device, the control circuitry transmits a second write command and corresponding data block to the first memory device. When the second memory device is finished processing the first write command, it can immediately receive a new write command from the control circuitry 6. Similarly, when the first memory device is finished processing the second write command, it can immediately receive a new write command from the control circuitry. Accordingly, this embodiment may reduce or eliminate the wait time shown in the prior art order of FIG. 1B by reducing or avoiding collisions when attempting to access two or more of the memory devices over the shared bus at the same time.



FIG. 4 is a flow diagram according to an embodiment of the present invention which extends on the flow diagram of FIG. 2B, wherein the step of modifying the access sequence of the memory device (step 16 of FIG. 2B) comprises adjusting the status delay for the memory device (step 24) as illustrated in FIG. 3B. FIG. 5 is a flow diagram according to an embodiment of the present invention which extends on the flow diagram of FIG. 2B, wherein the step of modifying the access sequence of the memory device (step 16 of FIG. 2B) comprises modifying an order in which commands are transmitted to the memory device (step 26) as illustrated in FIG. 3C.



FIG. 6A shows a non-volatile semiconductor memory 2 according an embodiment of the present invention wherein the control circuitry 6 accesses each memory device (e.g., 4A and 4B) over separate, dedicated buses 28A and 28B. In this embodiment it's unnecessary to order the transmitted commands relative to the access times since there is never a collision attempting to simultaneously access a shared bus. However, this embodiment still benefits from optimizing the status delay in order to minimize the number of requests for the command status as illustrated in FIG. 3B.



FIG. 6B shows a non-volatile semiconductor memory 2 according an embodiment of the present invention wherein the control circuitry 6 accesses each memory device (e.g., 4A and 4B) over a shared bus 28. Sharing the bus 28 is illustrated conceptually in FIG. 6B as configuring a multiplexer 30 to access a desired memory device. However, sharing the bus may be implemented in any suitable manner, such as a wired-OR implementation with dedicated chip enable (CE) lines that enable the desired memory device being accessed. This embodiment benefits both from optimizing the status delay to reduce the number of command status requests, as well as ordering the transmitted commands relative to the access times in order to reduce or avoid collisions.


The process of measuring the access times of each memory device and modifying the access sequence may be performed at any suitable time. In one embodiment, the access times are measured and the access sequence modified during a manufacturing procedure of the non-volatile semiconductor memory. In other embodiments, the access times may vary over the lifetime of the non-volatile semiconductor memory 2 and/or affected by environmental conditions, such as temperature. Therefore, in one embodiment the access times may be measured whenever the non-volatile semiconductor memory is powered on, or measured periodically over the lifetime of the non-volatile semiconductor memory, or measured in response to detected changes in environmental conditions, or measured in response to a command received from a host system.


The non-volatile semiconductor memory 2 of the present invention may be employed in any suitable application, such as in a solid state disk drive (SSD), or in a memory card or memory stick. In addition, the non-volatile semiconductor memory 2 may employ any suitable memory devices 4A and 4B that may exhibit different access times (e.g., different access times for erase commands and/or for write commands).

Claims
  • 1. A non-volatile semiconductor memory comprising a first memory device, a second memory device, and control circuitry operable to: measure a first access time of the first memory device following issuance of a first access command to the first memory device;measure a second access time of the second memory device following issuance of a second access command to the second memory device, wherein the second access command is issued after the first access command according to an access order of the first and second memory devices, wherein the access order defines a sequence of accessing the first and second memory devices for consecutive access commands;modify the access order of the first and second memory devices for subsequent consecutive access commands based on the measured first and second access times; andset a delay period of the subsequent consecutive access command associated with the first memory device, wherein the delay period is based on the first access time and indicates when a polling for a status of the subsequent consecutive access command begins after the subsequent consecutive access command is issued.
  • 2. The non-volatile semiconductor memory as recited in claim 1, wherein the control circuitry is further operable to access the first and second memory devices over a shared bus.
  • 3. The non-volatile semiconductor memory as recited in claim 2, wherein the control circuitry is further operable to modify the access order of the first and second memory devices for subsequent access commands by modifying an order in which the control circuitry transmits access commands to the first and second memory devices over the shared bus.
  • 4. The non-volatile semiconductor memory as recited in claim 3, wherein the control circuitry is further operable to: first select one of the first and second memory devices in response to the first and second access times;transmit a third access command to the first selected memory device;second select a different one of the first and second memory devices in response to the first and second access times; andafter transmitting the third access command to the first selected memory device and during an access time associated with the first selected memory device for the third access command, transmit a fourth access command to the second selected memory device.
  • 5. The non-volatile semiconductor memory as recited in claim 4, wherein the access time of the first selected memory device is less than the access time of the second selected memory device.
  • 6. A method of operating a non-volatile semiconductor memory comprising a first memory device and a second memory device, the method comprising: issuing an access command to the first memory device;requesting a command status from the first memory device after a status delay;when the command status indicates the first memory device has completed the access command, measuring a first access time of the first memory device;measuring a second access time of the second memory device;modifying, based on the first and second access times, an order in which subsequent access commands are issued to the first and second memory devices such that the first memory device is before the second memory device in the order if the first access time is less than the second access time and the second memory device is before the first memory device in the order if the second access time is less than the first access time, wherein the order defines a sequence of accessing the first and second memory devices for consecutive access commands; andsetting a delay period of the subsequent consecutive access command associated with the first memory device, wherein the delay period is based on the first access time and indicates when a polling for a status of the subsequent consecutive access command begins after the subsequent consecutive access command is issued.
  • 7. The method as recited in claim 6, further comprising accessing the first and second memory devices over a shared bus.
  • 8. The method as recited in claim 7, further comprising modifying the order in which the subsequent access commands are issued to the first and second memory devices by modifying an order in which commands are transmitted to the first and second memory devices over the shared bus.
  • 9. The method as recited in claim 8, further comprising: first selecting one of the first and second memory devices in response to the first and second access times;transmitting a third access command to the first selected memory device;second selecting a different one of the first and second memory devices in response to the first and second access times; andafter transmitting the third access command to the first selected memory device and during an access time associated with the first selected memory device for the third access command, transmitting a fourth access command to the second selected memory device.
  • 10. The method as recited in claim 9, wherein the access time of the first selected memory device is less than the access time of the second selected memory device.
  • 11. The non-volatile semiconductor memory as recited in claim 1, wherein modifying the access order further comprises: modify the access order such that the first memory device is before the second memory device if the first access time is less than the second access time; andmodify the access order such that the second memory device is before the first memory device if the second access time is less than the first access time.
  • 12. A method comprising: determining a first access sequence for a first memory device and a second memory device, wherein the first memory device is before the second memory device in the first access sequence;determining a first access time of the first memory device;determining a second access time of the second memory device;determining that the second access time is less than the first access time; modifying, in response to determining the second access time is less than the first access time, the first access sequence to a second access sequence, wherein the second memory device is before the first memory device in the second access sequence, and the second access sequence defines a sequence of accessing the first and second memory devices for consecutive access commands; andsetting a delay period of the consecutive access command associated with the first memory device, wherein the delay period is based on the first access time and indicates when a polling for a status of the consecutive access command begins after the consecutive access command is issued.
US Referenced Citations (183)
Number Name Date Kind
4644494 Muller Feb 1987 A
4937736 Chang et al. Jun 1990 A
5018096 Aoyama May 1991 A
5640529 Hasbun Jun 1997 A
5768189 Takahashi Jun 1998 A
5781783 Gunther et al. Jul 1998 A
5860137 Raz et al. Jan 1999 A
5929590 Tang Jul 1999 A
6052799 Li et al. Apr 2000 A
6134631 Jennings, III Oct 2000 A
6173360 Beardsley et al. Jan 2001 B1
6286087 Ito et al. Sep 2001 B1
6324627 Kricheff et al. Nov 2001 B1
6484229 Ichikawa et al. Nov 2002 B1
6633963 Ellison et al. Oct 2003 B1
6640268 Kumar Oct 2003 B1
6661724 Snyder et al. Dec 2003 B1
6694381 Lo et al. Feb 2004 B1
6792519 Constable et al. Sep 2004 B2
6856556 Hajeck Feb 2005 B1
6968434 Kamano et al. Nov 2005 B2
7003644 Heath et al. Feb 2006 B2
7024410 Ito et al. Apr 2006 B2
7114051 Guu et al. Sep 2006 B2
7126857 Hajeck Oct 2006 B2
7139871 Mizuno Nov 2006 B2
7139890 Moran et al. Nov 2006 B2
7149046 Coker et al. Dec 2006 B1
7170788 Wan et al. Jan 2007 B1
7213117 Wakabayash et al. May 2007 B2
7224604 Lasser May 2007 B2
7287118 Chang et al. Oct 2007 B2
7307881 Chen et al. Dec 2007 B2
7315917 Bennett et al. Jan 2008 B2
7330954 Nangle Feb 2008 B2
7408804 Hemink et al. Aug 2008 B2
7430136 Merry, Jr. et al. Sep 2008 B2
7441067 Gorobets et al. Oct 2008 B2
7447807 Merry et al. Nov 2008 B1
7450436 Salessi et al. Nov 2008 B2
7467253 Yero Dec 2008 B2
7502256 Merry, Jr. et al. Mar 2009 B2
7509441 Merry et al. Mar 2009 B1
7515471 Oh et al. Apr 2009 B2
7596643 Merry, Jr. et al. Sep 2009 B2
7609565 Lee Oct 2009 B2
7653778 Merry, Jr. et al. Jan 2010 B2
7654466 Maeda et al. Feb 2010 B2
7685337 Merry, Jr. et al. Mar 2010 B2
7685338 Merry, Jr. et al. Mar 2010 B2
7685374 Diggs et al. Mar 2010 B2
7733712 Walston et al. Jun 2010 B1
7765373 Merry et al. Jul 2010 B1
7898855 Merry, Jr. et al. Mar 2011 B2
7912991 Merry et al. Mar 2011 B1
7936603 Merry, Jr. et al. May 2011 B2
7962792 Diggs et al. Jun 2011 B2
8078918 Diggs et al. Dec 2011 B2
8090899 Syu Jan 2012 B1
8095851 Diggs et al. Jan 2012 B2
8108692 Merry et al. Jan 2012 B1
8122185 Merry, Jr. et al. Feb 2012 B2
8127048 Merry et al. Feb 2012 B1
8135903 Kan Mar 2012 B1
8151020 Merry, Jr. et al. Apr 2012 B2
8161227 Diggs et al. Apr 2012 B1
8166245 Diggs et al. Apr 2012 B2
8243525 Kan Aug 2012 B1
8254172 Kan Aug 2012 B1
8261012 Kan Sep 2012 B2
8296625 Diggs et al. Oct 2012 B2
8312207 Merry, Jr. et al. Nov 2012 B2
8316176 Phan et al. Nov 2012 B1
8341339 Boyle et al. Dec 2012 B1
8375151 Kan Feb 2013 B1
8392635 Booth et al. Mar 2013 B2
8397107 Syu et al. Mar 2013 B1
8407449 Colon et al. Mar 2013 B1
8423722 Deforest et al. Apr 2013 B1
8433858 Diggs et al. Apr 2013 B1
8443167 Fallone et al. May 2013 B1
8447920 Syu May 2013 B1
8458435 Rainey, III et al. Jun 2013 B1
8478930 Syu Jul 2013 B1
8489854 Colon et al. Jul 2013 B1
8503237 Horn Aug 2013 B1
8521972 Boyle et al. Aug 2013 B1
8549236 Diggs et al. Oct 2013 B2
8583835 Kan Nov 2013 B1
8601311 Horn Dec 2013 B2
8601313 Horn Dec 2013 B1
8612669 Syu et al. Dec 2013 B1
8612804 Kang et al. Dec 2013 B1
8615681 Horn Dec 2013 B2
8638602 Horn Jan 2014 B1
8639872 Boyle et al. Jan 2014 B1
8683113 Abasto et al. Mar 2014 B2
8700834 Horn et al. Apr 2014 B2
8700950 Syu Apr 2014 B1
8700951 Call et al. Apr 2014 B1
8706985 Boyle et al. Apr 2014 B1
8707104 Jean Apr 2014 B1
8713066 Lo et al. Apr 2014 B1
8713357 Jean et al. Apr 2014 B1
8719531 Strange et al. May 2014 B2
8724422 Agness et al. May 2014 B1
8725931 Kang May 2014 B1
8745277 Kan Jun 2014 B2
8751728 Syu et al. Jun 2014 B1
8769190 Syu et al. Jul 2014 B1
8769232 Suryabudi et al. Jul 2014 B2
8775720 Meyer et al. Jul 2014 B1
8782327 Kang et al. Jul 2014 B1
8788778 Boyle Jul 2014 B1
8788779 Horn Jul 2014 B1
8788880 Gosla et al. Jul 2014 B1
8793429 Call et al. Jul 2014 B1
8825940 Diggs Sep 2014 B1
20020073272 Ko et al. Jun 2002 A1
20030110263 Shillo Jun 2003 A1
20030149918 Takaichi Aug 2003 A1
20030162549 Carlsson Aug 2003 A1
20030163633 Aasheim et al. Aug 2003 A1
20030182496 Yoo Sep 2003 A1
20030188092 Heath et al. Oct 2003 A1
20040015653 Trantham Jan 2004 A1
20050160195 Bruner et al. Jul 2005 A1
20050196165 Dybsetter et al. Sep 2005 A1
20060095699 Kobayashi et al. May 2006 A1
20060143426 Wu Jun 2006 A1
20060184736 Benhase et al. Aug 2006 A1
20060190696 Ito et al. Aug 2006 A1
20060236392 Thomas et al. Oct 2006 A1
20060294338 Fisher et al. Dec 2006 A1
20070033362 Sinclair Feb 2007 A1
20070050536 Kolokowsky Mar 2007 A1
20070079065 Bonella et al. Apr 2007 A1
20070079097 Karnowski et al. Apr 2007 A1
20070136553 Sinclair Jun 2007 A1
20070192538 Dawkins Aug 2007 A1
20070208604 Purohit et al. Sep 2007 A1
20070233939 Kim Oct 2007 A1
20070245065 Kagan et al. Oct 2007 A1
20070247933 Kagan Oct 2007 A1
20080019189 Lin Jan 2008 A1
20080019196 Lin Jan 2008 A1
20080082726 Elhamias Apr 2008 A1
20080091872 Bennett et al. Apr 2008 A1
20080098164 Lee et al. Apr 2008 A1
20080126449 Haitsma May 2008 A1
20080162798 Lofgren et al. Jul 2008 A1
20080270678 Cornwell et al. Oct 2008 A1
20080282024 Biswas et al. Nov 2008 A1
20080294813 Gorobets Nov 2008 A1
20090089492 Yoon et al. Apr 2009 A1
20090091979 Shalvi Apr 2009 A1
20090125782 Josefiak et al. May 2009 A1
20090138654 Sutardja May 2009 A1
20090150599 Bennett Jun 2009 A1
20090172213 Jayachandran et al. Jul 2009 A1
20090204853 Diggs et al. Aug 2009 A1
20100061152 De Caro et al. Mar 2010 A1
20100174849 Walston et al. Jul 2010 A1
20100250793 Syu Sep 2010 A1
20110099323 Syu Apr 2011 A1
20110191526 Haukness et al. Aug 2011 A1
20110283049 Kang et al. Nov 2011 A1
20120260020 Suryabudi et al. Oct 2012 A1
20120278531 Horn Nov 2012 A1
20120284460 Guda Nov 2012 A1
20120324191 Strange et al. Dec 2012 A1
20130132638 Horn et al. May 2013 A1
20130145106 Kan Jun 2013 A1
20130290793 Booth et al. Oct 2013 A1
20140059405 Syu et al. Feb 2014 A1
20140101369 Tomlin et al. Apr 2014 A1
20140115427 Lu Apr 2014 A1
20140133220 Danilak et al. May 2014 A1
20140136753 Tomlin et al. May 2014 A1
20140149826 Lu et al. May 2014 A1
20140157078 Danilak et al. Jun 2014 A1
20140181432 Horn Jun 2014 A1
20140223255 Lu et al. Aug 2014 A1
Foreign Referenced Citations (3)
Number Date Country
1662886 Aug 2005 CN
1761935 Apr 2006 CN
1985239 Jun 2007 CN
Non-Patent Literature Citations (27)
Entry
MICRON Technical Note, “NAND Flash 101: An Introduction to NAND Flash and How to Design it in to Your Next Product”, TN-29-19, Nov. 2006, http://download.micron.com/pdf/technotes/nand/tn2919.pdf, pp. 1-28.
U.S. Appl. No. 12/326,780 to Mark S. Diggs, et al., filed Dec. 2, 2008.
U.S. Appl. No. 12/350,180 to Wesley Walston, et al., filed Jan. 7, 2009.
Second Office Action dated Jun. 26, 2014 from Chinese Patent Application No. 201010134420.0 filed Feb. 24, 2014 and English Translation, 8 pages.
Office Action dated Oct. 12, 2011 from U.S. Appl. No. 12/350,180, 22 pages.
Office Action dated Mar. 20, 2012 from U.S. Appl. No. 12/326,780, 33 pages.
Office Action dated Jun. 1, 2012 from U.S. Appl. No. 12/350,180, 22 pages.
Office Action dated Nov. 5, 2012 from U.S. Appl. No. 12/350,180, 11 pages.
Office Action dated Nov. 30, 2012 from U.S. Appl. No. 12/326,780, 46 pages.
Advisory Action dated May 22, 2013 from U.S. Appl. No. 12/326,780, 11 pages.
Office Action dated Oct. 8, 2013 from Chinese Patent Application No. 201010134420.0, filed Mar. 16, 2010, 16 pages.
Office Action dated Jan. 30, 2014 from U.S. Appl. No. 12/350,180, 20 pages.
Notice of Allowance dated Dec. 11, 2013 from U.S. Appl. No. 12/326,780, 15 pages.
Office Action dated Jul. 25, 2013 from Chinese Patent Application No. 201010134420.0 filed Jan. 7, 2010 and English translation of The State Intellectual Property Office of P.R.C. Search Report, 20 pages.
Office Action dated Apr. 15, 2014 from Chinese Patent Application No. 201010134420.0 filed Jan. 7, 2010 and English translation of The State Intellectual Property Office of P.R.C. Search Report, 13 pages.
Interview Summary dated Sep. 2, 2011 from U.S. Appl. No. 12/326,780, 3 pages.
Office Action dated Apr. 7, 2011 from U.S. Appl. No. 12/350,180, 22 pages.
Office Action dated May 25, 2011 from U.S. Appl. No. 12/326,780, 37 pgs.
Office Action dated Nov. 8, 2011 from U.S. Appl. No. 12/326,780, 39 pgs.
Notice of Allowance dated Apr. 25, 2014 from U.S. Appl. No. 12/326,780, 10 pgs.
Interview Summary dated Jun. 30, 2014 from U.S. Appl. No. 12/350,180, 3 pgs.
Interview Summary dated Dec. 24, 2014 from U.S. Appl. No. 12/350,180, 3 pgs.
Third Office Action dated Dec. 16, 2014 from Chinese Patent Application No. 201010002144.2, filed Jan. 7, 2010, 11 pages.
Notice of Allowance dated Jan. 13, 2015, from U.S. Appl. No. 12/350,180, 9 pgs.
Final Office Action dated Aug. 5, 2014 from U.S. Appl. No. 12/350,180, 17 pages.
Notice of Allowance dated Apr. 23, 2015 from U.S. Appl. No. 12/350,180, 26 pages.
Interview Summary dated Jan. 9, 2012 from U.S. Appl. No. 12/350,180, 3 pages.
Related Publications (1)
Number Date Country
20100250793 A1 Sep 2010 US