Disk drives are often used to write data on or to read data from a recording media. A disk drive can include multiple rotating magnetic disks with tracks for storing data and heads to read data from the disks and/or to write data on the disks. The disks are typically arranged in a stacked configuration with the heads arranged in a corresponding stacked assembly referred to as a head stack assembly (HSA). The HSA can be attached to an actuator that is typically moved by a voice coil motor (VCM). This arrangement ordinarily allows for positioning of the head to read data from or to write data on an adjacent surface of one of the disks in the stack.
The features and advantages of the embodiments of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the disclosure and not to limit the scope of what is claimed. Reference numbers are reused throughout the drawings to indicate correspondence between referenced elements.
In the following detailed description, numerous specific details are set forth to provide a full understanding of the present disclosure. It will be apparent, however, to one of ordinary skill in the art that the various embodiments disclosed may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail to avoid unnecessarily obscuring the various embodiments.
One problem encountered by disk drives is a long data access time which includes the amount of time it takes to move the actuator to a target location in order to read or write data in accordance with a read or write command received from a host. This problem is worsened when the actuator must move or seek over a relatively far distance across the disk. Such seek delays can decrease the overall performance of the disk drive.
In an effort to reduce such mechanical latency, disk drives typically use pre-read and post-read operations. Data written on a disk of a conventional disk drive is generally written in an ascending order of the host's logical addressing (i.e., logical block addresses). When the host modifies data at a particular logical block address (LBA), a conventional disk drive can re-write the portion of the disk storing the data. Since data requested in a series of read commands from the host is often related, such related data frequently precedes or follows previously requested data on a disk. Conventional disk drives have made use of this host read command tendency with pre-read and post-read operations which take advantage of the head being positioned near the requested data to also read a portion of the data which precedes and/or follows the requested data on the disk. The pre-read and/or post-read data can then be stored in a cache memory which is not affected by mechanical latency. As a result, data access is often improved when the host subsequently requests related data located before or after previously requested data since the related data can be provided from the cache memory.
In addition to accessing data quicker, the data storage industry is also trying to increase the recording density of the disk, or in other words, the amount of data that can be stored in a given area on the disk. Shingled magnetic recording (SMR) has recently been introduced as a way of increasing the number of tracks per inch (TPI) by making the tracks narrower. Since it is technologically easier to read narrow tracks than to write narrow tracks, SMR increases TPI by using a relatively wide shingle write head with a stronger magnetic field to overlap tracks like roof shingles. The non-overlapping portion then serves as a narrow track that can be read by a narrower read head.
Although a higher number of TPI is possible with SMR, the overlap in tracks can create a problem when writing data since new writes to a previously overlapped track affects data written in the overlapping track. For this reason, tracks are usually sequentially written to avoid affecting previously written data. However, such sequential writing can prevent data from being written on the disk in the conventional ascending order of host LBAs. Unlike a conventional disk drive, an SMR disk drive will usually write to a new portion of the disk when the host modifies data at a particular LBA since re-writing a previously written portion would affect other data in an overlapping track. A translation table is used to track the location of the valid LBAs.
Consequently, an SMR disk ordinarily includes a more random distribution of LBAs than a conventional disk with non-overlapping tracks. In addition, LBAs are often repeated on an SMR disk for data which has been modified. These logical addressing changes for SMR disks present new challenges to performing pre-read and post-read operations. For example, conventional pre-read and post-read operations cannot assume that pre-read and post-read data on an SMR disk is likely related to data requested by a read command. In addition, conventional pre-read and post-read operations may not be able to quickly determine if pre-read or post-read data is still valid (i.e., the most recently written data) for a particular LBA.
In the example of
Disk 200 comprises a number of radial spaced, concentric tracks 210 for storing data. Each track 210 is divided into a number of sectors (i.e., sectors 222 in
Disk drive 106 also includes solid-state non-volatile memory (NVM) 140 for storing data. In this regard, solid-state NVM may store user data provided by host 101 and/or firmware for disk drive 106 which can include computer-readable instructions used by disk drive 106 to implement the processes described below.
While the description herein refers to solid-state NVM generally, it is understood that solid-state memory may comprise one or more of various types of memory devices such as flash integrated circuits, Chalcogenide RAM (C-RAM), Phase Change Memory (PC-RAM or PRAM), Programmable Metallization Cell RAM (PMC-RAM or PMCm), Ovonic Unified Memory (OUM), Resistance RAM (RRAM), NAND memory (e.g., single-level cell (SLC) memory, multi-level cell (MLC) memory, or any combination thereof), NOR memory, EEPROM, Ferroelectric Memory (FeRAM), Magnetoresistive RAM (MRAM), other discrete NVM (non-volatile memory) chips, or any combination thereof.
Volatile memory 124 can include, for example, a DRAM. Data stored in volatile memory 124 can include data read from disk 200, data to be written to disk 200, and/or instructions for disk drive 106, such as instructions loaded into volatile memory 124 for operating disk drive 106. As shown in
Host interface 126 is configured to interface disk drive 106 with host 101 and may interface according to a standard such as, for example, PCI express (PCIe), serial advanced technology attachment (SATA), or serial attached SCSI (SAS). As will be appreciated by those of ordinary skill in the art, host interface 126 can be included as part of controller 122. Although
Read/write channel 134 encodes data to be written to disk 200 and decodes data read from disk 200. In the example implementation of
Buffer 136 is a memory for storing data structures such as circular buffers to facilitate read and write operations of disk drive 106. As discussed below with reference to
In operation, controller 122 initiates writing user data to and reading user data from disk 200 in response to commands from host 101. To write user data received from host 101 to disk 200, controller 122 positions head 128 over disk 200 by sending VCM control signal 30 (e.g., control current) to VCM 132 which moves actuator 130 to a target location. Controller 122 processes data to be written to disk 200 and sends the data to read/write channel 134 for encoding into write signal 32, which is output to head 128. For its part, head 128 converts write signal 32 into a magnetic field that magnetizes the surface of disk 200 based upon write signal 32, thereby magnetically writing data on disk 200. Controller 122 may notify host 101 after data for the write command has been successfully written on disk 200.
When controller 122 receives a read command from host 101 requesting user data written on disk 200, controller 122 positions head 128 over disk 200 by sending VCM control signal 30 to VCM 132 which moves actuator 130 to a target location. Head 128 then generates read signal 32 based upon the magnetization of the disk surface under head 128. Read/write channel 134 decodes read signal 32 into data to be processed by controller 122, which in turn, sends the requested user data to host 101 via host interface 126.
Those of ordinary skill in the art will appreciate that disk drive 106 can include more or less than those elements shown in
In addition to overlapping SMR tracks 210,
In the example of
To facilitate pre-read and post-read operations on SMR disk 200, controller 122 can evaluate the LBAs for each of the pre-read and post-read sectors before determining whether to store user data from the pre-read and post/read sectors in data cache 12. Due to the possibility of reading obsolete user data from the pre-read and post-read sectors, controller 122 can use the LBAs associated with the pre-read and post-read sectors to determine if user data read from the pre-read and post-read sectors is valid.
In one embodiment, the validity of the user data in pre-read and post-read sectors can be determined by determining whether a logical-to-physical translation map still references the LBAs associated with the user data of the pre-read and post-read sectors as being located in those physical sectors. Controller 122 may use a logical-to-physical translation table stored in at least one of solid-state NVM 140, volatile memory 124 and disk 200.
Translation table 14 is sorted by LBAs to facilitate lookup of a given LBA for data read from disk 200. If a PBA for a looked-up LBA does not match the PBA where the user data was read, then the read user data is no longer valid because the most recently written user data for the LBA is located at a different PBA.
Due to the sequential writing of SMR disk 200, user data read from sectors addressed with PBAs of 2020, 2026, and 2027 is no longer valid for LBAs 1000, 3505, and 3507 in the second state. In other words, the user data stored in such sectors is obsolete since the user data corresponds to the earlier version of the user data which has been rewritten at a later PBA. Accordingly, controller 122 may determine not to store user data read from such sectors in data cache 12 during a pre-read or post-read operation since this user data is obsolete.
The LBAs can also be used to determine whether the user data meets a data cache policy for storing user data in data cache 12. In one example, controller 122 may determine not to store user data read from pre-read or post-read sectors if the LBAs associated with these sectors differ by more than a predetermined amount from an LBA for user data requested by the host. A large difference in LBAs may indicate that the pre-read or post-read user data is not related to the requested user data and may therefore not be worth storing in data cache 12. In some other examples, the controller may determine whether to cache an LBA based on one or more caching policies such as most frequently used, most recently used, etc.
In the example of
In this regard, a data cache policy may consider whether LBAs associated with pre-read and post-read sectors follow a sequential pattern in determining whether to store user data read from pre-read and post-read sectors in data cache 12.
Although an LBA may be written in each sector with the user data, this approach can decrease an overall data capacity of disk 200 given a large number of sectors on disk 200. Instead, coding ordinarily performed by read/write channel 134 for error correction can be used to recover an LBA associated with a pre-read or post-read sector without having to store the LBA in an NVM such as disk 200 or solid-state NVM 140. In this regard, any error correcting code may be used by read/write channel 134. Examples of such error correcting codes can include convolutional code, Reed-Solomon code, or LDPC code.
In more detail, the LBA may be recovered as follows. In one embodiment, LLRs (log likelihood ratios) for the LBA bits are set to 0's corresponding to an erasure. The result of a successful decoding is that the original LBA bits (LBA 18 shown in
In block 402, controller 122 loads LBAs from the write command into buffer 136 for sectors to be written on disk 200. More specifically, the LBAs can be loaded into a circular buffer or other data structure in buffer 136 which facilitates a sequential ordering of the LBAs for each of the sectors to be written.
In block 404, read/write channel 134 encodes the user data and LBAs for each sector in accordance with an error correcting code to generate parity data for the user data and LBAs.
In block 406, the user data and parity data for each sector is written to disk 200 and a logical-to-physical translation table stored in disk drive 106 is updated for the newly written LBAs. The write process of
Controller 122 in block 502 determines the sectors that correspond to the LBAs for the requested user data. This may be performed by using logical-to-physical translation table 14 to identify the most recently written PBAs for LBAs included in the read command. In addition, controller 122 determines a number of pre-read and/or post-read sectors to read while servicing the read command. For example, controller 122 may determine that two sectors should be pre-read and that six sectors should be post-read. The number of pre-read and post-read sectors can be determined based on an adaptive algorithm and/or a heuristic method performed by controller 122. In this regard, the number of pre-read and post-read sectors can vary from one read command to the next.
In block 504, data including user data and parity data is read by head 128 from the sectors determined in block 502. The read data is sent to read/write channel 134 via read signal 32.
In block 506, read/write channel 134 recovers LBAs for any pre-read and/or post-read sectors by using the parity data to correct a default LBA for each sector. The recovered LBAs may be temporarily stored in buffer 136 while any needed error correction is performed in block 508 and the requested user data is sent to host 101 via host interface 126.
In block 510, a counter is initialized for processing the LBAs recovered in block 506 and controller 122 in block 512 determines the validity of user data associated with a current recovered LBA retrieved from buffer 136. This can be performed by using translation table 14 of
If controller 122 determines in block 512 that the user data for the current recovered LBA is valid, controller 122 determines whether to store user data for the current LBA in data cache 12. In particular, controller 122 determines whether the user data meets a data cache policy such as whether the user data is likely related to user data requested by the read command of block 500. In one embodiment, the decision on whether the user data for the current LBA meets a data cache policy is based on whether the current recovered LBA differs by more than a predetermined amount from the LBAs for the user data requested by the read command. A significant difference in LBAs may indicate that the current recovered LBA is not related to the requested user data and is therefore less likely to soon be requested by host 101. In another embodiment, the decision on whether the user data for the current recovered LBA meets the data cache policy is based on whether the current recovered LBA sequentially follows or precedes a previous recovered LBA or an LBA for user data requested in the read command. Non-sequential LBAs may indicate that the user data for the current recovered LBA is not related to the user data requested by host 101 in the read command.
In other embodiments, block 514 may be omitted so that the determination of whether to store the user data is only based on whether the user data is valid. In such embodiments, user data is stored in data cache 12 whenever the user data is determined to be valid for the current recovered LBA.
If it is determined to store the user data, controller 122 in block 516 stores the user data in data cache 12. Controller 122 checks if more LBAs need to be processed for pre-read and post-read sectors, and if so, the process proceeds to block 520. If it is determined that no more recovered LBAs remain in block 518, the read process of
Those of ordinary skill in the art will appreciate that the various illustrative logical blocks, modules, and processes described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Furthermore, the foregoing processes can be embodied on a computer readable medium which causes a processor or computer to perform or execute certain functions.
To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, and modules have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those of ordinary skill in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, units, modules, and controllers described in connection with the examples disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The activities of a method or process described in connection with the examples disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The steps of the method or algorithm may also be performed in an alternate order from those provided in the examples. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, an optical disc, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an Application Specific Integrated Circuit (ASIC).
The foregoing description of the disclosed example embodiments is provided to enable any person of ordinary skill in the art to make or use the embodiments in the present disclosure. Various modifications to these examples will be readily apparent to those of ordinary skill in the art, and the principles disclosed herein may be applied to other examples without departing from the spirit or scope of the present disclosure. The described embodiments are to be considered in all respects only as illustrative and not restrictive and the scope of the disclosure is, therefore, indicated by the following claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
This application claims the benefit of U.S. Provisional Application No. 61/822,666, filed on May 13, 2013, which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5864440 | Hashimoto et al. | Jan 1999 | A |
5915260 | Sokolov | Jun 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 |
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 |
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 |
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 | 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 |
7965465 | Sanvido et al. | Jun 2011 | B2 |
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 |
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 |
8341337 | Ong et al. | Dec 2012 | B1 |
8350628 | Bennett | Jan 2013 | B1 |
8356184 | Meyer et al. | Jan 2013 | B1 |
8370683 | Ryan et al. | Feb 2013 | B1 |
8375225 | Ybarra | Feb 2013 | B1 |
8375274 | Bonke | Feb 2013 | B1 |
8380922 | DeForest et al. | Feb 2013 | B1 |
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 |
8427771 | Tsai | Apr 2013 | B1 |
8429343 | Tsai | Apr 2013 | B1 |
8433937 | Wheelock et al. | Apr 2013 | B1 |
8433977 | Vasquez et al. | Apr 2013 | B1 |
8458526 | Dalphy et al. | Jun 2013 | B2 |
8462466 | Huber | Jun 2013 | B2 |
8467151 | Huber | Jun 2013 | B1 |
8489841 | Strecke et al. | Jul 2013 | B1 |
8493679 | Boguslawski et al. | Jul 2013 | B1 |
8498074 | Mobley et al. | Jul 2013 | B1 |
8499198 | Messenger et al. | Jul 2013 | B1 |
8512049 | Huber et al. | Aug 2013 | B1 |
8514506 | Li et al. | Aug 2013 | B1 |
8531791 | Reid et al. | Sep 2013 | B1 |
8554741 | Malina | Oct 2013 | B1 |
8560759 | Boyle et al. | Oct 2013 | B1 |
8560879 | Goel | Oct 2013 | B1 |
8565053 | Chung | Oct 2013 | B1 |
8576511 | Coker et al. | Nov 2013 | B1 |
8578100 | Huynh et al. | Nov 2013 | B1 |
8578242 | Burton et al. | Nov 2013 | B1 |
8589773 | Wang et al. | Nov 2013 | B1 |
8593753 | Anderson | Nov 2013 | B1 |
8595432 | Vinson et al. | Nov 2013 | B1 |
8599510 | Fallone | Dec 2013 | B1 |
8601248 | Thorsted | Dec 2013 | B2 |
8611032 | Champion et al. | Dec 2013 | B2 |
8612650 | Carrie et al. | Dec 2013 | B1 |
8612706 | Madril et al. | Dec 2013 | B1 |
8612798 | Tsai | Dec 2013 | B1 |
8619383 | Jung et al. | Dec 2013 | B1 |
8621115 | Bombet et al. | Dec 2013 | B1 |
8621133 | Boyle | Dec 2013 | B1 |
8626463 | Stevens et al. | Jan 2014 | B2 |
8630052 | Jung et al. | Jan 2014 | B1 |
8630056 | Ong | Jan 2014 | B1 |
8631188 | Heath et al. | Jan 2014 | B1 |
8634158 | Chahwan et al. | Jan 2014 | B1 |
8635412 | Wilshire | Jan 2014 | B1 |
8640007 | Schulze | Jan 2014 | B1 |
8654619 | Cheng | Feb 2014 | B1 |
8661193 | Cobos et al. | Feb 2014 | B1 |
8667248 | Neppalli | Mar 2014 | B1 |
8670205 | Malina et al. | Mar 2014 | B1 |
8683295 | Syu et al. | Mar 2014 | B1 |
8683457 | Hughes et al. | Mar 2014 | B1 |
8687306 | Coker et al. | Apr 2014 | B1 |
8693133 | Lee et al. | Apr 2014 | B1 |
8694841 | Chung et al. | Apr 2014 | B1 |
8699159 | Malina | Apr 2014 | B1 |
8699171 | Boyle | Apr 2014 | B1 |
8699172 | Gunderson et al. | Apr 2014 | B1 |
8699175 | Olds et al. | Apr 2014 | B1 |
8699185 | Teh et al. | Apr 2014 | B1 |
8700850 | Lalouette | Apr 2014 | B1 |
8743502 | Bonke et al. | Jun 2014 | B1 |
8749910 | Dang et al. | Jun 2014 | B1 |
8751699 | Tsai et al. | Jun 2014 | B1 |
8755141 | Dang | Jun 2014 | B1 |
8755143 | Wilson et al. | Jun 2014 | B2 |
8756361 | Carlson et al. | Jun 2014 | B1 |
8756382 | Carlson et al. | Jun 2014 | B1 |
8769593 | Schwartz et al. | Jul 2014 | B1 |
8773802 | Anderson et al. | Jul 2014 | B1 |
8780478 | Huynh et al. | Jul 2014 | B1 |
8782334 | Boyle et al. | Jul 2014 | B1 |
8793532 | Tsai et al. | Jul 2014 | B1 |
8797669 | Burton | Aug 2014 | B1 |
8799977 | Kapner, III et al. | Aug 2014 | B1 |
8819375 | Pruett et al. | Aug 2014 | B1 |
8825976 | Jones | Sep 2014 | B1 |
8825977 | Syu et al. | Sep 2014 | B1 |
8880976 | Weathers | Nov 2014 | B2 |
20070174582 | Feldman | Jul 2007 | A1 |
20090113702 | Hogg | May 2009 | 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 |
20130159644 | Lee | Jun 2013 | A1 |
20140101515 | Akiyama et al. | Apr 2014 | A1 |
20140201424 | Chen et al. | Jul 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
61822666 | May 2013 | US |