Data storage device encoding and interleaving codewords to improve trellis sequence detection

Information

  • Patent Grant
  • 9761273
  • Patent Number
    9,761,273
  • Date Filed
    Tuesday, November 3, 2015
    9 years ago
  • Date Issued
    Tuesday, September 12, 2017
    7 years ago
Abstract
A data storage device is disclosed comprising a storage medium. First data is encoded into a first codeword, and second data is encoded into a second codeword, wherein a first code rate of the first codeword is less than a second code rate of the second codeword. The first codeword and the second codeword are interleaved to generate an interleaved codeword that is written to the storage medium.
Description
BACKGROUND

Data storage devices such as disk drives comprise a disk and a head connected to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk comprises a plurality of radially spaced, concentric tracks for recording user data sectors and servo sectors. The servo sectors comprise head positioning information (e.g., a track address) which is read by the head and processed by a servo control system to control the actuator arm as it seeks from track to track.



FIG. 1 shows a prior art disk format 2 as comprising a number of servo tracks 4 defined by servo sectors 60-6N recorded around the circumference of each servo track. Each servo sector 6i comprises a preamble 8 for storing a periodic pattern, which allows proper gain adjustment and timing synchronization of the read signal, and a sync mark 10 for storing a special pattern used to symbol synchronize to a servo data field 12. The servo data field 12 stores coarse head positioning information, such as a servo track address, used to position the head over a target data track during a seek operation. Each servo sector 6i further comprises groups of servo bursts 14 (e.g., N and Q servo bursts), which are recorded with a predetermined phase relative to one another and relative to the servo track centerlines. The phase based servo bursts 14 provide fine head position information used for centerline tracking while accessing a data track during write/read operations. A position error signal (PES) is generated by reading the servo bursts 14, wherein the PES represents a measured position of the head relative to a centerline of a target servo track. A servo controller processes the PES to generate a control signal applied to a head actuator (e.g., a voice coil motor) in order to actuate the head radially over the disk in a direction that reduces the PES.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a prior art disk format comprising a plurality of servo tracks defined by servo sectors.



FIG. 2A shows a data storage device in the form of a disk drive according to an embodiment comprising a head actuated over a disk.



FIG. 2B is a flow diagram according to an embodiment wherein first and second mixed rate codewords are interleaved to generate an interleaved codeword written to the disk.



FIG. 2C shows an embodiment wherein a first codeword having a code rate of N is interleaved with a larger, second codeword having a code rate greater than N.



FIG. 3 shows control circuitry according to an embodiment wherein the lower rate of the first codeword increases the accuracy of a trellis detector during a second and subsequent global iterations.



FIGS. 4A and 4B illustrate that when the first codeword is successfully decoded, the corresponding reliability metrics effectively prune branches from the trellis of the trellis detector when performing subsequent iterations to recover the second codeword.



FIG. 5 is a flow diagram according to an embodiment wherein the encoded codewords are first interleaved in a non-uniform (e.g., random) manner, and then the non-uniform interleaved codewords are interleaved in a uniform manner to generate an interleaved codeword written to the disk.





DETAILED DESCRIPTION


FIG. 2A shows a data storage device in the form of a disk drive according to an embodiment comprising a head 16 actuated over a disk 18. The disk drive further comprises control circuitry 20 configured to execute the flow diagram of FIG. 2B, wherein first data is encoded into a first codeword (block 22), and second data is encoded into a second codeword (block 24). The first codeword and the second codeword are interleaved to generate an interleaved codeword (block 26) that is written to the disk (block 28). In one embodiment, a first code rate of the first codeword is less than a second code rate of the second codeword as illustrated in the example shown in FIG. 2C. Also in the embodiment of FIG. 2C, the first codeword is smaller in size than the second codeword such that the code rate of the concatenated (interleaved) codeword achieves a desired format efficiency when written to the disk. As described in greater detail below, in one embodiment the lower code rate of the first codeword improves the probability of successfully decoding the first codeword, and when the first codeword is successfully decoded (or nearly decoded), the corresponding reliability metrics may improve the accuracy of a trellis detector when performing subsequent iterations to recover the second codeword.


In the embodiment of FIG. 2A, the disk 18 comprises a plurality of servo sectors 300-30N that define a plurality of servo tracks 32, wherein data tracks are defined relative to the servo tracks at the same or different radial density. The control circuitry 20 processes a read signal 34 emanating from the head 16 to demodulate the servo sectors 300-30N and generate a position error signal (PES) representing an error between the actual position of the head and a target position relative to a target track. A servo control system in the control circuitry 20 filters the PES using a suitable compensation filter to generate a control signal 36 applied to a voice coil motor (VCM) 38 which rotates an actuator arm 40 about a pivot in order to actuate the head 16 radially over the disk 18 in a direction that reduces the PES. The servo sectors 300-30N may comprise any suitable head position information, such as a track address for coarse positioning and servo bursts for fine positioning. The servo bursts may comprise any suitable pattern, such as an amplitude based servo pattern or a phase based servo pattern (FIG. 1).



FIG. 3 shows control circuitry according to an embodiment wherein first data is encoded by a first rate encoder 42A to generate a first codeword 44A, and second data is encoded by a second rate encoder 42B to generate a second codeword 44B. The encoders may operate according to any suitable encoding scheme, such as a low density parity check (LDPC) code, and the encoders may generate the codewords having any suitable code rate and size. In one embodiment, the first codeword 44A may be 1K in size and encoded to have a code rate of 0.65, and the second codeword 44B may be 3K in size and encoded to have a code rate of 0.85, such that the concatenated, interleaved codeword may be 4K in size and have an overall code rate of 0.8 which is proximate to the code rate of the larger, second codeword 44B.


