In certain embodiments, an apparatus may include a circuit configured to generate, by an analog to digital converter (ADC), one or more ADC samples based on an input signal. The circuit may be further configured to generate a first estimated signal using a first channel pulse response estimation with a gain constraint based on the one or more ADC samples and generate a second estimated signal using a second channel pulse response estimation with a phase constraint based on the one or more ADC samples.
In certain embodiments, a system may comprise an ADC circuit configured to generate one or more ADC samples based on an input signal. The system may also include a first channel pulse response estimate circuit configured to generate a first estimated signal using a first channel pulse response estimation with a gain constraint based on the one or more ADC samples. Moreover, the system may include a second channel pulse response estimate circuit configured to generate a second estimated signal using a second channel pulse response estimation with a phase constraint based on the one or more ADC samples.
In certain embodiments, a method may include generating, by an analog to digital converter (ADC), one or more ADC samples based on an input signal. The method may further include generating a first estimated signal using a first channel pulse response estimation with a gain constraint based on the one or more ADC samples and generating a second estimated signal using a second channel pulse response estimation with a phase constraint based on the one or more ADC samples. In addition, the method may include, during a preamble portion of the input signal, determining a gain control parameter for a variable gain amplifier (VGA) generating the input signal based on the second estimated signal.
In the following detailed description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which are shown by way of illustrations. It is to be understood that features of the various described embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the scope of the present disclosure. It is also to be understood that features of the various embodiments and examples herein can be combined, exchanged, or removed without departing from the scope of the present disclosure.
In accordance with various embodiments, the methods and functions described herein may be implemented as one or more software programs running on a computer processor or controller. In accordance with another embodiment, the methods and functions described herein may be implemented as one or more software programs running on a computing device, such as a personal computer that is using a disc drive. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays, and other hardware devices can likewise be constructed to implement the methods and functions described herein. Further, the methods described herein may be implemented as a computer readable storage medium or device including instructions that when executed cause a processor to perform the methods.
The present disclosure generally relates to adjusting an amplitude and phase of a signal being input to an analog to digital converter, for example, of a read channel. In some example embodiments, the adjustment of the amplitude and phase of the signal may be performed based on multiple channel pulse response estimations, for example, with different constraints.
In some recording systems according to this disclosure, a signal read from a disk may be first amplified by a pre-amplifier. The signal then may pass through an analog front end (AFE) before it is sampled by an analog-to-digital converter (ADC). The AFE may include a variable-gain amplifier (VGA) that may scale the signal range at the input of the ADC, for example, to effectively utilize the full range of the ADC. In some cases, if the input of the ADC is not scaled to the signal range of the ADC, quantization, noise, and saturation of the output of the ADC may severely degrade the performance of the system. Similarly, a phase interpolator of a sampling clock of the ADC may be utilized to adjust the sampling by the ADC to better detect the signal read from a disk.
In some magnetic recording systems, the information stored in a sector of a disk may include an acquisition portion and a user data portion. In some embodiments, the acquisition portion is a preamble. The preamble may precede the user data portion, and the preamble's data pattern may be known. For example, the preamble may comprise repetitions of the bit pattern [+1+1 −1 −1].
Some systems may have an acquisition gain-loop to adjust the VGA gain during the preamble and a tracking gain-loop to adjust the VGA gain during the user data portion of the sector. The acquisition gain-loop may adjust the VGA gain such that the amplitude at the input of the ADC converges to a targeted value (e.g., an acquisition target amplitude AT) and the tracking gain-loop may adjust the VGA gain to enable the signal at the input of the ADC to maximize the utilization of the range of the ADC.
Similarly, some systems may have an acquisition timing-loop to adjust the sampling clock phase during the preamble and a tracking timing-loop to adjust the sampling clock phase during the user data portion of the sector. The acquisition timing-loop may adjust the sampling clock phase of the ADC such that the sampling clock phase of the ADC converges to a targeted value (e.g., an acquisition target phase θT) and the tracking timing-loop may adjust the sampling clock phase such that the sampling clock phase does not drift during the user data.
In some embodiments, the acquisition-tracking system may utilize channel response estimates with, for example, different constraints. In particular, in some examples, the acquisition gain-loop, the acquisition timing-loop and the tracking timing-loop may utilize a channel response estimate with a phase constraint but without an amplitude or gain constraint. In some such examples, the tracking gain-loop may utilize a channel response estimate with an amplitude or gain constraint but without a phase constraint. In other examples, the acquisition gain-loop may utilize a channel response estimate without either gain constraint or phase constraint, the acquisition timing-loop and the tracking timing-loop may utilize a channel response estimate with a phase constraint but without a gain constraint, and the tracking gain-loop may utilize a channel response estimate with a gain constraint but without a phase constraint. Other variations are possible.
In the example shown, the system 100 may read data from storage media (e.g., Flash storage or magnetic disk storage). In some other embodiments, the techniques described herein may be used in a communications system and may be implemented in a wired or wireless transmitter and/or receiver.
In some embodiments, the preamble 202 and the user data 204 are used to adjust the VGA gain and to synchronize the sampling phase of the ADC.
Herein, an automatic gain control (AGC) circuit for adjusting the VGA gain during preamble 202 may be referred to as an acquisition gain-loop, while the AGC circuit for adjusting the VGA gain during user data portion 204 may be referred to as a tracking gain-loop. Similarly, a phase control circuit for adjusting the sampling phase of the ADC during preamble 202 may be referred to as an acquisition timing-loop, while the phase control circuit for adjusting the sampling phase of the ADC during user data portion 204 may be referred to as a tracking timing-loop.
The acquisition gain-loop may adjust the VGA gain during preamble 202 such that the preamble amplitude at the input of ADC 106 may converge to an amplitude target AT, while the tracking gain-loop may adjust the VGA gain such that the signal range at the input of ADC 106 may effectively utilize the full range of ADC 106. As mentioned above, the preamble 202 may be a known data pattern and, as such, the acquisition gain-loop may operate without risk of erroneous adjustment (e.g. from an erroneous decision by a detector). However, because the length of preamble 202 may not be very long, and because received signal range variation may arise in the middle of a user data portion 204 which cannot be compensated for by the acquisition gain-loop, a tracking gain-loop may be used to adjust the VGA gain during user data portion 204 as well.
The acquisition timing-loop may adjust the sampling phase of the ADC during preamble 202 such that the sampling of the preamble at the ADC 106 may converge to a preamble phase target θT, while the tracking timing-loop may adjust the sampling phase of the ADC such that the sampling phase of the user data portion 204 by the ADC 106 does not drift. Some embodiments may include the tracking timing-loop for similar reasons to those discussed above for the tracking gain-loop.
In some examples, different algorithms may be used during acquisition and tracking for adjustments of the ADC parameters, for example, because of different data patterns and assumptions. As such, in some examples, the system may be configured to provide converged values for acquisition and tracking that may be close or equivalent such that the transient period from acquisition to tracking may be reduced. Some embodiments may be configured to use multiple channel pulse response estimates with different constraints which may provide improved loop consistency between the two stages of the loops.
Each of the VGA 302, ADC 304, phase interpolator 306, PREG 308, PREθ310, low latency detector 312, acquisition gain-loop 316, tracking gain-loop 314, acquisition timing-loop 318, tracking timing-loop 320, MUX 322 and MUX 324 may be a separate circuit, a system on chip (SOC), firmware, a processor(s), or other system not listed, or any combination thereof. For example, the VGA 302 and the phase interpolator 306 may be included within an AFE, the ADC 304, another circuit or may be independent circuits.
In operation, the VGA 302 may receive a continuous-time signal y 326. The VGA 302 may apply a gain to the continuous-time signal y 326 to generate a gain compensated continuous-time signal y′ 328. The VGA 302 may then output the gain compensated continuous-time signal y′ 328 to the ADC 304. As mentioned above, the VGA 302 may apply the gain to scale the signal range at the input of ADC 304. In some examples, the VGA 302 may be configured to scale the signal range at the input of ADC 304 to maximize the utilization of the range of ADC 304. It should be noted that in some examples, the VGA 302 and ADC 304 may not be connected directly. For example, other AFE circuits may be between the VGA and ADC, such as offset compensation, filters etc.
The ADC 304 may receive the gain compensated continuous-time signal y′ 328 and may sample the signal y′ 328 at time intervals according to a sampling clock of the ADC 304. The ADC 304 may quantize the samples of the signal y′ 328 to produce a digitized sequence of samples x 330. The ADC 304 may output the samples x 330 to the PREG 308, the PREθ310, and the low latency detector 312.
Generally, PREG 308 and the PREθ310 each may generate respective estimated signals {circumflex over (x)}p and {circumflex over (x)}h based on respective channel pulse responses p and h (e.g., of a wireless communications or storage device read channel) based on the ADC samples x 330 and decisions b 332 made using the low-latency detector 312. In various embodiments, the low-latency detector 312 may be implemented using any appropriate detector, such as a Viterbi-Detector, a slicer, or a decision feedback equalizer.
During the preamble 202, the acquisition gain-loop 316 and acquisition timing-loop 318 may determine and output a gain adjustment to the MUX 322 and a phase adjustment to the MUX 324. In some examples, the acquisition gain-loop 316 and acquisition timing-loop 318 may determine the respective adjustments based on an amplitude target AT and a phase target θT which may be determined based on the estimated signal {circumflex over (x)}h from the PREθ310 (e.g. based on a known preamble pattern).
During the user data 204, the tracking gain-loop 314 and the tracking timing-loop 320 may output adjustments. For example, the tracking timing-loop 320 may determine a phase adjustment based on a comparison of the ADC samples x 330 and an estimated signal {circumflex over (x)}h from the PREθ310. The tracking gain-loop 314 may determine a gain adjustment based on a comparison of the ADC samples x 330 and an estimated signal {circumflex over (x)}p from the PREG 308.
As mentioned above, the PREG 308 may have a gain constraint. As such, the PREG 308 may distort the estimated channel pulse-response such that it may represent a channel pulse-response p with a desired signal amplitude. In some embodiments, the estimated channel pulse response p of the PREG may be distorted by constraining a parameter (e.g. a center tap) to a certain value. In doing so, an error computed by tracking gain-loop 314 may reflect this distortion and, by extension, this distortion may affect the adjustment of the gain applied by the VGA 302.
The PREθ310 may have a phase constraint. As such, the PREθ310 may distort the estimated channel pulse-response such that it may represent a pulse-response h with a desired signal phase. In some embodiments, the estimated channel pulse response of the PREθ310 may be distorted by constraining the pulse response phase with a symmetric constraint (e.g. hi=h−i, i=1, 2, 3). In doing so, an error computed by timing-loops 318 and 320 may reflect this distortion and, by extension, this distortion may affect the adjustment of the sampling phase of the ADC determined by the phase interpolator 306.
The MUX 322 may operate to select a gain adjustment output by the acquisition gain-loop 316 during the preamble 202 and select a gain adjustment output by the tracking gain-loop 314 during the user data 204. The selected gain adjustment may then be output to the VGA 302 as gain adjustment 334. Similarly, the MUX 324 may operate to select a phase adjustment output by the acquisition timing-loop 318 during the preamble 202 and select a phase adjustment output by the tracking timing-loop 320 during the user data 204. The selected phase adjustment may then be output to the phase interpolator 306 as phase adjustment 336.
Additional details of the determination of the channel pulse-responses p and h, the amplitude target AT and phase target θT, and the gain adjustments and phase adjustments are discussed in more detail below with respect to
As mentioned above, the PREθ310 may generate an estimated signal {circumflex over (x)}kh based on a channel pulse response estimate h. During acquisition, instead of using the detected decisions, known patterns may be used, which may make estimating the amplitude and phase of the signal easier. In the examples discussed below, the estimated signal {circumflex over (x)}kh may be determined for a pulse response of 7 taps, for a 4T-preamble pattern. For other preamble patterns and pulse response length, similar procedures can be followed.
In the following discussion, a phase constrained or unconstrained pulse response may be represented as {h−3, h−2, h−1, h0, h1, h2, h3}.
In some examples, the estimated signal {circumflex over (x)}kh may be computed from the known bit patterns and the pulse response h using in the following table:
As mentioned above, the amplitude target AT 414A and the phase target θT 414B may be determined during the preamble.
From the estimated signal samples {circumflex over (x)}kh, the PREθ310 may determine an amplitude target AT 414A based on the following equation:
Similarly, from the estimated signal samples {circumflex over (x)}kh, the PREθ310 may determine a phase target θT 414B based on the following equation:
The PREθ310 may output the amplitude target AT 414A and estimated signals phase target θT 414B to the acquisition gain-loop 316 and the acquisition timing-loop 318, respectively.
The acquisition gain-loop 316 may include an amplitude error circuit 402 and an amplitude update circuit 404.
The amplitude error circuit 402 may determine the amplitude A of the ADC samples {xk} based on the following equation, where x0, x1, x2, x3 are four samples in one 4T clock cycle:
The amplitude error circuit 402 may then determine an amplitude error e1 410 as the difference of the amplitude target AT 414A and the amplitude A of the ADC samples {xk} using the following equation:
e1=AT−A
The amplitude update circuit 404 may determine an acquisition gain adjustment GA 416. For example, the amplitude update circuit 404 may determine the acquisition gain adjustment GA 416 using, for example, the following update equation:
G(t+1)=G(t)−μGe1
where G is the gain value, e1 410 is the amplitude error between the amplitude target AT 414A and the amplitude A of the ADC samples at time t controls the speed of adaptation. Depending on the implementation, the output of the amplitude update 404 may be an adjustment (e.g., a change to be applied to the gain applied by the VGA 302) or the gain value to be utilized by the VGA 302.
The phase error circuit 406 may determine the phase θ of the ADC samples {xk} based on the following equation, where x0, x1, x2, x3 are four samples in one 4T clock cycle:
The phase error circuit 406 may determine a phase error e2 412 as the difference of the phase target θT 414B and the phase θ of the ADC samples {xk}. using the following equation:
e2=θT−θ
The phase update circuit 408 may determine an acquisition phase adjustment θA 418. For example, the phase update circuit 408 may determine the acquisition phase adjustment θA 418 based on the phase error e2 412 In some examples, the phase error e2 412 in acquisition may be averaged over multiple samples, and this average may be regarded as an estimation of the difference between current signal phase and the intended phase. This average may be used as the phase adjustment θA 418.
The acquisition operations described above may be performed a predetermined number of times, until convergence, or etc. For example, in some embodiments, the acquisition operations may be performed for ten (10) sets of four (4) ADC samples x. In addition, in some examples, the PREs 308 and 310 may be configured to disable adaptation of the PRE taps during acquisition. In addition, in some examples, the amplitude target AT 414A and the phase target θT 414B may be calculated once for each sector.
The PREθ310 may continue to generate an estimated signal {circumflex over (x)}kh based on a channel pulse response estimate h and decisions b 332 and the PREG 308 may generate an estimated signal {circumflex over (x)}kP based on a channel pulse response estimate p and decisions b 332. In the examples discussed below, the estimated signals may be determined for pulse responses of 7 taps. As such, the phase constrained or unconstrained pulse response h of PREθ310 may be represented as {h−3, h−2, h−1, h0, h1, h2, h3} and a gain constrained pulse response p of PREG 308 may be represented as {p−3, p−2, p−1, p0, p1, p2, p3}. For other pulse response lengths, similar procedures can be followed.
During the tracking stage, the estimated signal {circumflex over (x)}kp 514 may be estimated using the estimated channel pulse response p of the PREG 308 (e.g. {i=−L1, . . . , −1, 0, 1, . . . , L2}) and the detected data bits b 332 based on the following equation:
The PREG 308 may output the estimated signals {circumflex over (x)}kp 514 to the tracking gain-loop 314.
Similarly, during the tracking stage, the estimated signal {circumflex over (x)}kh 516 may be estimated using the estimated channel pulse response h of the PREθ310 (e.g. {hi, i=−L1, β, −1, 0, 1, . . . , L2}) and the detected data bits b 332 based on the following equation:
The PREθ310 may output the estimated signals {circumflex over (x)}kh 516 to the tracking timing-loop 320. It may also provide the estimated signals for other loops, such as offset loop or MRA loop.
The tracking gain-loop 314 may be configured to determine a gain adjustment which may enable the signal xk 318 to maximize the utilization of the range of ADC, which may result in a better bit error rate (BER).
In some examples, the tracking gain-loop 314 may compute the tracking gain adjustment GT 518 based on the signal estimation from the channel pulse response {circumflex over (x)}kp. More particularly, in some embodiments, the tracking gain adjustment GT 518 may be based on the error ek between the incoming signal xk and the estimated signal {circumflex over (x)}kp and may be computed by the amplitude error circuit 502 based on the following equation:
ek=xk−{circumflex over (x)}kp
The error may be output by the amplitude error circuit 502 to the amplitude update circuit 504 as error e1 510.
The amplitude update circuit 504 may determine the tracking gain adjustment GT 518. For example, the amplitude update circuit 504 may determine the tracking gain adjustment GT 518 based on the error e1 510 using a least means square (LMS) update.
In operation, an approximation of the LMS update equations can be written as:
G(t+1)=G(t)−μGek sign(xk)
where G is the gain value, ek is the error e1 510 b, xk is the ADC samples, μG controls the speed of adaptation, and
The tracking timing-loop 320 may be configured to determine a phase adjustment θj which may adjust the sampling clock phase such that the sampling clock phase does not drift during the user data 204 due to phase variation in the input signal.
In some examples, the tracking timing-loop 320 may compute the tracking phase adjustment θj 520 based on the signal estimation from the channel pulse response {circumflex over (x)}kp. More particularly, in some embodiments, the tracking phase adjustment θH 520 may be based on the signal error ek between the incoming signal xk and the estimated signal {circumflex over (x)}kh
The phase error may be output by the phase error circuit 506 to the phase update circuit 508 as error e2 512.
The phase update circuit 508 may determine the tracking phase adjustment θj 520. For example, the phase update circuit 508 may determine the tracking phase adjustment θj 520 based on the phase error e2 512 through a phase lock loop with a loop filter.
During tracking (e.g. during the user data 204), the tap values of the PREG 308 and the PREθ310 may be adapted. For example, the PREs may be adapted using LMS updates. In general, the LMS update equations for taps of an unconstrained PRE may be written as:
hi(t+1)=hi(t)+μekbk−i,
where ek is the error between the incoming signal and the estimated signal output by the PRE, bk is the decision by the detector, and μ is the adaptation bandwidth control.
In the case of constrained PREs, such as PREs in which some taps may be fixed or in which some taps have fixed relationships, the update equation for particular taps may vary. For example, if the maximum estimated signal magnitude of a 7-tap PRE is constrained to be a fixed value Mx, the update of taps may performed using the following equations:
Similarly, if a 7-tap PRE has a symmetric constraint, the update of taps may performed using the following equations:
hi(t+1)=hi(t)+μekbk−i, i=0
hj(t+1)=h−j(t+1)=hj(t)+μek(bk−j+bk+j), j=1,2,3
Other variations and constraints are possible.
By adapting the PREθ310 (e.g., a PRE without a gain constraint) during the user data 204 in which the VGA 302 is being adjusted based on the output of the gain constrained PREG 308, the system 300 may avoid the LMS adaptation driving the signal to zero. While an all-zero solution may be a valid solution to the least squared error equation, the all-zero solution may not be a valid solution in operation.
In some examples according to the above disclosure, more consistency between acquisition and tracking may result from the utilization of PREG 308 and PREθ310. The improved consistency may result in a reduced transient period for convergence of the gain and phase between the preamble 202 and user data 204.
Referring to
At 602, a VGA may receive an input signal. The VGA may apply a gain to the input signal to generate a gain adjusted signal and output the gain adjusted signal to an ADC. The ADC may then generate and output ADC samples based on the gain adjusted signal and a phase control parameter which may control a phase of a sampling clock of the ADC.
Next, at 604, the system may determine whether the ADC samples are based on preamble or user data of the incoming signal. If the ADC samples are based on a preamble portion of the incoming signal, the process may continue to 606. If the ADC samples are based on user data of the incoming signal, the process may continue to 610.
At 606, the system may update the phase control parameter based the channel pulse response h with the phase constraint. In some examples, the update determination may be performed as discussed above for phase control updates in preamble or acquisition.
At 608, the system may update the gain control parameter based on the channel pulse response h with the phase constraint. In some examples, the update determination may be performed as discussed above for gain control updates in the preamble or acquisition.
At 610, a low latency detector may receive the ADC samples. The detector may then generate and output decisions based on the ADC samples. At 612, the system may generate an estimated signal {circumflex over (x)}kp based on a channel pulse response estimate p with a gain constraint using the ADC samples and the decisions by the detector. Then, at 614, the system may generate an estimated signal {circumflex over (x)}kh based on a channel pulse response estimate h with a phase constraint using the ADC samples and the decisions by the detector.
At 616, the system may update the phase control parameter based on the estimated signal {circumflex over (x)}kh which was generated based on the channel pulse response h with the phase constraint. In some examples, the update determination may be determined as discussed above for phase control updates in the user data or tracking.
At 618, the system may update the gain control parameter based on the estimated signal {circumflex over (x)}kp which was generated based on the channel pulse response p with the gain constraint. In some examples, the update determination may be performed as discussed above for gain control updates in the user data or tracking. Then, at 620, the taps of the channel pulse responses may be adapted.
Following 608 or 620, the process continues to 622. At 622, the system may determine whether processing of the incoming signal is complete. If so, the process ends. Otherwise, the process returns to 602 for another iteration based on the updated gain and phase control parameters determined at 606-6620.
All steps listed for the method 600 may be applied to systems that have an acquisition and tracking system for amplitude and phase. Many variations would be apparent in view of this disclosure. Components and circuits used to perform the operations in the method may be discrete, integrated into a system on chip (SOC), or other circuits. Further, the steps can be carried out in a processor (e.g. a digital signal processor), implemented in software, implemented via firmware, or by other means.
Referring to
The DSD 716 can include a system processor 702, which may be a programmable controller, and associated memory 704. The system processor 702 may be part of a system on chip (SOC). A buffer 706 may temporarily store data during read and write operations and can include a command queue. The read/write (R/W) channel 710 can encode data during write operations to, and reconstruct data during read operations from, the data storage medium 708. The data storage medium 708 is shown and described as a hard disc drive, but may be other types of magnetic medium, such as a flash medium, optical medium, or other medium, or any combination thereof.
The R/W channel 710 may receive data from more than one data storage medium at a time, and in some embodiments can also receive multiple data signals concurrently, such as from more than one output of a read head. For example, storage systems having two-dimensional magnetic recording (TDMR) systems can have multiple reading or recording elements, and can read from two tracks simultaneously or nearly simultaneously. Multi-dimensional recording (MDR) systems can receive two or more inputs from multiple sources (e.g. recording heads, flash memory, optical memory, and so forth). The R/W channel 710 can combine multiple inputs and provide a single output, as described in examples herein.
The block 718 can implement all of or part of the systems and functionality of systems and methods 100-600. In some embodiments, the block 718 may be a separate circuit, integrated into the R/W channel 710, included in a system on chip, firmware, software, or any combination thereof.
The illustrations, examples, and embodiments described herein are intended to provide a general understanding of the structure of various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. For example, the figures and above description provide examples of architecture and voltages that may be varied, such as for design requirements of a system. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown.
This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above examples, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be reduced. Accordingly, the disclosure and the figures are to be regarded as illustrative and not restrictive.
This application is a continuation of and claims priority to co-pending U.S. patent application Ser. No. 15/436,709, entitled “LOOP CONSISTENCY USING MULTIPLE CHANNEL ESTIMATES”, which was filed Feb. 17, 2017, the contents of which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5563746 | Bliss | Oct 1996 | A |
5726818 | Reed et al. | Mar 1998 | A |
5754352 | Behrens et al. | May 1998 | A |
5793548 | Zook | Aug 1998 | A |
5822142 | Hicken | Oct 1998 | A |
5909332 | Spurbeck et al. | Jun 1999 | A |
5954837 | Kim | Sep 1999 | A |
6069758 | Chung | May 2000 | A |
6172836 | Bang | Jan 2001 | B1 |
6275346 | Kim et al. | Aug 2001 | B1 |
6307696 | Bishop et al. | Oct 2001 | B1 |
6353649 | Bockleman et al. | Mar 2002 | B1 |
6480349 | Kim et al. | Nov 2002 | B1 |
6594094 | Rae et al. | Jul 2003 | B2 |
6594098 | Sutardja | Jul 2003 | B1 |
6760185 | Roth et al. | Jul 2004 | B1 |
6973150 | Thuringer | Dec 2005 | B1 |
6996193 | Yamagata et al. | Feb 2006 | B2 |
7035029 | Sawada et al. | Apr 2006 | B2 |
7068461 | Chue et al. | Jun 2006 | B1 |
7199956 | Moser et al. | Apr 2007 | B1 |
7602568 | Katchmart | Oct 2009 | B1 |
7643548 | Hafeez | Jan 2010 | B2 |
7665007 | Yang et al. | Feb 2010 | B2 |
7738538 | Tung | Jun 2010 | B1 |
7917563 | Shih et al. | Mar 2011 | B1 |
7995691 | Yang | Aug 2011 | B2 |
7997582 | Wong | Aug 2011 | B2 |
8077571 | Xia et al. | Dec 2011 | B1 |
8139305 | Mathew et al. | Mar 2012 | B2 |
8266505 | Liu et al. | Sep 2012 | B2 |
8400726 | Wu et al. | Mar 2013 | B1 |
8516347 | Li et al. | Aug 2013 | B1 |
8625216 | Zhang et al. | Jan 2014 | B2 |
9043688 | Chan et al. | May 2015 | B1 |
9077501 | Oberg et al. | Jul 2015 | B1 |
9129646 | Mathew et al. | Sep 2015 | B2 |
9178625 | Hueda et al. | Nov 2015 | B1 |
9236952 | Sun et al. | Jan 2016 | B2 |
9362933 | Chaichanavong | Jun 2016 | B1 |
9613652 | Link et al. | Apr 2017 | B2 |
20020094048 | Simmons et al. | Jul 2002 | A1 |
20030026016 | Heydari et al. | Feb 2003 | A1 |
20030048562 | Heydari et al. | Mar 2003 | A1 |
20030185291 | Nakahira et al. | Oct 2003 | A1 |
20040047403 | Choi et al. | Mar 2004 | A1 |
20070002890 | Mangold et al. | Jan 2007 | A1 |
20070018733 | Wang et al. | Jan 2007 | A1 |
20070205833 | Mar et al. | Sep 2007 | A1 |
20080292029 | Koslov | Nov 2008 | A1 |
20090268857 | Chen et al. | Oct 2009 | A1 |
20100138722 | Harley et al. | Jun 2010 | A1 |
20100211830 | Sankaranarayanan et al. | Aug 2010 | A1 |
20100272150 | Kil et al. | Oct 2010 | A1 |
20110072330 | Kolze | Mar 2011 | A1 |
20110158359 | Khayrallah et al. | Jun 2011 | A1 |
20130182347 | Maeto | Jul 2013 | A1 |
20130339827 | Han et al. | Dec 2013 | A1 |
20140337676 | Yen et al. | Nov 2014 | A1 |
20140355147 | Cideciyan et al. | Dec 2014 | A1 |
20150124912 | Eliaz et al. | May 2015 | A1 |
20150179213 | Liao et al. | Jun 2015 | A1 |
20150189574 | Ng et al. | Jul 2015 | A1 |
20160055882 | Cideciyan et al. | Feb 2016 | A1 |
20160134449 | Liu et al. | May 2016 | A1 |
20160156493 | Bae et al. | Jun 2016 | A1 |
20160270058 | Furuskog et al. | Sep 2016 | A1 |
20160293205 | Jury et al. | Oct 2016 | A1 |
20170162224 | Mathew et al. | Jun 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
Parent | 15436709 | Feb 2017 | US |
Child | 15997571 | US |