This application claims the benefit of the priority date of my earlier filed British Application No. 0123419.4, entitled “Data Handling System”, filed on Sep. 28, 2001.
1. Field of the Invention
This invention relates generally to electronic data handling system utilizing flash memory for data storage and particularly to providing improved security of the information data stored in flash memory.
2. Description of the Prior Art
In electronic data handling systems, utilizing flash memory data is typically transferred to and from the flash memory in blocks of 528 bytes, which together form one sector or page. In some known system, each sector is composed of 512 bytes of information data (which can either be provided by a host and represents user data, or can be provided by a controller, for example, representing a cyclic storage algorithm data structure), a further 4 bytes of overhead data (which typically is provided by the controller and represents index or header data pertinent to the associated 512 bytes of information data), and a further 12 bytes of data which provide an error correction code for the associated 517 bytes of data.
Accordingly, each sector is partitioned into at least a user data portion and an overhead portion and consequently, by inspection of the flash memory, it is fairly straightforward by reverse engineering to identify the whole of the information data from the succession of 512 bytes provided by the succession of sectors stores in the flash memory. Security of the information data is therefore dependent upon security of the flash memory itself. Thus, the need arises to provide improved security of the information data stored in flash memory.
It is an object of the present invention to provide improved security of the information data stored in flash memory.
This object is achieved by manipulating the 516 bytes of information and overhead data prior to storage in flash memory such that each stored byte is a reversible function of both information data and overhead data as a result of a data hiding process.
By virtue of the present invention security of the information data is enhanced because the bytes stored in a flash memory sector are no longer partitioned, and each byte is no longer identifiable as being an information data byte or an overhead data byte.
The present invention in a first aspect comprises a method of handling data which is being written to and stored in flash memory, wherein input data, comprising information data and overhead data, undergoes a reversible transformation before being written to flash memory whereupon each bit stored in flash memory, as flash data, is a function of both information data and header data.
Conveniently the input data comprises 512 bytes of information data and 4 bytes of overhead data.
Preferably the reversible transformation of input data which results in the flash data is an XOR function combining bytes of information data and overhead data. For example, 4 bytes of overhead data may be XORd with each of the succession of 128 4 byte sequences which from the 512 bytes of information data to provide 512 bytes of flash data whilst these 512 bytes of flash data are used to generate a 4 byte ECC function which is XORd with the 4 bytes of overhead data to produce a further 4 bytes of flash data.
Preferably the data handling process also produces 12 bytes of error detection and correction capability (ECC) for storage in the flash memory.
Conveniently the ECC is a function of said flash data.
Conveniently the transformation is implemented by an encoder.
Conveniently the method of writing and storing data in flash memory comprises input data being written first to a buffer memory without modification, the input data then being written from the buffer memory, via an encoder to the flash memory.
Preferably the encoder comprises a plurality of XOR gates.
In a second aspect the invention comprises a method of reading encoded data from the flash memory, wherein the encoded data undergoes a reverse transformation which returns the input data to information data and overhead data format.
Preferably the decoder comprises a plurality of XOR gates.
The foregoing and other objects, features and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments which make reference to several figures of the drawing.
a shows a first single port memory having two encoders;
b shows a second single port memory having one encoder;
With reference to
In
The algorithms involved in the handling process carried out by the encoder/decoder will now be described using the following notation and symbols. The 512 byte information data array is represented as D [ ]. The 4 byte header data array is represented as C [ ]. The flash data is a 516 byte array in flash memory denoted by F [ ]. c, k and j are integer constants chosen from the ranges 0≦c>3, 0≦k≦511, and 0≦j≦11. ! is a one byte data hiding key generated by q(C), which is the data hiding key generation function, from header data C[ ] with
Q=q(C) (1)
where, for example q(C)=C[c] (2)
P is a one byte header hiding key generated by a header hiding key generating function p( ) by
P=p(F[0,511]) (3)
where, for example p(F[0,511])=rotate(F[k]) (4)
The error correction code ECC generation function is represented as ecc( ) and is an algorithm such as Reed Solomon encoding, ⊕ is a bytewise XOR function and rotate( ) is a bitwise byte rotation function.
The encoding of the input data to give flash data is described by the following for the xth byte of the array.
F[x]=D[x]⊕Q where 0≦x≦511 (5)
F[x]=C[x−512]⊕P for 512≦x≦515 (6)
and F[x]=ecc(F[0,515]) for 516≦x≦527 (7)
These result in all bits in flash data being a function of both information data and header data, and the error correction code is a function of flash data.
The encoding process of the input data is as follows, the data hiding key Q is firstly generated by equation (1), using the key generation function of equation (2). Next equation (5) is used to generate part of the flash data page F[0, 511] by performing a bytewise XOR of the data hiding key Q with information data D[ ]. As Q is a function of header data C[ ], the flash data F[0, 511] is a function of both information data D[ ] and header data C[ ]. The header hiding key P is generated by equation (3) from the flash data calculated by equation (4). The next part of the flash data F[512, 515] is generated by performing a bytewise XOR of header hiding key P with header data C[ ]. As P is a function of flash data F[0, 511] which is in turn a function of both information data D[ ] and header data C[ ], then F[512, 515] is a function of both information D[ ] and header data C[ ]. Finally the error correction code ECC is added to the flash page as F[516, 527] calculated by equation (7). The ECC is a function of F[0, 515] which has been shown above to be a function of both information data D[ ] and header data C[ ]. Thus the whole of the flash page is a function of both information data D[ ] and header data C[ ] and therefore the information data and control data cannot be readily distinguished.
The decoding of flash data follows the reverse of the above transformation processes to return from the flash data F[ ] to the format of separate information data D[ ] and header data C[ ] and uses the equations
C[x−512]=F[x]⊕P for 512≦x≦515 (8)
and
D[x]=F[x]⊕Q for 0≦x≦511 (9)
The first state of the decoding process is to check that the ECC is valid. ECC checking ensures that equation (7) holds true for the flash data read from the flash memory. If this is not true then the error correction algorithm is applied to correct the flash data array so that equation (7) does hold true.
After checking for errors, equation (3) is applied to calculate control hiding key P. The header data C[ ] can be restored using equation (8) which is a re-arrangement of equation (6). The data hiding key Q can then be calculated using equation (1). Q can then be used to restore the information data-D[ ] by applying equation (9), which is a re-arrangement of equation (5).
In practice the implementation of the data manipulation process in the encoder/decoder is split into two parts. The calculation of the key generation functions Q and P is performed in firmware executing within the microprocessor. The calculation of the flash data is performed by hardware as the alteration of large volumes of data involved in the calculations would be overly intensive for firmware. A schematic diagram of one embodiment of the circuit which could implement the encoding or decoding processes of equations (5), (6), (8) and (9) is shown in FIG. 3. For the purposes of clarity
Firstly a value representing the data hiding key P is written to the key register 17 from the firmware which is typically a controller comprising an SRAM and microprocessor. The microprocessor then triggers the transfer of data through the hardware, i.e. the encoder. User data and header data is fed from the controller SRAM through the encoder 30 in 32 bit word serial fashion which is then converted to byte serial data which is XORd, by XOR gate 16, with the appropriate key, that is the data hiding key P and the control hiding key Q respectively, and is then passed to the byte serial data output. The microprocessor of the controller determines which of the appropriate keys of P and Q should be implemented by the key register 17 depending on the data being transferred. The byte serial data output is then, typically, fed into the ECC generation circuitry. This encoder/decoder 30 can be inserted as a decoder into any serial byte stream through which the flash data is written or as an encoder, into any serial byte stream through which the flash data is read. The encoder/decoder an also be integrated with other memory elements with the encoder/decoder being placed on the input or output data ports from a memory.
There are numerous possible configurations for encoding/decoding on reading/writing data from both single port and dual port memories.
In one embodiment, shown in
In a single port memory system such as that of
In the arrangement shown the microprocessor 34 and host interface 36 share access via multiplexer 55 of write port 58a of the SRAM 56, and share access of read port 57a. The Flash interface has write port 58b and write port 57b of the SRAM dedicated to itself.
a and 6b show alternative configurations of multiple encoders and associated SRAM memory 60 which could be integrated within memory systems in the same manner as illustrated in
In
An alternative arrangement for such a configuration is shown in
It should be noted that the above are not an exhaustive selection of configurations. Also in any of the above disclosed configurations it should be understood that the encoder/decoder could be placed on the write or output data port of the SRAM memory.
Another embodiment of the circuit in which the transformation process may be implemented is shown in FIG. 7. This arrangement is an example of how the data handling process can be implemented in hardware which allows both transformed and untransformed data to be written to the flash memory for storage. Data is read from the SDRAM 74 and transferred along read port 76 which splits into two read data lines 76a and 76b respectively. In this case the address supplied to the memory 74 is used to choose between an output from the memory, which is “hidden” by the facility of Key 1, and an output from the memory which is not encoded or decoded. If the data travels along read data line 76a, it undergoes an XOR transformation implemented by the encoder 70. The transformed data is then read to multiplexer 82 from where it is transferred by bus 86 to the flash memory 18. The transformed data can also be accessed from bus 16 by the host 88 or the microprocessor 84. However, the provision of multiplexer 82 means that the information data may alternatively be written directly to the bus from the SDRAM 74 without transformation upon transfer along read data line 76b.
Various modifications may be made to the invention as hereinafter described without departing from the scope of the invention. For example different symmetrical reversible transformations, such as NXOR (not XOR), or an XOR gate followed by the swapping of data bits may be used instead of the described XOR function, to combine the information data and header data. Alternatively functions which are asymmetric, such as addition modulo-256 could be used, however these would make the transformation more difficult to reverse engineer and thus would require more complex hardware as different keys would be required for both encoding and decoding, however the data flow would remain the same. The transformation may also be implemented on words of any size as the algorithms used are defined on bytes. This means the word could be of a size of 4 bytes for example.
The equation (1) which describes the function for generating the data hiding key, using header data C as a parameter, can be expanded to include other parameters thus making the data hiding key a more complex function. For example, as shown in equation (1b), a security key. K security, provided by the host or generated by, for example, the algorithm, (shown in equation 2b), can be added
Q=q(C,Ksecurity) (1b)
q(C)=C[c] Ksecurity where 0≦c≦3 (2b)
When implementing these equations the values stored in the flash sector F [0, 511] are changed and, as a result, since the header hiding key P is a function of F [0, 511], the value generated for P will also change.
It is possible for the information data and header data to be of a different size from that used in the examples given. This would have the effect of altering the ranges of functions D[ ], C[ ] and F[ ] as well as the ranges from which the integer constants c, k and j are chosen. Additionally it can be ensured that Q and P never lead to an identity transform, by detecting such values that would lead to an identity transform and substituting a suitable predetermined alternative.
Although the present invention has been described in terms of specific embodiments it is anticipated that alterations and modifications thereof will no doubt become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted as covering all such alterations and modification as fall within the true spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
0123419 | Sep 2001 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
4099069 | Cricchi et al. | Jul 1978 | A |
4130900 | Watanabe | Dec 1978 | A |
4210959 | Wozniak | Jul 1980 | A |
4309627 | Tabata | Jan 1982 | A |
4319079 | Best | Mar 1982 | A |
4355376 | Gould | Oct 1982 | A |
4398248 | Hsia et al. | Aug 1983 | A |
4405952 | Slakmon | Sep 1983 | A |
4414627 | Nakamura | Nov 1983 | A |
4450559 | Bond et al. | May 1984 | A |
4456971 | Fukuda et al. | Jun 1984 | A |
4468730 | Dodd et al. | Aug 1984 | A |
4473878 | Zolnowsky et al. | Sep 1984 | A |
4476526 | Dodd | Oct 1984 | A |
4498146 | Martinez | Feb 1985 | A |
4525839 | Nozawa et al. | Jun 1985 | A |
4532590 | Wallach et al. | Jul 1985 | A |
4609833 | Guterman | Sep 1986 | A |
4616311 | Sato | Oct 1986 | A |
4654847 | Dutton | Mar 1987 | A |
4710871 | Belknap et al. | Dec 1987 | A |
4746998 | Robinson et al. | May 1988 | A |
4748320 | Yorimoto et al. | May 1988 | A |
4757474 | Fukushi et al. | Jul 1988 | A |
4774700 | Satoh et al. | Sep 1988 | A |
4780855 | Iida et al. | Oct 1988 | A |
4788665 | Fukuda et al. | Nov 1988 | A |
4797543 | Watanabe | Jan 1989 | A |
4800520 | Iijima | Jan 1989 | A |
4829169 | Watanabe | May 1989 | A |
4843224 | Ohta et al. | Jun 1989 | A |
4896262 | Wayama et al. | Jan 1990 | A |
4914529 | Bonke | Apr 1990 | A |
4920518 | Nakamura et al. | Apr 1990 | A |
4924331 | Robinson et al. | May 1990 | A |
4943745 | Watanabe et al. | Jul 1990 | A |
4953122 | Williams | Aug 1990 | A |
4970642 | Yamamura | Nov 1990 | A |
4970727 | Miyawaki et al. | Nov 1990 | A |
5070474 | Tuma et al. | Dec 1991 | A |
5093785 | Iijima | Mar 1992 | A |
5168465 | Harari | Dec 1992 | A |
5198380 | Harari | Mar 1993 | A |
5200959 | Gross et al. | Apr 1993 | A |
5218695 | Noveck et al. | Jun 1993 | A |
5220518 | Haq | Jun 1993 | A |
5226168 | Kobayashi et al. | Jul 1993 | A |
5227714 | Lou | Jul 1993 | A |
5253351 | Yamamoto et al. | Oct 1993 | A |
5267218 | Elbert | Nov 1993 | A |
5268318 | Harari | Dec 1993 | A |
5268870 | Harari | Dec 1993 | A |
5270979 | Harari et al. | Dec 1993 | A |
5293560 | Harari | Mar 1994 | A |
5297148 | Harari et al. | Mar 1994 | A |
5303198 | Adachi et al. | Apr 1994 | A |
5305276 | Uenoyama | Apr 1994 | A |
5305278 | Inoue | Apr 1994 | A |
5315541 | Harari et al. | May 1994 | A |
5315558 | Hag | May 1994 | A |
5329491 | Brown et al. | Jul 1994 | A |
5337275 | Garner | Aug 1994 | A |
5341330 | Wells et al. | Aug 1994 | A |
5341339 | Wells | Aug 1994 | A |
5341341 | Fukuzo | Aug 1994 | A |
5353256 | Fandrich et al. | Oct 1994 | A |
5357475 | Hasbun et al. | Oct 1994 | A |
5359569 | Fujita et al. | Oct 1994 | A |
5365127 | Manley et al. | Nov 1994 | A |
5369615 | Harari et al. | Nov 1994 | A |
5371702 | Nakai et al. | Dec 1994 | A |
5381539 | Yanai et al. | Jan 1995 | A |
5382839 | Shinohara | Jan 1995 | A |
5384743 | Rouy | Jan 1995 | A |
5388083 | Assar et al. | Feb 1995 | A |
5396468 | Harari et al. | Mar 1995 | A |
5404485 | Ban | Apr 1995 | A |
5406527 | Honma | Apr 1995 | A |
5418752 | Harari et al. | May 1995 | A |
5422842 | Cernea et al. | Jun 1995 | A |
5422856 | Sasaki et al. | Jun 1995 | A |
5428621 | Mehrotra et al. | Jun 1995 | A |
5430682 | Ishikawa et al. | Jul 1995 | A |
5430859 | Norman et al. | Jul 1995 | A |
5431330 | Wieres | Jul 1995 | A |
5434825 | Harari | Jul 1995 | A |
5438573 | Mangan et al. | Aug 1995 | A |
5465235 | Miyamoto | Nov 1995 | A |
5465338 | Clay | Nov 1995 | A |
5471478 | Mangan et al. | Nov 1995 | A |
5473765 | Gibbon et al. | Dec 1995 | A |
5479638 | Assar et al. | Dec 1995 | A |
5485595 | Assar et al. | Jan 1996 | A |
5490117 | Oda et al. | Feb 1996 | A |
5495442 | Cernea et al. | Feb 1996 | A |
5504760 | Harari et al. | Apr 1996 | A |
5508971 | Cernea et al. | Apr 1996 | A |
5513138 | Manabe et al. | Apr 1996 | A |
5515333 | Fujita et al. | May 1996 | A |
5519847 | Fandrich et al. | May 1996 | A |
5523980 | Sakui et al. | Jun 1996 | A |
5524230 | Sakaue et al. | Jun 1996 | A |
5530673 | Tobita et al. | Jun 1996 | A |
5530828 | Kaki et al. | Jun 1996 | A |
5530938 | Akasaka et al. | Jun 1996 | A |
5532962 | Auclair et al. | Jul 1996 | A |
5532964 | Cernea et al. | Jul 1996 | A |
5534456 | Yuan et al. | Jul 1996 | A |
5535328 | Harari et al. | Jul 1996 | A |
5541551 | Brehner et al. | Jul 1996 | A |
5544118 | Harari | Aug 1996 | A |
5544356 | Robinson et al. | Aug 1996 | A |
5552698 | Tai et al. | Sep 1996 | A |
5554553 | Harari | Sep 1996 | A |
5563825 | Cernea et al. | Oct 1996 | A |
5566314 | DeMarco et al. | Oct 1996 | A |
5568439 | Harari | Oct 1996 | A |
5572466 | Sukegawa | Nov 1996 | A |
5579502 | Konishi et al. | Nov 1996 | A |
5581723 | Hasbun et al. | Dec 1996 | A |
5583812 | Harari | Dec 1996 | A |
5592415 | Kato et al. | Jan 1997 | A |
5592420 | Cernea et al. | Jan 1997 | A |
5598370 | Niijima | Jan 1997 | A |
5602987 | Harari et al. | Feb 1997 | A |
5603001 | Sukegawa et al. | Feb 1997 | A |
5611067 | Okamoto et al. | Mar 1997 | A |
5640528 | Harney et al. | Jun 1997 | A |
5642312 | Harari | Jun 1997 | A |
5648929 | Miyamoto | Jul 1997 | A |
5663901 | Wallace et al. | Sep 1997 | A |
5693570 | Cernea et al. | Dec 1997 | A |
5712819 | Harari | Jan 1998 | A |
5719808 | Harari et al. | Feb 1998 | A |
5723990 | Roohparvar | Mar 1998 | A |
5734567 | Griffiths et al. | Mar 1998 | A |
5745418 | Ma et al. | Apr 1998 | A |
5754567 | Norman | May 1998 | A |
5757712 | Nagel et al. | May 1998 | A |
5758100 | Odisho | May 1998 | A |
5761117 | Uchino et al. | Jun 1998 | A |
5768190 | Tanaka et al. | Jun 1998 | A |
5768195 | Nakamura et al. | Jun 1998 | A |
5773901 | Kantner | Jun 1998 | A |
5778418 | Auclair et al. | Jul 1998 | A |
5781478 | Takeuchi et al. | Jul 1998 | A |
5787445 | Daberko | Jul 1998 | A |
5787484 | Norman | Jul 1998 | A |
RE35881 | Barrett et al. | Aug 1998 | E |
5799168 | Ban | Aug 1998 | A |
5802551 | Komatsu et al. | Sep 1998 | A |
5809515 | Kaki et al. | Sep 1998 | A |
5809558 | Matthews et al. | Sep 1998 | A |
5809560 | Schneider | Sep 1998 | A |
5818781 | Estakhri et al. | Oct 1998 | A |
5822245 | Gupta et al. | Oct 1998 | A |
5822252 | Lee et al. | Oct 1998 | A |
5822781 | Wells et al. | Oct 1998 | A |
5831929 | Manning | Nov 1998 | A |
5835935 | Estakhri et al. | Nov 1998 | A |
5845313 | Estakhri et al. | Dec 1998 | A |
5847552 | Brown | Dec 1998 | A |
5860083 | Sukegawa | Jan 1999 | A |
5860124 | Matthews et al. | Jan 1999 | A |
5862099 | Gannage et al. | Jan 1999 | A |
5890192 | Lee et al. | Mar 1999 | A |
5901086 | Wang et al. | May 1999 | A |
5907856 | Estakhri et al. | May 1999 | A |
5909586 | Anderson | Jun 1999 | A |
5920884 | Jennings, III et al. | Jul 1999 | A |
5928370 | Asnaashari | Jul 1999 | A |
5930815 | Estakhri et al. | Jul 1999 | A |
5933368 | Ma et al. | Aug 1999 | A |
5933846 | Endo | Aug 1999 | A |
5936971 | Harari et al. | Aug 1999 | A |
5937425 | Ban | Aug 1999 | A |
5953737 | Estakhri et al. | Sep 1999 | A |
5956473 | Ma et al. | Sep 1999 | A |
5959926 | Jones et al. | Sep 1999 | A |
5966727 | Nishino | Oct 1999 | A |
5986933 | Takeuchi et al. | Nov 1999 | A |
5987563 | Itoh et al. | Nov 1999 | A |
5987573 | Hiraka | Nov 1999 | A |
5991849 | Yamada et al. | Nov 1999 | A |
6011322 | Stumfall et al. | Jan 2000 | A |
6011323 | Camp | Jan 2000 | A |
6021408 | Ledain et al. | Feb 2000 | A |
6026020 | Matsubara et al. | Feb 2000 | A |
6026027 | Terrell, II et al. | Feb 2000 | A |
6034897 | Estakhri et al. | Mar 2000 | A |
6035357 | Sakaki | Mar 2000 | A |
6040997 | Estakhri | Mar 2000 | A |
6047352 | Lakhani et al. | Apr 2000 | A |
6055184 | Acharya et al. | Apr 2000 | A |
6055188 | Takeuchi et al. | Apr 2000 | A |
6061449 | Candelore et al. | May 2000 | A |
6072796 | Christensen et al. | Jun 2000 | A |
6081447 | Lofgren et al. | Jun 2000 | A |
6081878 | Estakhri et al. | Jun 2000 | A |
6097666 | Sakui et al. | Aug 2000 | A |
6115785 | Estakhri et al. | Sep 2000 | A |
6122195 | Estakhri et al. | Sep 2000 | A |
6125424 | Komatsu et al. | Sep 2000 | A |
6125435 | Estakhri et al. | Sep 2000 | A |
6128695 | Estakhri et al. | Oct 2000 | A |
6134145 | Wong | Oct 2000 | A |
6134151 | Estakhri et al. | Oct 2000 | A |
6141249 | Estakhri et al. | Oct 2000 | A |
6145051 | Estakhri et al. | Nov 2000 | A |
6151247 | Estakhri et al. | Nov 2000 | A |
6173362 | Yoda | Jan 2001 | B1 |
6181118 | Meehan et al. | Jan 2001 | B1 |
6182162 | Estakhri et al. | Jan 2001 | B1 |
6202138 | Estakhri et al. | Mar 2001 | B1 |
6223308 | Estakhri et al. | Apr 2001 | B1 |
6226708 | McGoldrick et al. | May 2001 | B1 |
6230234 | Estakhri et al. | May 2001 | B1 |
6262918 | Estakhri et al. | Jul 2001 | B1 |
6272610 | Katayama et al. | Aug 2001 | B1 |
6279069 | Robinson et al. | Aug 2001 | B1 |
6279114 | Toombs et al. | Aug 2001 | B1 |
6374337 | Estakhri | Apr 2002 | B1 |
6393513 | Estakhri et al. | May 2002 | B1 |
6397314 | Estakhri et al. | May 2002 | B1 |
6411546 | Estakhri et al. | Jun 2002 | B1 |
6795917 | Ylonen | Sep 2004 | B1 |
20030033471 | Lin et al. | Feb 2003 | A1 |
Number | Date | Country |
---|---|---|
0 557 723 | Jan 1987 | AU |
0 220 718 | May 1987 | EP |
0 243 503 | Nov 1987 | EP |
0 392 895 | Oct 1990 | EP |
0 424 191 | Apr 1991 | EP |
0 489 204 | Jun 1992 | EP |
0 522 780 | Jan 1993 | EP |
0 522 780 | Jan 1993 | EP |
0 544 252 | Jun 1993 | EP |
0 613 151 | Aug 1994 | EP |
0 617 363 | Sep 1994 | EP |
0 619 541 | Oct 1994 | EP |
0 663 636 | Jul 1995 | EP |
0 686 976 | Dec 1995 | EP |
93 01908 | Aug 1993 | FR |
2 251 323 | Jul 1992 | GB |
2 291 990 | Feb 1996 | GB |
2 304 428 | Mar 1997 | GB |
2 321 728 | Aug 1998 | GB |
3-228377 | Oct 1981 | JP |
59-45695 | Sep 1982 | JP |
58-215794 | Dec 1983 | JP |
58-215795 | Dec 1983 | JP |
59-92483 | May 1984 | JP |
59-162695 | Sep 1984 | JP |
60-212900 | Oct 1985 | JP |
61-96598 | May 1986 | JP |
62-283497 | Feb 1987 | JP |
62-283496 | Dec 1987 | JP |
63-183700 | Jul 1988 | JP |
1-138694 | May 1989 | JP |
4-57295 | Feb 1992 | JP |
4-254994 | Sep 1992 | JP |
4-268284 | Sep 1992 | JP |
4-278297 | Oct 1992 | JP |
4-332999 | Nov 1992 | JP |
5-128877 | May 1993 | JP |
5-282883 | Oct 1993 | JP |
6-4399 | Jan 1994 | JP |
6-36578 | Feb 1994 | JP |
6-124175 | May 1994 | JP |
6-124231 | May 1994 | JP |
6-131889 | May 1994 | JP |
6-132747 | May 1994 | JP |
6-149395 | May 1994 | JP |
6-266596 | Sep 1994 | JP |
7-84871 | Mar 1995 | JP |
7-93499 | Apr 1995 | JP |
7-114499 | May 1995 | JP |
7-141258 | Jun 1995 | JP |
7-235193 | Sep 1995 | JP |
7-311708 | Nov 1995 | JP |
7-334996 | Dec 1995 | JP |
8-18018 | Jan 1996 | JP |
RM-37697 | Feb 1996 | JP |
8-69696 | Mar 1996 | JP |
9-147581 | Jun 1997 | JP |
11045212 | Feb 1999 | JP |
1388877 | Apr 1988 | SU |
1408439 | Jul 1988 | SU |
1515164 | Oct 1989 | SU |
1541619 | Feb 1990 | SU |
1573458 | Jun 1990 | SU |
1686449 | Oct 1991 | SU |
8400628 | Feb 1984 | WO |
WO 9420906 | Sep 1994 | WO |
Number | Date | Country | |
---|---|---|---|
20030099140 A1 | May 2003 | US |