A first non-uniform interleaver 46A interleaves the first codeword 44A to generate a first non-uniform interleaved codeword 48A, and a second non-uniform interleaver 46B interleaves the second codeword 44B to generate a second non-uniform interleaved codeword 48B. Any suitable non-uniform interleaver may be employed, wherein in one embodiment the non-uniform interleavers 46A and 46B operate to randomly interleave the symbols of the respective codewords. In one embodiment, randomly interleaving the symbols of each codeword improves the performance of an iterative detection scheme, such as with an outer LDPC code and an inner trellis detector. In the embodiment of FIG. 3, a uniform interleaver 50 interleaves the first and second non-uniform interleaved codewords 48A and 48B to generate the interleaved codeword 52 written to the disk 18. In the embodiment, the uniform interleaver 50 interleaves the codewords 48A and 48B based on the ratio of the codeword sizes. For example in an embodiment where the first non-uniform interleaved codeword 48A is 1K in size and the second non-uniform interleaved codeword 48B is 3K in size, the uniform interleaver 50 may perform a 1:3 interleaving of the symbols such that there is a repeating sequence of one symbol from the first codeword 48A followed by three symbols from the second codeword 48B (e.g., as illustrated in FIG. 2C).


During a read operation, the read signal 34 is processed by an analog-front-end (AFE) and equalizer circuitry 54 (which may comprise analog circuitry or digital circuitry or a combination of both). For example, in one embodiment block 54 may comprise an analog equalizer, followed by a sampler for sampling the read signal, followed by a digital equalizer that equalizes the signal samples based on a suitable response, such as a suitable partial response (e.g., PR4). The equalized signal samples 56 are input into a trellis detector 60 which processes the signal samples to generate a sequence of reliability metrics 62 representing the interleaved codeword that was written to the disk. Any suitable trellis detector 60 may be employed, such as a soft-input soft-output Viterbi detector or a Bahl, Cocke, Jelinek and Raviv (BCJR) detector. In addition, the trellis detector 60 may generate any suitable reliability metric for each symbol in the interleaved codeword, such as a log-likelihood ratio (LLR) representing a likelihood that each symbol was detected correctly.


A uniform de-interleaver 64 and respective non-uniform de-interleavers 66A and 66B de-interleave the sequence of reliability metrics 62 output by the trellis detector 60 into a first set of reliability metrics 68A representing the first codeword 44A and a second set of reliability metrics 68B representing the second codeword 44B. A first rate decoder 70A decodes the first set of reliability metrics 68A to generate a third set of reliability metrics 72A representing the first codeword 44A, and a second rate decoder 70B decodes the second set of reliability metrics 68B to generate a fourth set of reliability metrics 72B representing the second codeword 44B. The third set of reliability metrics 72A and the fourth set of reliability metrics 72B are re-interleaved to generate interleaved reliability metrics 74 representing the interleaved codeword. The interleaved reliability metrics 74 are input into the trellis detector 60 which performs another iteration to generate another sequence of reliability metrics 62 representing the interleaved codeword that was written to the disk.


In one embodiment, the decoders 70A and 70B execute local iterations on the respective sets of reliability metrics 68A and 68B. If the decoders reach their maximum iteration limit, the codeword is considered unrecoverable during the current global iteration, and therefore the current reliability metrics 72A and 72B generated by the decoders are re-interleaved and fed back to the trellis detector 60. In one embodiment, the increased redundancy that causes the lower code rate of the first codeword 44A helps improve the accuracy of the first rate decoder 70A such that the probability of successfully decoding the first codeword increases. If the first codeword is successfully decoded, but the second codeword is not successfully decoded, the reliability metrics 72A for the first codeword will be 100% which, as described below, effectively prunes branches from the trellis of the trellis detector 60. Even if the first codeword is not successfully decoded, the interim reliability metrics 72A generated by the first rate decoder 70A may be more accurate (i.e., closer to 100%) due to the increase in redundancy of the first codeword 44A. In either case, the higher reliability metrics 72A of the first codeword 44A bias the trellis detector 60 during the next global iteration so as to improve the accuracy of the trellis detector (for either or both of the codewords). That is, interleaving the higher reliability metrics 72A of the first codeword 44A with the lower reliability metrics 72B of the second codeword 44B may improve the accuracy of the trellis detector by pruning or biasing the branches corresponding to the symbols of the first codeword 44A.



FIGS. 4A and 4B illustrate how in one embodiment the lower rate of the first codeword 44A may prune the corresponding branches of the trellis during a second or subsequent global iteration. FIG. 4A shows a full trellis as implemented during the first global iteration wherein the symbols of both the first and second codeword are unknown. During a subsequent global iteration, the first codeword 44A may be successfully decoded by the first rate decoder 70A due to the lower code rate of the first codeword 44A. Accordingly as shown in FIG. 4B, the branches that correspond to the known symbols of the first codeword 44A are pruned from the trellis which increases the accuracy of the trellis detector 60 when detecting the symbols of the second codeword 44B. In one embodiment, the branches of the trellis may be literally pruned from the trellis based on the known symbols of the first codeword 44A, and in another embodiment, the reliability metrics being 100% for each symbol of the first codeword 44A biases the trellis so as to effectively prune the corresponding branches from the trellis.



