Exemplary embodiments disclosed herein pertain to digital memory used in digital electronic devices. More particularly, exemplary embodiments disclosed herein pertain to flash memory devices.
Computers use RAM to hold the program code and data during computation. Many types of RAM are volatile, which means that unlike some other forms of computer storage, such as disk storage and tape storage, they lose all data when the computer is powered down.
Non-Volatile Memory (NVM) is a type of computer memory which does not lose its information when power is turned off. NVM is used in computer systems, routers and other electronic devices to store settings which must survive a power cycle (like number of disks and memory configuration). One example is the magnetic core memory that was used in the 1950s and 1960s.
The many types of NVM under development are based on various technologies, such as carbon nanotube technology, magnetic RAM (MRAM) based on the magnetic tunnel effect, Ovonic PCM Memory based on phase-change technology, and FeRAM based on the ferroelectric effect. Today, most NVM is Flash memory based on Floating Gate technology, and is used primarily in cell phones, digital cameras and portable MP3 players.
Flash memory is non-volatile, which means that it does not need power to maintain the information stored in the chip. In addition, flash memory offers fast read access times (though not as fast as volatile DRAM memory used for main memory in PCs) and better shock resistance than hard disks. These characteristics explain the popularity of flash memory for applications such as storage on battery-powered devices.
The first flash memory products stored information in an array of floating gate transistors, called “cells”, each of which traditionally stored one bit of information. Newer flash memory devices, sometimes referred to as multi-level cell (MLC) devices, can store more than 1 bit per cell, by varying the number of electrons placed on the floating gate of a cell.
Typical computer memory endurance requirement is 10,000 to 1,000,000 program/erase cycles. In some memory devices, called EEPROM, each program operation programs one byte (8 bits) in parallel, and each erase operation erases one page (about 1024 bytes) in parallel. In other memory devices, such as Flash memories, the erase operation erases an entire sector, called “Erase Sector” or “Block”. An erase sector may contain typically 64 or 128 pages.
Another feature characteristic of Flash memories is that each program/erase cycle starts by erasing an entire erase sector, setting the value of all bits to “1”, and then programming to “0” the specific bits that need to carry that respective information.
Because of the particular characteristics of flash memory, it is best used with specifically designed file systems which spread writes over the media and deal with the long erase times of flash blocks. The basic concept behind flash file systems is: when the flash store is to be updated, the file system will write a new copy of the changed data over to a fresh block, remap the file pointers, then erase the old block later when it has time.
One limitation of flash memory is that although it can be read or programmed a byte or a word at a time in a random access fashion, it must be erased a “block” or “sector” at a time. Starting with a freshly erased block, any byte within that block can be programmed. However, once a byte has been programmed, it cannot be changed again until the entire block is erased. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer random-access rewrite or erase operations.
When compared to a hard disk drive, a further limitation is the fact that flash memory has a finite number of erase-write cycles (most commercially available EEPROM products are guaranteed to withstand 106 programming cycles), so that care has to be taken when moving hard-drive based applications to flash-memory based devices such as CompactFlash. This effect is partially offset by some chip firmware or file system drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors, or by write verification and remapping to spare sectors in case of write failure.
Generally, during the normal operation of flash memory devices, the various write sectors are cycled evenly so that one part of the flash memory device does not become more worn over time than another part. Thus, all of the write sectors wear at about the same rate with respect to cycle count.
Since blocks or sectors degrade and eventually fail with usage, it is common to provide “spare” blocks to replace those primary blocks that have failed. However, in the prior art, the determination of how many spare blocks to provide is much more of a guess than a science. As a result, flash memory designers tend to provide too many spares, increasing the cost of the flash memory devices.
Moreover, there are no standards and no published methods that suggest how to verify that a product with a given number of spare blocks indeed meets its long-life reliability target, having sufficient number of spare blocks with respect to its physical degradation modes, rate of bad block generation and spare block consumption.
These and other limitations of the prior art will become apparent to those of skill in the art upon a reading of the following descriptions and a study of the several figures of the drawing.
In certain exemplary embodiments, a flash memory device with optimized write sectors has a plurality of flash memory write sectors and N flash memory spare sectors. Cumulatively, the flash memory write sectors correspond to the specified storage capacity of the flash memory. The number N of spares is approximately equal to the number of write sectors expected to be decommissioned within an operational lifetime of the flash memory.
In certain embodiments, set forth by way of example and not limitation, the N spare blocks are not pre-designated, physically distinguishable, or a-priory marked as spare blocks. Rather, the spare blocks may be extra non-designated and non-marked blocks of a product having more blocks than its specified storage capacity.
In an embodiment, N is no less than the expected number of write sectors expected to be decommissioned. In other embodiments, N is no greater than 10-20% more than the number of write sectors expected to be decommissioned.
In an embodiment, N=I+R, where I is the number of expected infant failures of the write sectors, and R is the number of expected random failures of the write sectors during the product lifespan. In another embodiment, I is determined in an empirical manner by writing to a first set of test write sectors. In another embodiment, R is determined in an empirical manner by writing to a second set of test write sectors which is smaller than the first set of test write sectors. In another embodiment, I and R are determined with the same set of test write sectors. In other embodiments, the operational lifetime is determined by writing to the same or different test write sectors as used by the I determination and/or the R determination. The first and second set of test write sectors may be an accumulation of sectors of different units, each unit having a plurality of write sectors, in an exemplary embodiment.
A method, by way of non-limiting example, of making flash memory includes specifying a plurality P of write sectors which define a specified storage capacity of a flash memory device, determining a number N of spare sectors, and making a flash memory device with about P write sectors and about N spare sectors.
By way of non-limiting example, the number N may be developed by determining the number I of infant failures, the number R of random failures, and calculating N =I+R. In an embodiment, the number I is determined empirically by writing to a first set of test sectors, and the number R is determined empirically by writing to a second set of test sectors.
In an embodiment, the second set of test sectors is smaller than the first set of test sectors. In another embodiment, the first set of test sectors is smaller than the second set of test sectors. In another embodiment, the first set of test sectors and the second set of test sectors are the same size. In another embodiment the first set of test sectors and the second set of test sectors are the same. In another embodiment, the first set of test sectors and the second set of test sectors overlap.
In an embodiment, the specified operational lifetime is determined empirically by writing to a set of test sectors. In an alternate embodiment, the set of test sectors is the first set of test sectors. In an alternate embodiment, the set of test sectors is the second set of test sectors. In an embodiment, the set of test sectors is separate from the first set of test sectors and the second set of test sectors. In another embodiment, the set of test sectors at least partially overlaps with at least one of the first set of test sectors and the second set of test sectors.
In an embodiment, set forth by way of non-limiting example, the number N is determined by developing a “bathtub curve” for the plurality P of write sectors including an infant mortality region, a random failure region, and a wear out region. The bathtub curve is then used to approximate the number N of spare sectors to be included in the products.
In an embodiment, developing the bathtub curve is accomplished empirically by writing to test write sectors and monitoring for degradation and failure of the test write sectors. In certain embodiments, infant mortality is determined by writing to a first set of test write sectors and random failure is determined by writing to a second set of test write sectors.
In another embodiment, N is approximated by integrating under the bathtub curve at the infant mortality and random failure regions. In other embodiment, N is approximated from the bathtub curve by other methods, including integral approximation, summation techniques, and other techniques known to those skilled in the art.
An advantage of certain embodiments is that a flash memory device is provided which has the statistically correct number of spare sectors. As such, a more economical and efficient flash memory device is provided.
An advantage of certain alternate embodiments is that a method is provided which permits the efficient and rapid determination of the number of spare sectors that should be provided, eliminating the guesswork that was prevalent in the prior art.
The preceding summary of certain exemplary embodiments and certain exemplary advantages is not meant to be exclusive. These and other embodiments and advantages will become apparent to those of skill in the art upon a reading of the following descriptions and a study of the several figures of the drawing.
Several exemplary embodiments will now be described with reference to the drawings, wherein like components are provided with like reference numerals. The exemplary embodiments are intended to illustrate, but not to limit, the invention. The drawings include the following figures:
CFR=1−exp [−(c/ξ)m]
This exemplary equation is a modified form of an equation developed by Weibull for cumulative failures in the time domain. It expresses Cumulative Failure Rate as a function of cycle count. Cumulative Failure Rate in this invention is defined as the fraction of cumulative failed blocks out of the total number of cycled blocks plus one, after cycle c. The variable c stands for cycle count; the parameter ξ is a Greek symbol denoting characteristic life expressed in cycles. This constant is also known as the scale constant, which defines the scale of this Weibull curve with respect to cycle count. A value of, for example, 10 cycles is typical for ξ when dealing with the infant mortality period of a mature manufacturing process of NVM devices.
The constant m is used to specify the specific shape of the Weibull curve. This constant is derived from the slope of experimental data which is plotted in a log cycle count domain. This value can be obtained graphically or through the use of linear regression techniques as are well known to those skilled in the art. The constant m is less than 1 during the infant mortality period and is greater than 1 during the end of life period. Since the cumulative failure rate is statistically constant during the random failure period, m is equal to 1 during the random failure period. It should be appreciated that at the point where the failure rate of the infant mortality regime equalizes the rate of random fails the shape of the bathtub curve tends to level off.
The constants ξ and m may be, by way of example and not limitation, derived experimentally for the infant mortality portion of the curve. Different values of these constants are derived for the random failure portion of the bathtub curve and for the end of life period. The constants ξ and m control the scale and shape of the Weibull curve in each section of the bathtub curve, respectively. It is possible to model the failure rate of the flash memory device 4 with respect to cycle count and thus it is possible to predict the fraction of blocks of a flash memory unit that will have failed at any given cycle count. This is done by combining the infant mortality CFR and the random failure CFR from cycle count zero up to the desired cycle count. Various other uses of this kind of model will be appreciated by those skilled in the art. Since the failure rate increases exponentially at the end of life, it is generally considered inefficient to attempt to extend the life of flash memory device 4 by attempting to reserve spare sectors beyond those that are required in the infant mortality and random failure periods. The shape of the cumulative failure rate curve during the end of life period is such that the failure rate increases as usable blocks are decommissioned. Thus, the reserved blocks would dwindle rapidly unless their number rivaled that of the usable blocks.
In an operation 48, the constant m is determined with respect to the infant mortality region shown in
In operations 54 and 56, the parameters ξ1 and ξ2 of the infant mortality region and of the random failure region, respectively, are determined from the data of the cumulative failures plotted against the cycle count. In operation 58, it is determined at what cycle count the random failure region ends and the end of life region begins. This can be done by, for example, determining the knee in the CFR plot that indicates the change from flat value of m to a regime where m>1. This transition may be observed only at relatively high cycle counts, e.g. above 100,000 cycles.
It should be noted that it is often considered impractical to reach a high cycle count such as 100,000 cycles with a large ensemble such as the one used to measure m in the infant mortality region. It is contemplated that a smaller ensemble of units would preferably be used for measuring high cycle counts such as 100K. The number of units chosen also depends on the quality target.
Then, in operation 60, it is verified that the wear-out region starts beyond the cycle count that is specified as the reliability target of the specific product. The operation is concluded in an operation 62.
In(In(1/(1-CFR(c))))
The following expression is used to transform the value of the x axis:
In(c)
Once the data is plotted in this manner, it should be immediately evident that a line is formed by the data points collected in operation 78. The constant m is the slope of this line, which can be measured on the plot using well known graphic analysis methods. Alternatively, the constant m may be measured using well known linear regression methods. Once the constant m has been derived, the operation may be concluded in an operation 84.
The flow diagram of
Once the model has been generated, it may be used for a variety of purposes as will be evident to those skilled in the art. For example, it may be used to qualify batches of units in large scale production. It may also, by way of non-limiting example, be used to measure the quality and reliability of different batches, or compare the quality and reliability of products from different sources.
It is contemplated that there may be different quality levels for products. For example, there might be three target quality levels for products that are intended to endure at least 100K cycles: A) Level A, corresponding to high quality, represents less than 500 DPM; B) Level B, corresponding to standard quality, represents less than 2K DPM; and C) Level C, corresponding to acceptable quality, represents less than 10K DPMs.
Corresponding to these three target quality levels are three Cumulative Block Failure Rate (CBFR) levels which are used when cycling beyond 1K cycles:
Level A, corresponding to high quality, represents 0.1% failing blocks in 100Kc. Level B, corresponding to standard quality, represents 0.1% failing blocks in 10Kc. Level C, corresponding to acceptable quality, represents 1% failing blocks in 10Kc. Other quality targets may be set according to the market requirements. There is therefore a method for estimating the number of write sectors expected to fail and/or otherwise be decommissioned during an array's lifetime. According to some embodiments of the present invention, information empirically derived about a given NVM array, batch of arrays, die or batch of dies may be used estimating: (1) the number of sector to fail and/or otherwise be decommissioned during a given array's lifetime, and (2) how many NVM spare sectors should be designated as spare sectors only to be used to replace decommissioned sectors upon decommissioning.
Such estimation may be empirically determined. Devices, such as non-volatile memory (NVM) die or chips (including chips with embedded NVM) are explicitly contemplated and disclosed.
Although various embodiments have been described using specific terms and devices, such description is for illustrative purposes only. For example, even though the exemplary embodiments have used Flash memory for the purposes of illustration, other embodiments can use other types of erasable solid state memory devices that are segmented into blocks, such as HDD and DRAM.
It will therefore be appreciated that words used herein are words of description rather than of limitation. It is to be understood that changes and variations may be made by those of ordinary skill in the art without departing from the spirit or the scope of the present invention, which is set forth in the following claims. In addition, it should be understood that aspects of various other embodiments may be interchanged either in whole or in part. It is therefore intended that the claims be interpreted in accordance with the true spirit and scope of the invention without limitation or estoppel.
Number | Name | Date | Kind |
---|---|---|---|
3895360 | Cricchi et al. | Jul 1975 | A |
4281397 | Neal et al. | Jul 1981 | A |
4342102 | Puar | Jul 1982 | A |
4388705 | Sheppard | Jun 1983 | A |
4389705 | Sheppard | Jun 1983 | A |
4527257 | Cricchi | Jul 1985 | A |
4586163 | Koiki | Apr 1986 | A |
4760555 | Gelsomini et al. | Jul 1988 | A |
4761764 | Watanabe | Aug 1988 | A |
4888735 | Lee et al. | Dec 1989 | A |
4916671 | Ichiguchi | Apr 1990 | A |
5027321 | Park | Jun 1991 | A |
5117389 | Yiu | May 1992 | A |
5204835 | Eitan | Apr 1993 | A |
5241497 | Komarek | Aug 1993 | A |
5268861 | Hotta | Dec 1993 | A |
5293563 | Ohta | Mar 1994 | A |
5295092 | Hotta | Mar 1994 | A |
5295108 | Higa | Mar 1994 | A |
5305262 | Yoneda | Apr 1994 | A |
5315541 | Harari et al. | May 1994 | A |
5335198 | Van Buskirk et al. | Aug 1994 | A |
5345425 | Shikatani | Sep 1994 | A |
5352620 | Komori et al. | Oct 1994 | A |
5361343 | Kosonocky et al. | Nov 1994 | A |
5375094 | Naruke | Dec 1994 | A |
5381374 | Shiraishi et al. | Jan 1995 | A |
5394355 | Uramoto et al. | Feb 1995 | A |
5399891 | Yiu et al. | Mar 1995 | A |
5412601 | Sawada et al. | May 1995 | A |
5422844 | Wolstenholme et al. | Jun 1995 | A |
5424978 | Wada et al. | Jun 1995 | A |
5426605 | Van Berkel et al. | Jun 1995 | A |
5428621 | Mehrotra et al. | Jun 1995 | A |
5434825 | Harari | Jul 1995 | A |
5436478 | Bergemont | Jul 1995 | A |
5440505 | Fazio et al. | Aug 1995 | A |
5467308 | Chang et al. | Nov 1995 | A |
5477499 | Van Buskirk et al. | Dec 1995 | A |
5495440 | Asakura | Feb 1996 | A |
5508968 | Collins et al. | Apr 1996 | A |
5521870 | Ishikawa | May 1996 | A |
5523972 | Rashid et al. | Jun 1996 | A |
5530803 | Chang et al. | Jun 1996 | A |
5557570 | Iwahashi | Sep 1996 | A |
5563823 | Yui et al. | Oct 1996 | A |
5566125 | Fazio et al. | Oct 1996 | A |
5583808 | Brahmbhatt | Dec 1996 | A |
5590068 | Bergemont | Dec 1996 | A |
5590074 | Akaogi et al. | Dec 1996 | A |
5596527 | Tomioka et al. | Jan 1997 | A |
5600586 | Lee | Feb 1997 | A |
5617357 | Haddad et al. | Apr 1997 | A |
5619452 | Miyauchi | Apr 1997 | A |
5623438 | Guritz et al. | Apr 1997 | A |
5627790 | Golla et al. | May 1997 | A |
5650959 | Hayashi et al. | Jul 1997 | A |
5657332 | Auclair et al. | Aug 1997 | A |
5661060 | Gill et al. | Aug 1997 | A |
5677867 | Hazani | Oct 1997 | A |
5696929 | Hasbun et al. | Dec 1997 | A |
5712815 | Bill et al. | Jan 1998 | A |
5717632 | Richart et al. | Feb 1998 | A |
5777919 | Chi-Yung et al. | Jul 1998 | A |
5781476 | Seki et al. | Jul 1998 | A |
5781478 | Takeuchi et al. | Jul 1998 | A |
5812456 | Hull et al. | Sep 1998 | A |
5812457 | Arase | Sep 1998 | A |
5825683 | Chang | Oct 1998 | A |
5825686 | Schmitt-Landsiedel et al. | Oct 1998 | A |
5828601 | Hollmer et al. | Oct 1998 | A |
5835935 | Estakhri et al. | Nov 1998 | A |
5862076 | Eitan | Jan 1999 | A |
5864164 | Wen | Jan 1999 | A |
5867429 | Chen et al. | Feb 1999 | A |
5870334 | Hemink et al. | Feb 1999 | A |
5870335 | Khan et al. | Feb 1999 | A |
5875128 | Ishizuka | Feb 1999 | A |
5877537 | Aoki | Mar 1999 | A |
5886927 | Takeuci | Mar 1999 | A |
5898186 | Farnworth et al. | Apr 1999 | A |
5910924 | Tanaka et al. | Jun 1999 | A |
5920503 | Lee et al. | Jul 1999 | A |
5920507 | Takeuchi et al. | Jul 1999 | A |
5930195 | Komatsu | Jul 1999 | A |
5933366 | Yoshikawa | Aug 1999 | A |
5936888 | Sugawara | Aug 1999 | A |
5940332 | Artieri | Aug 1999 | A |
5949714 | Hemink et al. | Sep 1999 | A |
5963465 | Eitan | Oct 1999 | A |
5991517 | Harari et al. | Nov 1999 | A |
6000006 | Bruce et al. | Dec 1999 | A |
6030871 | Eitan | Feb 2000 | A |
6034403 | Wu | Mar 2000 | A |
6044019 | Cernea et al. | Mar 2000 | A |
6044022 | Nachumovsky | Mar 2000 | A |
6064591 | Takeuchi et al. | May 2000 | A |
6074916 | Cappelletti | Jun 2000 | A |
6081456 | Dadashev | Jun 2000 | A |
6084794 | Lu et al. | Jul 2000 | A |
6091640 | Kawahara et al. | Jul 2000 | A |
6130452 | Lu et al. | Oct 2000 | A |
6147904 | Liron | Nov 2000 | A |
6163048 | Hirose et al. | Dec 2000 | A |
6163484 | Uekubo | Dec 2000 | A |
6175519 | Lu et al. | Jan 2001 | B1 |
6181597 | Nachumovsky | Jan 2001 | B1 |
6201282 | Eitan | Mar 2001 | B1 |
6218695 | Nachumovsky | Apr 2001 | B1 |
6222762 | Guteman et al. | Apr 2001 | B1 |
6233180 | Eitan et al. | May 2001 | B1 |
6240040 | Akaogi et al. | May 2001 | B1 |
6252442 | Malherbe | Jun 2001 | B1 |
6252799 | Liu et al. | Jun 2001 | B1 |
6256231 | Lavi et al. | Jul 2001 | B1 |
6275414 | Randolph et al. | Aug 2001 | B1 |
6282133 | Nakagawa et al. | Aug 2001 | B1 |
6282145 | Tran et al. | Aug 2001 | B1 |
6285574 | Eitan | Sep 2001 | B1 |
6285589 | Kajitani | Sep 2001 | B1 |
6304485 | Harari et al. | Oct 2001 | B1 |
6307807 | Sakui et al. | Oct 2001 | B1 |
6326265 | Liu et al. | Dec 2001 | B1 |
6331950 | Kuo et al. | Dec 2001 | B1 |
6335874 | Eitan | Jan 2002 | B1 |
6339556 | Watanabe | Jan 2002 | B1 |
6351415 | Kushnarenko | Feb 2002 | B1 |
6374337 | Estakhri | Apr 2002 | B1 |
6400607 | Pasotti et al. | Jun 2002 | B1 |
6418506 | Pashley et al. | Jul 2002 | B1 |
6438035 | Yamamoto et al. | Aug 2002 | B2 |
6449188 | Fastow | Sep 2002 | B1 |
6449190 | Bill | Sep 2002 | B1 |
6469935 | Hayashi | Oct 2002 | B2 |
6496414 | Kasa et al. | Dec 2002 | B2 |
6504756 | Gonzalez et al. | Jan 2003 | B2 |
6525969 | Kurihara et al. | Feb 2003 | B1 |
6529412 | Chen et al. | Mar 2003 | B1 |
6532173 | Iioka et al. | Mar 2003 | B2 |
6538270 | Randolph et al. | Mar 2003 | B1 |
6570211 | He et al. | May 2003 | B1 |
6574139 | Kurihara | Jun 2003 | B2 |
6577547 | Ukon | Jun 2003 | B2 |
6593606 | Randolph et al. | Jul 2003 | B1 |
6614686 | Kawamura | Sep 2003 | B1 |
6614690 | Roohparvar | Sep 2003 | B2 |
6614692 | Eliyahu et al. | Sep 2003 | B2 |
6633496 | Maayan et al. | Oct 2003 | B2 |
6633499 | Eitan et al. | Oct 2003 | B1 |
6633956 | Mitani | Oct 2003 | B1 |
6639837 | Takano et al. | Oct 2003 | B2 |
6643178 | Kurihara | Nov 2003 | B2 |
6744692 | Shiota et al. | Jun 2004 | B2 |
6839280 | Chindalore et al. | Jan 2005 | B1 |
6870772 | Nitta et al. | Mar 2005 | B1 |
6885585 | Maayan et al. | Apr 2005 | B2 |
6885590 | Zheng et al. | Apr 2005 | B1 |
6912160 | Yamada | Jun 2005 | B2 |
6917541 | Shimbayashi et al. | Jul 2005 | B2 |
6917544 | Maayan et al. | Jul 2005 | B2 |
6954393 | Lusky et al. | Oct 2005 | B2 |
6977410 | Naso et al. | Dec 2005 | B2 |
6981188 | Galzur et al. | Dec 2005 | B2 |
6990001 | Ma et al. | Jan 2006 | B2 |
6996692 | Kuono | Feb 2006 | B2 |
7043672 | Merritt | May 2006 | B2 |
7061816 | Sugiura et al. | Jun 2006 | B2 |
7447944 | Hu | Nov 2008 | B2 |
7523013 | Gorobets et al. | Apr 2009 | B2 |
20010006477 | Banks | Jul 2001 | A1 |
20010012216 | Taura et al. | Aug 2001 | A1 |
20020004878 | Norman | Jan 2002 | A1 |
20020004921 | Muranaka et al. | Jan 2002 | A1 |
20030131186 | Buhr | Jul 2003 | A1 |
20030135793 | Craig et al. | Jul 2003 | A1 |
20030142544 | Maayan et al. | Jul 2003 | A1 |
20030145176 | Dvir et al. | Jul 2003 | A1 |
20030206435 | Takahashi | Nov 2003 | A1 |
20030208663 | Van Buskirk et al. | Nov 2003 | A1 |
20030214844 | Iijima | Nov 2003 | A1 |
20040205290 | Shinagawa et al. | Oct 2004 | A1 |
20050185482 | Sugimoto et al. | Aug 2005 | A1 |
20080082725 | Elhamias | Apr 2008 | A1 |
Number | Date | Country |
---|---|---|
1071096 | Sep 2003 | EP |
1223586 | Aug 2005 | EP |
1324343 | Aug 2005 | EP |
1126468 | Dec 2005 | EP |
1164597 | Aug 2006 | EP |
08106791 | Apr 1996 | JP |
09017981 | Jan 1997 | JP |
10055691 | Feb 1998 | JP |
11354758 | Dec 1999 | JP |
20315392 | Nov 2000 | JP |
1085646 | Mar 2001 | JP |
21118392 | Apr 2001 | JP |
22216488 | Aug 2002 | JP |
WO9931670 | Jun 1999 | WO |
WO03036651 | May 2003 | WO |
WO03063168 | Jul 2003 | WO |
WO03088260 | Oct 2003 | WO |
WO03088261 | Oct 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20090154242 A1 | Jun 2009 | US |