FIG. 5 is a flow diagram according to an embodiment wherein first data is encoded into a first codeword (block 76), and second data is encoded into a second codeword (block 78). A non-uniform interleaving of the first codeword is executed to generate a first non-uniform interleaved codeword (block 80), and a non-uniform interleaving of the second codeword is executed to generate a second non-uniform interleaved codeword (block 82). A uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword is executed to generate an interleaved codeword (block 84), and the interleaved codeword is written to the disk (block 86). In one embodiment, the first codeword has a rate and/or size that is different from a rate and/or size of the second codeword as described above. In another embodiment, the first and second codewords may have the same rate and/or the same size. As described above, interleaving the codewords using a uniform interleaver may improve the accuracy of a trellis detector, particularly when the decoding of one of the codewords provides higher reliability metrics for the second and subsequent global iterations by the trellis detector.


In the embodiments described above, the symbols of two codewords are interleaved to generate the interleaved codeword written to the disk. However, in other embodiments more than two codewords may be interleaved, wherein the code rate and/or size of each codeword may vary (or be the same). For example, in one embodiment each codeword may have a progressively higher code rate and larger size, wherein the lower code rate codewords may be more readily decoded due to the increase in redundancy. In another embodiment when interleaving three or more codewords having the same or different code rate and/or size, the likelihood of successfully decoding at least one of the codewords may improve which may then cascade into the ability to successfully recover the remaining codewords.


Any suitable control circuitry may be employed to implement the flow diagrams in the above embodiments, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller, or certain operations described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into a SOC.


In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.


In various embodiments, a disk drive may include a magnetic disk drive, an optical disk drive, etc. In addition, while the above examples concern a disk drive, the various embodiments are not limited to a disk drive and can be applied to other data storage devices and systems, such as magnetic tape drives, solid state drives, hybrid drives, etc. In addition, some embodiments may include electronic devices such as computing devices, data server devices, media content storage devices, etc. that comprise the storage media and/or control circuitry as described above.


The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.


While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the embodiments disclosed herein.

Claims
  • 1. A data storage device comprising: a storage medium; andcontrol circuitry configured to: first encode first data into a first codeword;second encode second data into a second codeword, wherein a first code rate of the first codeword is less than a second code rate of the second codeword;interleave the first codeword and the second codeword to generate an interleaved codeword; andwrite the interleaved codeword to the storage medium.
  • 2. The data storage device as recited in claim 1, wherein a size of the first codeword is less than a size of the second codeword.
  • 3. The data storage device as recited in claim 1, wherein the control circuitry is further configured to: read the interleaved codeword from the storage medium to generate a read signal;sample the read signal to generate signal samples;process the signal samples with a trellis detector to generate a sequence of reliability metrics representing the interleaved codeword;de-interleave the sequence of reliability metrics into a first set of reliability metrics representing the first codeword and a second set of reliability metrics representing the second codeword;decode the first set of reliability metrics to generate a third set of reliability metrics representing the first codeword;decode the second set of reliability metrics to generate a fourth set of reliability metrics representing the second codeword;interleave the third set of reliability metrics and the fourth set of reliability metrics to generate interleaved reliability metrics representing the interleaved codeword; andprocess the interleaved reliability metrics with the trellis detector.
  • 4. The data storage device as recited in claim 3, wherein the first code rate of the first codeword increases the accuracy of the trellis detector when processing the interleaved reliability metrics.
  • 5. The data storage device as recited in claim 3, wherein the trellis detector implements a soft-input soft-output Viterbi algorithm.
  • 6. The data storage device as recited in claim 1, wherein the first encode and the second encode implement a low density parity check (LDPC) code, the first codeword is a first LDPC codeword, and the second codeword is a second LDPC codeword.
  • 7. The data storage device as recited in claim 1, wherein the control circuitry is further configured to interleave the first codeword and the second codeword by: executing a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;executing a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword; andexecuting a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate the interleaved codeword.
  • 8. The data storage device as recited in claim 7, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 9. A data storage device comprising: a storage medium; andcontrol circuitry configured to: encode first data into a first codeword;encode second data into a second codeword;execute a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;execute a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword;execute a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate an interleaved codeword; andwrite the interleaved codeword to the storage medium.
  • 10. The data storage device as recited in claim 9, wherein a size of the first codeword is less than a size of the second codeword.
  • 11. The data storage device as recited in claim 10, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 12. The data storage device as recited in claim 9, wherein a size of the first codeword is the same as the second codeword.
  • 13. A method of operating a data storage device, the method comprising: first encoding first data into a first codeword;second encoding second data into a second codeword, wherein a first code rate of the first codeword is less than a second code rate of the second codeword;interleaving the first codeword and the second codeword to generate an interleaved codeword; andwriting the interleaved codeword to a storage medium.
  • 14. The method as recited in claim 13, wherein a size of the first codeword is less than a size of the second codeword.
  • 15. The method as recited in claim 13, further comprising: reading the interleaved codeword from the storage medium to generate a read signal;sampling the read signal to generate signal samples;processing the signal samples with a trellis detector to generate a sequence of reliability metrics representing the interleaved codeword;de-interleaving the sequence of reliability metrics into a first set of reliability metrics representing the first codeword and a second set of reliability metrics representing the second codeword;decoding the first set of reliability metrics to generate a third set of reliability metrics representing the first codeword;decoding the second set of reliability metrics to generate a fourth set of reliability metrics representing the second codeword;interleaving the third set of reliability metrics and the fourth set of reliability metrics to generate interleaved reliability metrics representing the interleaved codeword; andprocessing the interleaved reliability metrics with the trellis detector.
  • 16. The method as recited in claim 15, wherein the first code rate of the first codeword increases the accuracy of the trellis detector when processing the interleaved reliability metrics.
  • 17. The method as recited in claim 15, wherein the trellis detector implements a soft-input soft-output Viterbi algorithm.
  • 18. The method as recited in claim 13, wherein the first encoding and the second encoding implement a low density parity check (LDPC) code, the first codeword is a first LDPC codeword, and the second codeword is a second LDPC codeword.
  • 19. The method as recited in claim 13, further comprising interleaving the first codeword and the second codeword by: executing a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;executing a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword; andexecuting a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate the interleaved codeword.
  • 20. The method as recited in claim 19, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 21. A method of operating data storage device, the method comprising: encoding first data into a first codeword;encoding second data into a second codeword;executing a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;executing a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword;executing a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate an interleaved codeword; andwriting the interleaved codeword to a storage medium.
  • 22. The method as recited in claim 21, wherein a size of the first codeword is less than a size of the second codeword.
  • 23. The method as recited in claim 22, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 24. The method as recited in claim 21, wherein a size of the first codeword is the same as the second codeword.
  • 25. Control circuitry for use in a data storage device comprising a storage medium, the control circuitry configured to: first encode first data into a first codeword;second encode second data into a second codeword, wherein a first code rate of the first codeword is less than a second code rate of the second codeword;interleave the first codeword and the second codeword to generate an interleaved codeword; andwrite the interleaved codeword to the storage medium.
  • 26. The control circuitry as recited in claim 25, wherein a size of the first codeword is less than a size of the second codeword.
  • 27. The control circuitry as recited in claim 25, wherein the control circuitry is further configured to: read the interleaved codeword from the storage medium to generate a read signal;sample the read signal to generate signal samples;process the signal samples with a trellis detector to generate a sequence of reliability metrics representing the interleaved codeword;de-interleave the sequence of reliability metrics into a first set of reliability metrics representing the first codeword and a second set of reliability metrics representing the second codeword;decode the first set of reliability metrics to generate a third set of reliability metrics representing the first codeword;decode the second set of reliability metrics to generate a fourth set of reliability metrics representing the second codeword;interleave the third set of reliability metrics and the fourth set of reliability metrics to generate interleaved reliability metrics representing the interleaved codeword; andprocess the interleaved reliability metrics with the trellis detector.
  • 28. The control circuitry as recited in claim 27, wherein the first code rate of the first codeword increases the accuracy of the trellis detector when processing the interleaved reliability metrics.
  • 29. The control circuitry as recited in claim 27, wherein the trellis detector implements a soft-input soft-output Viterbi algorithm.
  • 30. The control circuitry as recited in claim 25, wherein the first encode and the second encode implement a low density parity check (LDPC) code, the first codeword is a first LDPC codeword, and the second codeword is a second LDPC codeword.
  • 31. The control circuitry as recited in claim 25, wherein the control circuitry is further configured to interleave the first codeword and the second codeword by: executing a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;executing a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword; andexecuting a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate the interleaved codeword.
  • 32. The control circuitry as recited in claim 31, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 33. Control circuitry for use in a data storage comprising a storage medium, the control circuitry configured to: encode first data into a first codeword;encode second data into a second codeword;execute a non-uniform interleaving of the first codeword to generate a first non-uniform interleaved codeword;execute a non-uniform interleaving of the second codeword to generate a second non-uniform interleaved codeword;execute a uniform interleaving of the first non-uniform interleaved codeword and the second non-uniform interleaved codeword to generate an interleaved codeword; andwrite the interleaved codeword to the storage medium.
  • 34. The control circuitry as recited in claim 33, wherein a size of the first codeword is less than a size of the second codeword.
  • 35. The control circuitry as recited in claim 34, wherein the interleaved codeword comprises a repeating sequence of symbols of one symbol from the first non-uniform interleaved codeword and at least two symbols from the second non-uniform interleaved codeword.
  • 36. The control circuitry as recited in claim 33, wherein a size of the first codeword is the same as the second codeword.
US Referenced Citations (492)
Number Name Date Kind
5898710 Amrany Apr 1999 A
6018789 Sokolov et al. Jan 2000 A
6065095 Sokolov et al. May 2000 A
6078452 Kittilson et al. Jun 2000 A
6081447 Lofgren et al. Jun 2000 A
6092149 Hicken et al. Jul 2000 A
6092150 Sokolov et al. Jul 2000 A
6094707 Sokolov et al. Jul 2000 A
6105104 Guttmann et al. Aug 2000 A
6111717 Cloke et al. Aug 2000 A
6145052 Howe et al. Nov 2000 A
6175893 D'Souza et al. Jan 2001 B1
6178056 Cloke et al. Jan 2001 B1
6191909 Cloke et al. Feb 2001 B1
6195218 Guttmann et al. Feb 2001 B1
6205494 Williams Mar 2001 B1
6208477 Cloke et al. Mar 2001 B1
6223303 Billings et al. Apr 2001 B1
6230233 Lofgren et al. May 2001 B1
6246346 Cloke et al. Jun 2001 B1
6249393 Billings et al. Jun 2001 B1
6256695 Williams Jul 2001 B1
6262857 Hull et al. Jul 2001 B1
6263459 Schibilla Jul 2001 B1
6272694 Weaver et al. Aug 2001 B1
6278568 Cloke et al. Aug 2001 B1
6279089 Schibilla et al. Aug 2001 B1
6289484 Rothberg et al. Sep 2001 B1
6292912 Cloke et al. Sep 2001 B1
6310740 Dunbar et al. Oct 2001 B1
6317850 Rothberg Nov 2001 B1
6327106 Rothberg Dec 2001 B1
6337778 Gagne Jan 2002 B1
6369969 Christiansen et al. Apr 2002 B1
6384999 Schibilla May 2002 B1
6388833 Golowka et al. May 2002 B1
6405342 Lee Jun 2002 B1
6408357 Hanmann et al. Jun 2002 B1
6408406 Parris Jun 2002 B1
6411452 Cloke Jun 2002 B1
6411458 Billings et al. Jun 2002 B1
6412083 Rothberg et al. Jun 2002 B1
6415349 Hull et al. Jul 2002 B1
6425128 Krapf et al. Jul 2002 B1
6441981 Cloke et al. Aug 2002 B1
6442328 Elliott et al. Aug 2002 B1
6445524 Nazarian et al. Sep 2002 B1
6449767 Krapf et al. Sep 2002 B1
6453115 Boyle Sep 2002 B1
6470420 Hospodor Oct 2002 B1
6480020 Jung et al. Nov 2002 B1
6480349 Kim et al. Nov 2002 B1
6480932 Vallis et al. Nov 2002 B1
6483986 Krapf Nov 2002 B1
6487032 Cloke et al. Nov 2002 B1
6490635 Holmes Dec 2002 B1
6493173 Kim et al. Dec 2002 B1
6499083 Hamlin Dec 2002 B1
6499128 Gerlach Dec 2002 B1
6519104 Cloke et al. Feb 2003 B1
6525892 Dunbar et al. Feb 2003 B1
6545830 Briggs et al. Apr 2003 B1
6546489 Frank, Jr. et al. Apr 2003 B1
6550021 Dalphy et al. Apr 2003 B1
6552880 Dunbar et al. Apr 2003 B1
6553457 Wilkins et al. Apr 2003 B1
6578106 Price Jun 2003 B1
6580573 Hull et al. Jun 2003 B1
6594183 Lofgren et al. Jul 2003 B1
6600620 Krounbi et al. Jul 2003 B1
6601137 Castro et al. Jul 2003 B1
6603622 Christiansen et al. Aug 2003 B1
6603625 Hospodor et al. Aug 2003 B1
6604220 Lee Aug 2003 B1
6606682 Dang et al. Aug 2003 B1
6606714 Thelin Aug 2003 B1
6606717 Yu et al. Aug 2003 B1
6611393 Nguyen et al. Aug 2003 B1
6615312 Hamlin et al. Sep 2003 B1
6639748 Christiansen et al. Oct 2003 B1
6647481 Luu et al. Nov 2003 B1
6654193 Thelin Nov 2003 B1
6657810 Kupferman Dec 2003 B1
6661591 Rothberg Dec 2003 B1
6665772 Hamlin Dec 2003 B1
6687073 Kupferman Feb 2004 B1
6687078 Kim Feb 2004 B1
6687850 Rothberg Feb 2004 B1
6690523 Nguyen et al. Feb 2004 B1
6690882 Hanmann et al. Feb 2004 B1
6691198 Hamlin Feb 2004 B1
6691213 Luu et al. Feb 2004 B1
6691255 Rothberg et al. Feb 2004 B1
6693760 Krounbi et al. Feb 2004 B1
6694477 Lee Feb 2004 B1
6697914 Hospodor et al. Feb 2004 B1
6704153 Rothberg et al. Mar 2004 B1
6708251 Boyle et al. Mar 2004 B1
6710951 Cloke Mar 2004 B1
6711628 Thelin Mar 2004 B1
6711635 Wang Mar 2004 B1
6711660 Milne et al. Mar 2004 B1
6715044 Lofgren et al. Mar 2004 B2
6724982 Hamlin Apr 2004 B1
6725329 Ng et al. Apr 2004 B1
6735650 Rothberg May 2004 B1
6735693 Hamlin May 2004 B1
6744772 Eneboe et al. Jun 2004 B1
6745283 Dang Jun 2004 B1
6751402 Elliott et al. Jun 2004 B1
6757481 Nazarian et al. Jun 2004 B1
6772281 Hamlin Aug 2004 B2
6781826 Goldstone et al. Aug 2004 B1
6782449 Codilian et al. Aug 2004 B1
6791779 Singh et al. Sep 2004 B1
6792486 Hanan et al. Sep 2004 B1
6799274 Hamlin Sep 2004 B1
6811427 Garrett et al. Nov 2004 B2
6826003 Subrahmanyam Nov 2004 B1
6826614 Hanmann et al. Nov 2004 B1
6832041 Boyle Dec 2004 B1
6832929 Garrett et al. Dec 2004 B2
6845405 Thelin Jan 2005 B1
6845427 Atai-Azimi Jan 2005 B1
6850443 Lofgren et al. Feb 2005 B2
6851055 Boyle et al. Feb 2005 B1
6851063 Boyle et al. Feb 2005 B1
6853731 Boyle et al. Feb 2005 B1
6854022 Thelin Feb 2005 B1
6862660 Wilkins et al. Mar 2005 B1
6880043 Castro et al. Apr 2005 B1
6882486 Kupferman Apr 2005 B1
6884085 Goldstone Apr 2005 B1
6888831 Hospodor et al. May 2005 B1
6892217 Hanmann et al. May 2005 B1
6892249 Codilian et al. May 2005 B1
6892313 Codilian et al. May 2005 B1
6895455 Rothberg May 2005 B1
6895500 Rothberg May 2005 B1
6898730 Hanan May 2005 B1
6910099 Wang et al. Jun 2005 B1
6928470 Hamlin Aug 2005 B1
6931439 Hanmann et al. Aug 2005 B1
6934104 Kupferman Aug 2005 B1
6934713 Schwartz et al. Aug 2005 B2
6940873 Boyle et al. Sep 2005 B2
6943978 Lee Sep 2005 B1
6948165 Luu et al. Sep 2005 B1
6950267 Liu et al. Sep 2005 B1
6954733 Ellis et al. Oct 2005 B1
6961814 Thelin et al. Nov 2005 B1
6965489 Lee et al. Nov 2005 B1
6965563 Hospodor et al. Nov 2005 B1
6965966 Rothberg et al. Nov 2005 B1
6967799 Lee Nov 2005 B1
6968422 Codilian et al. Nov 2005 B1
6968450 Rothberg et al. Nov 2005 B1
6973495 Milne et al. Dec 2005 B1
6973570 Hamlin Dec 2005 B1
6976190 Goldstone Dec 2005 B1
6983316 Milne et al. Jan 2006 B1
6986007 Procyk et al. Jan 2006 B1
6986154 Price et al. Jan 2006 B1
6995933 Codilian et al. Feb 2006 B1
6996501 Rothberg Feb 2006 B1
6996669 Dang et al. Feb 2006 B1
7002926 Eneboe et al. Feb 2006 B1
7003674 Hamlin Feb 2006 B1
7006316 Sargenti, Jr. et al. Feb 2006 B1
7009820 Hogg Mar 2006 B1
7023639 Kupferman Apr 2006 B1
7024491 Hanmann et al. Apr 2006 B1
7024549 Luu et al. Apr 2006 B1
7024614 Thelin et al. Apr 2006 B1
7027716 Boyle et al. Apr 2006 B1
7028174 Atai-Azimi et al. Apr 2006 B1
7031902 Catiller Apr 2006 B1
7046465 Kupferman May 2006 B1
7046488 Hogg May 2006 B1
7050252 Vallis May 2006 B1
7054937 Milne et al. May 2006 B1
7055000 Severtson May 2006 B1
7055167 Masters May 2006 B1
7057836 Kupferman Jun 2006 B1
7062398 Rothberg Jun 2006 B1
7075746 Kupferman Jul 2006 B1
7076604 Thelin Jul 2006 B1
7082494 Thelin et al. Jul 2006 B1
7088538 Codilian et al. Aug 2006 B1
7088545 Singh et al. Aug 2006 B1
7092186 Hogg Aug 2006 B1
7095577 Codilian et al. Aug 2006 B1
7099095 Subrahmanyam et al. Aug 2006 B1
7106537 Bennett Sep 2006 B1
7106947 Boyle et al. Sep 2006 B2
7110202 Vasquez Sep 2006 B1
7111116 Boyle et al. Sep 2006 B1
7114029 Thelin Sep 2006 B1
7120737 Thelin Oct 2006 B1
7120806 Codilian et al. Oct 2006 B1
7126776 Warren, Jr. et al. Oct 2006 B1
7129763 Bennett et al. Oct 2006 B1
7133600 Boyle Nov 2006 B1
7136244 Rothberg Nov 2006 B1
7146094 Boyle Dec 2006 B1
7149046 Coker et al. Dec 2006 B1
7150036 Milne et al. Dec 2006 B1
7155616 Hamlin Dec 2006 B1
7171108 Masters et al. Jan 2007 B1
7171110 Wilshire Jan 2007 B1
7194576 Boyle Mar 2007 B1
7200698 Rothberg Apr 2007 B1
7205805 Bennett Apr 2007 B1
7206497 Boyle et al. Apr 2007 B1
7215496 Kupferman et al. May 2007 B1
7215771 Hamlin May 2007 B1
7237054 Cain et al. Jun 2007 B1
7240161 Boyle Jul 2007 B1
7249365 Price et al. Jul 2007 B1
7263709 Krapf Aug 2007 B1
7274639 Codilian et al. Sep 2007 B1
7274659 Hospodor Sep 2007 B2
7275116 Hanmann et al. Sep 2007 B1
7280302 Masiewicz Oct 2007 B1
7292774 Masters et al. Nov 2007 B1
7292775 Boyle et al. Nov 2007 B1
7296284 Price et al. Nov 2007 B1
7302501 Cain et al. Nov 2007 B1
7302579 Cain et al. Nov 2007 B1
7318088 Mann Jan 2008 B1
7319806 Willner et al. Jan 2008 B1
7325244 Boyle et al. Jan 2008 B2
7330323 Singh et al. Feb 2008 B1
7346790 Klein Mar 2008 B1
7366641 Masiewicz et al. Apr 2008 B1
7369340 Dang et al. May 2008 B1
7369343 Yeo et al. May 2008 B1
7372650 Kupferman May 2008 B1
7380147 Sun May 2008 B1
7392340 Dang et al. Jun 2008 B1
7395461 Argon et al. Jul 2008 B2
7404013 Masiewicz Jul 2008 B1
7406545 Rothberg et al. Jul 2008 B1
7415571 Hanan Aug 2008 B1
7436610 Thelin Oct 2008 B1
7437502 Coker Oct 2008 B1
7440214 Ell et al. Oct 2008 B1
7451344 Rothberg Nov 2008 B1
7471483 Ferris et al. Dec 2008 B1
7471486 Coker et al. Dec 2008 B1
7486060 Bennett Feb 2009 B1
7496493 Stevens Feb 2009 B1
7518819 Yu et al. Apr 2009 B1
7519895 Kyung et al. Apr 2009 B2
7526184 Parkinen et al. Apr 2009 B1
7539924 Vasquez et al. May 2009 B1
7543117 Hanan Jun 2009 B1
7551383 Kupferman Jun 2009 B1
7562282 Rothberg Jul 2009 B1
7577973 Kapner, III et al. Aug 2009 B1
7596797 Kapner, III et al. Sep 2009 B1
7599139 Bombet et al. Oct 2009 B1
7619841 Kupferman Nov 2009 B1
7647544 Masiewicz Jan 2010 B1
7649704 Bombet et al. Jan 2010 B1
7653927 Kapner, III et al. Jan 2010 B1
7656603 Xing Feb 2010 B1
7656763 Jin et al. Feb 2010 B1
7657149 Boyle Feb 2010 B2
7672072 Boyle et al. Mar 2010 B1
7673075 Masiewicz Mar 2010 B1
7688540 Mei et al. Mar 2010 B1
7724461 McFadyen et al. May 2010 B1
7725584 Hanmann et al. May 2010 B1
7730295 Lee Jun 2010 B1
7760458 Trinh Jul 2010 B1
7768776 Szeremeta et al. Aug 2010 B1
7804657 Hogg et al. Sep 2010 B1
7813954 Price et al. Oct 2010 B1
7827320 Stevens Nov 2010 B1
7839588 Dang et al. Nov 2010 B1
7843660 Yeo Nov 2010 B1
7852596 Boyle et al. Dec 2010 B2
7859782 Lee Dec 2010 B1
7872822 Rothberg Jan 2011 B1
7898756 Wang Mar 2011 B1
7898762 Guo et al. Mar 2011 B1
7900037 Fallone et al. Mar 2011 B1
7907364 Boyle et al. Mar 2011 B2
7929234 Boyle et al. Apr 2011 B1
7933087 Tsai et al. Apr 2011 B1
7933090 Jung et al. Apr 2011 B1
7934030 Sargenti, Jr. et al. Apr 2011 B1
7940491 Szeremeta et al. May 2011 B2
7944639 Wang May 2011 B1
7945727 Rothberg et al. May 2011 B2
7949564 Hughes et al. May 2011 B1
7974029 Tsai et al. Jul 2011 B2
7974039 Xu et al. Jul 2011 B1
7982993 Tsai et al. Jul 2011 B1
7984200 Bombet et al. Jul 2011 B1
7990648 Wang Aug 2011 B1
7992179 Kapner, III et al. Aug 2011 B1
8004785 Tsai et al. Aug 2011 B1
8006027 Stevens et al. Aug 2011 B1
8014094 Jin Sep 2011 B1
8014977 Masiewicz et al. Sep 2011 B1
8019914 Vasquez et al. Sep 2011 B1
8040625 Boyle et al. Oct 2011 B1
8078943 Lee Dec 2011 B1
8079045 Krapf et al. Dec 2011 B2
8082433 Fallone et al. Dec 2011 B1
8085487 Jung et al. Dec 2011 B1
8089719 Dakroub Jan 2012 B1
8090902 Bennett et al. Jan 2012 B1
8090906 Blaha et al. Jan 2012 B1
8091112 Elliott et al. Jan 2012 B1
8094396 Zhang et al. Jan 2012 B1
8094401 Peng et al. Jan 2012 B1
8116020 Lee Feb 2012 B1
8116025 Chan et al. Feb 2012 B1
8134793 Vasquez et al. Mar 2012 B1
8134798 Thelin et al. Mar 2012 B1
8139301 Li et al. Mar 2012 B1
8139310 Hogg Mar 2012 B1
8144419 Liu Mar 2012 B1
8145452 Masiewicz et al. Mar 2012 B1
8149528 Suratman et al. Apr 2012 B1
8154812 Boyle et al. Apr 2012 B1
8159768 Miyamura Apr 2012 B1
8161328 Wilshire Apr 2012 B1
8164849 Szeremeta et al. Apr 2012 B1
8174780 Tsai et al. May 2012 B1
8190575 Ong et al. May 2012 B1
8194338 Zhang Jun 2012 B1
8194340 Boyle et al. Jun 2012 B1
8194341 Boyle Jun 2012 B1
8201066 Wang Jun 2012 B1
8225173 Shasha Jul 2012 B2
8255768 Hu et al. Aug 2012 B2
8271692 Dinh et al. Sep 2012 B1
8279550 Hogg Oct 2012 B1
8281218 Ybarra et al. Oct 2012 B1
8285923 Stevens Oct 2012 B2
8289656 Huber Oct 2012 B1
8305705 Roohr Nov 2012 B1
8307156 Codilian et al. Nov 2012 B1
8310775 Boguslawski et al. Nov 2012 B1
8315006 Chahwan et al. Nov 2012 B1
8316263 Gough et al. Nov 2012 B1
8320067 Tsai et al. Nov 2012 B1
8324974 Bennett Dec 2012 B1
8332695 Dalphy et al. Dec 2012 B2
8339919 Lee Dec 2012 B1
8341337 Ong et al. Dec 2012 B1
8350628 Bennett Jan 2013 B1
8356184 Meyer et al. Jan 2013 B1
8359522 Gunnam et al. Jan 2013 B2
8370683 Ryan et al. Feb 2013 B1
8375225 Ybarra Feb 2013 B1
8375274 Bonke Feb 2013 B1
8380922 DeForest et al. Feb 2013 B1
8386880 Savin Feb 2013 B2
8390948 Hogg Mar 2013 B2
8390952 Szeremeta Mar 2013 B1
8392689 Lott Mar 2013 B1
8407393 Yolar et al. Mar 2013 B1
8413010 Vasquez et al. Apr 2013 B1
8417566 Price et al. Apr 2013 B2
8421663 Bennett Apr 2013 B1
8422172 Dakroub et al. Apr 2013 B1
8427770 O'Dell et al. Apr 2013 B1
8427771 Tsai Apr 2013 B1
8429343 Tsai Apr 2013 B1
8433937 Wheelock et al. Apr 2013 B1
8433977 Vasquez et al. Apr 2013 B1
8441750 Nangare et al. May 2013 B1
8441909 Thayamballi et al. May 2013 B1
8456980 Thayamballi Jun 2013 B1
8458526 Dalphy et al. Jun 2013 B2
8462466 Huber Jun 2013 B2
8467151 Huber Jun 2013 B1
8483027 Mak et al. Jul 2013 B1
8489841 Strecke et al. Jul 2013 B1
8493679 Boguslawski et al. Jul 2013 B1
8499198 Messenger et al. Jul 2013 B1
8514506 Li et al. Aug 2013 B1
8525707 Zhang et al. Sep 2013 B1
8554741 Malina Oct 2013 B1
8560759 Boyle et al. Oct 2013 B1
8576509 Hogg Nov 2013 B1
8576511 Coker et al. Nov 2013 B1
8578100 Huynh et al. Nov 2013 B1
8578242 Burton et al. Nov 2013 B1
8582223 Garani et al. Nov 2013 B1
8582231 Kermiche et al. Nov 2013 B1
8589773 Wang et al. Nov 2013 B1
8593753 Anderson Nov 2013 B1
8599512 Hogg Dec 2013 B2
8605379 Sun Dec 2013 B1
8611031 Tan et al. Dec 2013 B1
8611032 Champion et al. Dec 2013 B2
8612798 Tsai Dec 2013 B1
8619383 Jung et al. Dec 2013 B1
8619508 Krichevsky et al. Dec 2013 B1
8619529 Liew et al. Dec 2013 B1
8621115 Bombet et al. Dec 2013 B1
8621133 Boyle Dec 2013 B1
8625224 Lin et al. Jan 2014 B1
8625225 Wang Jan 2014 B1
8626463 Stevens et al. Jan 2014 B2
8630052 Jung et al. Jan 2014 B1
8631188 Heath et al. Jan 2014 B1
8635412 Wilshire Jan 2014 B1
8661193 Cobos et al. Feb 2014 B1
8665547 Yeo et al. Mar 2014 B1
8667248 Neppalli Mar 2014 B1
8670205 Malina et al. Mar 2014 B1
8671250 Lee Mar 2014 B2
8681442 Hogg Mar 2014 B2
8681445 Kermiche et al. Mar 2014 B1
8683295 Syu et al. Mar 2014 B1
8687306 Coker et al. Apr 2014 B1
8687307 Patton, III Apr 2014 B1
8687313 Selvaraj Apr 2014 B2
8693133 Lee et al. Apr 2014 B1
8698492 Mak et al. Apr 2014 B1
8699171 Boyle Apr 2014 B1
8699172 Gunderson et al. Apr 2014 B1
8711500 Fong et al. Apr 2014 B1
8711506 Giovenzana et al. Apr 2014 B1
8711665 Abdul Hamid Apr 2014 B1
8717694 Liew et al. May 2014 B1
8717695 Lin et al. May 2014 B1
8724248 Dhanda et al. May 2014 B2
8730612 Haralson May 2014 B1
8743502 Bonke et al. Jun 2014 B1
8749911 Sun et al. Jun 2014 B1
8753146 Szeremeta et al. Jun 2014 B1
8755136 Ng et al. Jun 2014 B1
8756361 Carlson et al. Jun 2014 B1
8760782 Garani et al. Jun 2014 B1
8760792 Tam Jun 2014 B1
8769593 Schwartz et al. Jul 2014 B1
8773793 McFadyen Jul 2014 B1
8773802 Anderson et al. Jul 2014 B1
8773807 Chia et al. Jul 2014 B1
8773957 Champion et al. Jul 2014 B1
8780470 Wang et al. Jul 2014 B1
8782334 Boyle et al. Jul 2014 B1
8786976 Kang et al. Jul 2014 B1
8787125 Lee Jul 2014 B1
8792195 Chang et al. Jul 2014 B2
8792196 Lee Jul 2014 B1
8792200 Tam et al. Jul 2014 B1
8793551 Zhou et al. Jul 2014 B2
8797667 Barlow et al. Aug 2014 B1
8799977 Kapner, III et al. Aug 2014 B1
8817413 Knigge et al. Aug 2014 B1
8817584 Selvaraj Aug 2014 B1
8825976 Jones Sep 2014 B1
8825977 Syu et al. Sep 2014 B1
8854755 Chang et al. Oct 2014 B2
8914705 Zeng et al. Dec 2014 B1
8924824 Lu Dec 2014 B1
8941943 Coker et al. Jan 2015 B1
8947804 Li et al. Feb 2015 B2
8947812 Wang Feb 2015 B1
8966339 Lu Feb 2015 B1
8972826 Lu Mar 2015 B2
8977941 Chaichanavong et al. Mar 2015 B2
9013821 Chen Apr 2015 B1
9013824 Guo et al. Apr 2015 B1
9013920 Stoev et al. Apr 2015 B2
9037951 Cideciyan May 2015 B2
9059737 Coker Jun 2015 B2
9059742 Anderson et al. Jun 2015 B1
9071266 Wu et al. Jun 2015 B2
9203434 Garani Dec 2015 B1
9257146 Wang et al. Feb 2016 B1
20050149841 Kyung et al. Jul 2005 A1
20070044000 Shen Feb 2007 A1
20090113702 Hogg May 2009 A1
20100185914 Tan Jul 2010 A1
20100306551 Meyer et al. Dec 2010 A1
20110226729 Hogg Sep 2011 A1
20120159042 Lott et al. Jun 2012 A1
20120275050 Wilson et al. Nov 2012 A1
20120281963 Krapf et al. Nov 2012 A1
20120324980 Nguyen et al. Dec 2012 A1
20150026541 Zhang et al. Jan 2015 A1
20150058704 Schell et al. Feb 2015 A1