1. Field of the Invention
The present invention relates to storage area networks, and more particularly, to logical unit number (“LUN”) remapping where a Fibre Channel switch maps virtual LUNs to actual physical LUNs.
2. Background of the Invention
Storage area networks (“SANs”) are commonly used where plural memory storage devices are made available to various host computing systems. Data in a SAN is typically moved from plural host systems (that include computer systems, servers etc.) to a storage system through various controllers/adapters.
Host systems often communicate with storage systems via a host bus adapter (“HBA”, may also be referred to as a “controller” and/or “adapter”) using an interface, for example, the “PCI” bus interface.
Host system 10 typically includes several functional components. These components may include a central processing unit (CPU), main memory, input/output (“I/O”) devices (not shown), read only memory, and streaming storage devices (for example, tape drives).
Storage devices (for example, 15, 16, 17, 18 and 19) are coupled using the Small Computer Systems Interface (“SCSI”) protocol and use the SCSI Fibre Channel Protocol (“SCSI FCP”) to communicate with other devices/systems. Both the SCSI and SCSI FCP standard protocols are incorporated herein by reference in their entirety. SCSI FCP is a mapping protocol for applying SCSI command set to Fibre Channel.
Fibre channel is a set of American National Standard Institute (ANSI) standards, which provide a serial transmission protocol for storage and network protocols such as HIPPI, SCSI, IP, ATM and others. Fibre channel provides an input/output interface to meet the requirements of both channel and network users.
Fibre channel supports three different topologies: point-to-point, arbitrated loop and Fibre Channel fabric. The point-to-point topology attaches two devices directly. The arbitrated loop topology attaches devices in a loop. The Fibre Channel fabric topology attaches host systems directly to a fabric, which are then connected to multiple devices. The Fibre Channel fabric topology allows several media types to be interconnected.
In Fibre Channel, a path is established between two nodes where the path's primary task is to transport data from one point to another at high speed with low latency, performing only simple error detection in hardware.
Fibre channel fabric devices include a node port or “N_Port” that manages fabric connections. The N_port establishes a connection to a fabric element (e.g., a switch) having a fabric port or “F_port”. Fabric elements include the intelligence to handle routing, error detection, recovery, and similar management functions.
A Fibre Channel switch (for example, 12) is a multi-port device where each port manages a simple point-to-point connection between itself and its attached system. Each port can be attached to a server, peripheral, I/O subsystem, bridge, hub, router, or even another switch. A switch receives messages from one port and automatically routes it to another port. Multiple calls or data transfers happen concurrently through the multi-port Fibre Channel switch.
Fibre channel switches use memory buffers to hold frames received and sent across a network. Associated with these buffers are credits, which are the number of frames that a buffer can hold per fabric port.
Fibre Channel storage devices using the SCSI FCP protocol typically use the client/server model. Typically, the client is a host system with an HBA (an “Initiator”) such as a file server that issues a read or write command to a “Target”. The Target may be a disk array that responds to the client request. Most storage devices such as disk drives or tape drives are SCSI target devices. Initiator devices (usually host bus adapters on server computers) start all I/O operations.
Storage virtualization defines virtual storage units for end-users and maps the virtual storage units to actual physical storage locations. Efficient storage virtualization needs LUN remapping. During LUN remapping (or mapping) virtual LUNs are mapped to actual physical LUNs. In SANs, storage virtualization is often desirable and makes it more efficient to manage large amounts of data.
As described above, Fibre Channel fabric switches are often used to couple various elements of a SAN. Conventional switches today do not provide a method or system by which they can efficiently map LUNs and hence facilitate storage virtualization.
Therefore, there is a need for a Fibre Channel switch element to efficiently handle LUN Mapping for facilitating storage virtualization.
In one aspect of the present invention, a Fibre Channel switch element in a Fibre Channel network is provided. The Fibre Channel switch element includes
a port that replaces a logical unit number (“LUN”) field value in a FCP_CMND frame. The port includes a LUN Mapping cache for replacing the LUN field value in a FCP_CMND frame. The LUN Mapping cache may also generate a value that is added to or subtracted from the LUN field value in the FCP_CMND frame. A control bit is used to activate LUN Mapping cache for mapping LUN values.
In another aspect of the present invention, a SAN is provided with a Fibre Channel switch element having a port that replaces a LUN field value in a FCP_CMND frame, as described above.
In yet another aspect of the present invention, a method for processing FCP_CMND frames in a storage area network is provided. The method includes setting up a LUN mapping cache; comparing plural FCP_CMND frame fields; and substituting a LUN field value in the FCP_CMND frame with a LUN mapping cache entry.
The LUN field value in the FCP_CMND frame may be offset by a certain value generated by the LUN mapping cache.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiments thereof concerning the attached drawings.
The foregoing features and other features of the present invention will now be described with reference to the drawings of a preferred embodiment. In the drawings, the same components have the same reference numerals. The illustrated embodiment is intended to illustrate, but not to limit the invention. The drawings include the following Figures:
Definitions:
The following definitions are provided as they are typically (but not exclusively) used in the Fibre Channel environment, implementing the various adaptive aspects of the present invention.
“D_ID”: A 24-bit Fibre Channel header field that contains the destination address for a frame.
“Exchange”—Operations for a SCSI data read or write. An exchange consists of three operational phases: command phase, data movement phase and response phase.
“E_Port”: A fabric expansion port that attaches to another Interconnect port to create an Inter-Switch Link.
“Fabric”: The structure or organization of a group of switches, target and host devices (NL_Port, N_ports etc.).
“FCP-2”: A Fibre Channel protocol for mapping SCSI commands to Fibre Channel.
“FCP_CMND”: A Fibre Channel frame defined by SCSI-FCP-2 standard that is incorporated herein by reference in its entirety.
“FCP_DATA”: A Fibre Channel frame defined in SCSI_FCP-2 standard that carries SCSI data.
“F_Port”: A port to which non-loop N_Ports are attached to a fabric and does not include FL_ports.
“Fibre Channel ANSI Standard”: The standard (FC-FS and other standards)(incorporated herein by reference in its entirety) describes the physical interface, transmission and signaling protocol of a high performance serial link for support of other high level protocols associated with IPI, SCSI, IP, ATM and others.
“Initiator”: A SCSI device that initiates an input/output (“I/O”) operation, for example, a HBA.
“LUN”: A unique logical unit number that identifies a sub-unit for a SCSI device. The LUN field is defined in the FCP_CMND payload.
“L_Port”: A port that contains Arbitrated Loop functions associated with the Arbitrated Loop topology.
“OX_ID”: An Originator (i.e., a device/port that originates an exchange) Exchange identification field in a Fibre Channel frame header.
“N-Port”: A direct fabric attached port, for example, a disk drive or a HBA.
“NL_Port”: A L_Port that can perform the function of a N_Port.
“PLOGI”: Standard Fibre Channel N_Port to N_Port login. PLOGI determines the N_port to N_Port parameters and provides a specific set of operating parameters for communicating between N_ports. The port requesting PLOGI sends a PLOGI Extended Link Service Request addressed to the D_ID of an N_Port with which it needs to communicate. The addressed N_Port then returns an ACC (accept) reply. The request and reply contain operating parameters for communication between the N_Ports. The format for the request and reply are provided by the Fibre Channel standards.
“Port”: A general reference to N. Sub.—Port or F.Sub.—Port.
“PRLI”: Fibre Channel process login used by SCSI devices to establish a SCSI connection.
“R_CTL”: A 8-bit Fibre Channel header field that identifies the type of frame.
“RX_ID”: A responder (i.e., a device/port that responds) exchange identification field in a Fibre Channel frame header.
“SAM”: SCSI Architecture Model
“SAN”: Storage Area Network
“SCSI FCP”: A standard protocol, incorporated herein by reference in its entirety for implementing SCSI on a Fibre Channel SAN.
“S_ID”: A 24-bit field in a Fibre Channel frame header that contains the source address for a frame.
“Switch”: A fabric element conforming to the Fibre Channel Switch standards.
“Target”: A SCSI device that accepts I/O operations from Initiators, for example, storage devices such as disks and tape drives.
Switch Element
To facilitate an understanding of the preferred embodiment, the general architecture and operation of a Fibre Channel switch element will be described. The specific architecture and operation of the preferred embodiment will then be described with reference to the general architecture of the Fibre Channel system.
The fabric element of the present invention is presently implemented as a single CMOS ASIC, and for this reason the term “fabric element” and ASIC are used interchangeably to refer to the preferred embodiments in this specification. Although
ASIC 20 has 20 ports numbered in
For illustration purposes only, all GL ports are drawn on the same side of ASIC 20 in
Each port GL0-GL19 has transmit and receive connections to switch crossbar 50. One connection is through receive buffer 52, which functions to receive and temporarily hold a frame during a routing operation. The other connection is through a transmit buffer 54.
Switch crossbar 50 includes a number of switch crossbars for handling specific types of data and data flow control information. For illustration purposes only, switch crossbar 50 is shown as a single crossbar. Switch crossbar 50 is a connectionless crossbar (packet switch) of known conventional design, sized to connect 21×21 paths. This is to accommodate 20 GL ports plus a port for connection to a fabric controller, which may be external to ASIC 20.
In the preferred embodiments of switch chassis described herein, the fabric controller is a firmware-programmed microprocessor, also referred to as the input/output processor (“IOP”). IOP 66 is shown in
Control register 62 receives and holds control information from IOP 66, so that IOP 66 can change characteristics or operating configuration of ASIC 20 by placing certain control words in register 62. IOP 66 can read status of ASIC 20 by monitoring various codes that are placed in status register 64 by monitoring circuits (not shown).
Each GL_Port may have an optical-electric converter, designated as OE0-OE19 connected with its SERDES through serial lines, for providing fibre optic input/output connections, as is well known in the high performance switch design. The converters connect to switch channels C0-C19. It is noteworthy that the ports can connect through copper paths or other means instead of optical-electric converters.
LUN Mapping Cache 26:
Port 22 also includes a LUN Mapping cache 26 that substitutes (or adds/subtracts an offset value) the LUN field on frames being received or transmitted by port 22. The term “cache” as used herein is intended to include plural logic elements rather than just temporary storage.
LUN Mapping cache 26 matches S_ID, D_ID and the LUN field of an incoming FCP_CMND frame and the LUN field is substituted (or an offset value is added/subtracted) in the payload. When an offset value is used, then only the S_ID and D_ID fields are compared. LUN Mapping cache 26 includes multiple entries (as described below with respect to
It is noteworthy that a new cyclic redundancy code (“CRC”) value may also be calculated in the FCP_CMND based on a new LUN field value. The CRC value is computed and compared for maintaining frame integrity.
FCP_CMND frames are identified by a Fibre Channel header fields as follows:
LUN Mapping cache 26 may be used to compare the D_ID and/or S_ID and/or LUN field of a command to a cache entry and if equal, an offset may be added to the LUN value in the command payload. The LUN value itself may be identified in a LUN Mapping cache 26 entry.
LUN Mapping cache 26 may also be used to compare the D_ID and/or S_ID and/or LUN field of a command to a cache entry and if equal, the LUN value in the command payload is substituted with a cache entry. The new LUN field value itself may be identified in a cache 26 entry.
LUN Mapping cache 26 may be included in a port attached to a SCSI initiator (for example, HBA 11). In this case bits 8-23 of the D_ID are compared.
LUN Mapping cache 26 may also be included at a port attached to a SCSI target (for example, HBA 21). In this case, bits 8-23 of the S_ID are compared. The LUN field itself may be a 2-byte field used by most devices or an 8-byte LUN structure as described by the SCSI SAM-2 specification, incorporated herein by reference in its entirety.
LUN Mapping Cache 26:
LUN Mapping cache 26 includes plural entries and compares the D_ID for frames received at a port or the S_ID for frames that are being transmitted from the port.
It is noteworthy that although various bit values are shown in
Cache 26 includes a multiplexer (“Mux”) 26D that receives a 24-bit D_ID value 26C for frames that are received and a 24-bit S_ID value 26B for frames that are transmitted from a port (for example, 22). 26C also includes a Rx_valid signal that indicates a valid receive side frame and a receive side LUN value (Rx_LUN) Field. 26D includes a Tx_valid signal that indicates a valid transmit side frame and a transmit side LUN value (Tx_LUN) Field. The Rx_valid and Tx_valid signals provides both a timing qualifier to align the different data fields of 26C and 26B and to qualify the frame as a FCP_CMND for the receive and transmit frame respectively. Command/signal 26A (shown as Rx_LUN_Active) is used to enable LUN Mapping in receive or transmit side, according to one aspect of the present invention.
Incoming frames D_ID or S_ID values are compared by logic 26K, 26L, 26M and 26Y with entries 26F, 26G, 26H1 and 26H, respectively. A valid bit in 26E is set if a cache entry is enabled for comparison.
Entry 26H includes a LUN field that is compared with the LUN field in the frame (i.e. Rx_LUN Field or Tx_LUN Field). LUN field 26H comparison is performed by logic 26Y that also receives an input (Rx_LUN Field and/or Tx_LUN Field) from Mux 26D. Output from logic 26Y is sent to logic 26Z (an OR gate).
Logic 26N generates a command/signal (output 26J) based on the comparison. Output 26J is sent to logic 26Q that generates a hit LUN Mapping signal 26R or a multiple (LUN Mapping) hit signal 26S. If a multiple hit signal 26S is generated, then the lowest entry number may be used and an error status is set and sent to IOP 66.
Output 26J is also sent to an encoder module 26T, whose output is sent to MUX 26U. If hit signal 26R is generated then the LUN from the cache entry (26P) is substituted (or LUN offset value is added/subtracted) in the frame header LUN field. This is shown as 26V in
A control signal 26X is also generated that allows LUN field substitution. Control signal 26X (or bits) is used to control the operation of Mux 33C and Mux 33d (
If LUN Mapping cache 26 is located on the initiator side, then the following fields are used:
D_ID: 24 bits are matched to the D_ID of incoming FCP_CMND frames;
S_ID: 8-bits are optionally matched to the lower 8-bits of S_ID, in case multiple devices are attached to the port due to an Arbitrated Loop configuration or if the N_Port Virtual identifier is used;
LUN match: 16 bits are used if only the first level LUN is used or 64-bits are used if the full LUN value is used. The LUN match may not be optionally used when LUN substitution is configured using an offset addition or subtraction. The LUN match may be enabled or disabled by control bits in 26E;
Substitute LUN: 16-bits or 64-bits are used for substitution depending on the level of the LUN. The substitute LUN value may be generated by addition/subtraction of the offset value from 26P and the value in the frame or directly from 26P itself; and
26E has a valid flag (and control bits) if a cache entry has been configured for use.
A mode flag (in the control register at control port 62 and/or 62A) may be used so that after the addresses and LUN field are compared, either a LUN substitution or LUN offset value is added (or subtracted). This control may also be used in 26E or 26P as described above.
The control bits (or mode flags) are used to either replace the LUN value or add/subtract an offset value. Logic 33G and 33E is used to add a LUN offset value (from 26P), while logic 33F and 33H is used for subtraction.
The value that is placed in an incoming frame is shown as 34B, and in an outgoing frame it is shown as 34A. Mux 33C and 33D are used to generate values 34B and 34A, respectively.
In step S401, a frame is received, for example frame 31.
In step S402, incoming frame fields are compared to LUN Mapping cache 26 entries, described above with respect to
In step S403, either the LUN field is substituted or an offset is added/subtracted from the LUN field value in the incoming frame, as described above.
The process shown in
In one aspect of the present invention, storage virtualization is improved because a Fibre Channel switch element can efficiently map LUN values by associating virtual LUN values to physical LUN values.
Although the present invention has been described with reference to specific embodiments, these embodiments are illustrative only and not limiting. Many other applications and embodiments of the present invention will be apparent in light of this disclosure and the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4081612 | Hafner | Mar 1978 | A |
4162375 | Schilichte | Jul 1979 | A |
4200929 | Davidjuk et al. | Apr 1980 | A |
4258418 | Heath | Mar 1981 | A |
4344132 | Dixon et al. | Aug 1982 | A |
4382159 | Bowditch | May 1983 | A |
4425640 | Philip et al. | Jan 1984 | A |
4546468 | Christmas et al. | Oct 1985 | A |
4569043 | Simmons et al. | Feb 1986 | A |
4691296 | Struger | Sep 1987 | A |
4716561 | Angell et al. | Dec 1987 | A |
4725835 | Schreiner et al. | Feb 1988 | A |
4821034 | Anderson et al. | Apr 1989 | A |
4860193 | Bentley et al. | Aug 1989 | A |
4964119 | Endo et al. | Oct 1990 | A |
4980857 | Walter et al. | Dec 1990 | A |
5025370 | Koegel et al. | Jun 1991 | A |
5051742 | Hullett et al. | Sep 1991 | A |
5090011 | Fukuta et al. | Feb 1992 | A |
5115430 | Hahne et al. | May 1992 | A |
5144622 | Takiyasu et al. | Sep 1992 | A |
5258751 | DeLuca et al. | Nov 1993 | A |
5260933 | Rouse | Nov 1993 | A |
5260935 | Turner | Nov 1993 | A |
5280483 | Kamoi et al. | Jan 1994 | A |
5291481 | Doshi et al. | Mar 1994 | A |
5339311 | Turner | Aug 1994 | A |
5367520 | Cordell | Nov 1994 | A |
5390173 | Spinney et al. | Feb 1995 | A |
5425022 | Clark et al. | Jun 1995 | A |
5537400 | Diaz et al. | Jul 1996 | A |
5568165 | Kimura | Oct 1996 | A |
5568167 | Galbi et al. | Oct 1996 | A |
5579443 | Tatematsu et al. | Nov 1996 | A |
5590125 | Acampora et al. | Dec 1996 | A |
5594672 | Hicks | Jan 1997 | A |
5598541 | Malladi | Jan 1997 | A |
5610745 | Bennett | Mar 1997 | A |
5666483 | McClary | Sep 1997 | A |
5677909 | Heide | Oct 1997 | A |
5687172 | Cloonan et al. | Nov 1997 | A |
5732206 | Mendel | Mar 1998 | A |
5748612 | Stoevhase et al. | May 1998 | A |
5757771 | Li et al. | May 1998 | A |
5764927 | Murphy et al. | Jun 1998 | A |
5768271 | Seid et al. | Jun 1998 | A |
5768533 | Ran | Jun 1998 | A |
5784358 | Smith et al. | Jul 1998 | A |
5790545 | Holt et al. | Aug 1998 | A |
5790840 | Bulka et al. | Aug 1998 | A |
5818842 | Burwell et al. | Oct 1998 | A |
5821875 | Lee et al. | Oct 1998 | A |
5822300 | Johnson et al. | Oct 1998 | A |
5825748 | Barkey et al. | Oct 1998 | A |
5828475 | Bennett et al. | Oct 1998 | A |
5835748 | Orenstein et al. | Nov 1998 | A |
5835752 | Chiang et al. | Nov 1998 | A |
5850386 | Anderson et al. | Dec 1998 | A |
5892604 | Yamanaka et al. | Apr 1999 | A |
5894560 | Carmichael et al. | Apr 1999 | A |
5925119 | Maroney | Jul 1999 | A |
5936442 | Liu et al. | Aug 1999 | A |
5937169 | Connery et al. | Aug 1999 | A |
5954796 | McCarty et al. | Sep 1999 | A |
5974547 | Klimenko | Oct 1999 | A |
5978379 | Chan et al. | Nov 1999 | A |
5987028 | Yang et al. | Nov 1999 | A |
5999528 | Chow et al. | Dec 1999 | A |
6009226 | Tsuji et al. | Dec 1999 | A |
6011779 | Wills | Jan 2000 | A |
6014383 | McCarty | Jan 2000 | A |
6021128 | Hosoya et al. | Feb 2000 | A |
6031842 | Trevitt et al. | Feb 2000 | A |
6046979 | Bauman | Apr 2000 | A |
6047323 | Krause | Apr 2000 | A |
6061360 | Miller et al. | May 2000 | A |
6081512 | Muller et al. | Jun 2000 | A |
6108738 | Chambers et al. | Aug 2000 | A |
6108778 | LaBerge | Aug 2000 | A |
6118776 | Berman | Sep 2000 | A |
6118791 | Fichou et al. | Sep 2000 | A |
6128292 | Kim et al. | Oct 2000 | A |
6134127 | Kirchberg | Oct 2000 | A |
6144668 | Bass et al. | Nov 2000 | A |
6147976 | Shand et al. | Nov 2000 | A |
6151644 | Wu | Nov 2000 | A |
6158014 | Henson | Dec 2000 | A |
6160813 | Banks et al. | Dec 2000 | A |
6185203 | Berman | Feb 2001 | B1 |
6201787 | Baldwin et al. | Mar 2001 | B1 |
6209089 | Selitrennikoff et al. | Mar 2001 | B1 |
6229822 | Chow et al. | May 2001 | B1 |
6230276 | Hayden | May 2001 | B1 |
6240096 | Book | May 2001 | B1 |
6246683 | Connery et al. | Jun 2001 | B1 |
6247060 | Boucher et al. | Jun 2001 | B1 |
6252891 | Perches | Jun 2001 | B1 |
6253267 | Kim et al. | Jun 2001 | B1 |
6278708 | Von Hammerstein et al. | Aug 2001 | B1 |
6286011 | Velamuri et al. | Sep 2001 | B1 |
6289002 | Henson et al. | Sep 2001 | B1 |
6301612 | Selitrennikoff et al. | Oct 2001 | B1 |
6307857 | Yokoyama et al. | Oct 2001 | B1 |
6308220 | Mathur | Oct 2001 | B1 |
6311204 | Mills et al. | Oct 2001 | B1 |
6324181 | Wong et al. | Nov 2001 | B1 |
6330236 | Ofek et al. | Dec 2001 | B1 |
6333932 | Kobayasi et al. | Dec 2001 | B1 |
6335935 | Kadambi et al. | Jan 2002 | B2 |
6343324 | Hubis et al. | Jan 2002 | B1 |
6353612 | Zhu et al. | Mar 2002 | B1 |
6370605 | Chong | Apr 2002 | B1 |
6397360 | Bruns | May 2002 | B1 |
6401128 | Stai et al. | Jun 2002 | B1 |
6411599 | Blanc et al. | Jun 2002 | B1 |
6411627 | Hullett et al. | Jun 2002 | B1 |
6418477 | Verma | Jul 2002 | B1 |
6421342 | Schwartz et al. | Jul 2002 | B1 |
6421711 | Blumenau et al. | Jul 2002 | B1 |
6424658 | Mathur | Jul 2002 | B1 |
6438628 | Messerly et al. | Aug 2002 | B1 |
6449274 | Holden et al. | Sep 2002 | B1 |
6452915 | Jorgensen | Sep 2002 | B1 |
6457090 | Young | Sep 2002 | B1 |
6467008 | Gentry | Oct 2002 | B1 |
6470026 | Pearson et al. | Oct 2002 | B1 |
6470173 | Okada et al. | Oct 2002 | B1 |
6470415 | Starr et al. | Oct 2002 | B1 |
6480500 | Erimli et al. | Nov 2002 | B1 |
6509988 | Saito | Jan 2003 | B1 |
6522656 | Gridley | Feb 2003 | B1 |
6532212 | Soloway et al. | Mar 2003 | B1 |
6563796 | Saito | May 2003 | B1 |
6570850 | Gutierrez et al. | May 2003 | B1 |
6570853 | Johnson et al. | May 2003 | B1 |
6591302 | Boucher et al. | Jul 2003 | B2 |
6594231 | Byham et al. | Jul 2003 | B1 |
6597691 | Anderson et al. | Jul 2003 | B1 |
6597777 | Ho | Jul 2003 | B1 |
6606690 | Padovano | Aug 2003 | B2 |
6614796 | Black et al. | Sep 2003 | B1 |
6622206 | Kanamaru et al. | Sep 2003 | B1 |
6629161 | Matsuki et al. | Sep 2003 | B2 |
6643298 | Brunheroto et al. | Nov 2003 | B1 |
6657962 | Barri et al. | Dec 2003 | B1 |
6684209 | Ito et al. | Jan 2004 | B1 |
6697359 | George | Feb 2004 | B1 |
6697368 | Chang et al. | Feb 2004 | B2 |
6697914 | Hospodor et al. | Feb 2004 | B1 |
6718497 | Whitby-Strevens | Apr 2004 | B1 |
6738381 | Agnevik et al. | May 2004 | B1 |
6744772 | Eneboe et al. | Jun 2004 | B1 |
6760302 | Ellinas et al. | Jul 2004 | B1 |
6779083 | Ito et al. | Aug 2004 | B2 |
6785241 | Lu et al. | Aug 2004 | B1 |
6807181 | Weschler | Oct 2004 | B1 |
6816492 | Turner et al. | Nov 2004 | B1 |
6816750 | Klaas | Nov 2004 | B1 |
6859435 | Lee et al. | Feb 2005 | B1 |
6865157 | Scott et al. | Mar 2005 | B1 |
6886141 | Kunz et al. | Apr 2005 | B1 |
6888831 | Hospodor et al. | May 2005 | B1 |
6901072 | Wong | May 2005 | B1 |
6904507 | Gil | Jun 2005 | B2 |
6922408 | Bloch et al. | Jul 2005 | B2 |
6928470 | Hamlin | Aug 2005 | B1 |
6934799 | Acharya et al. | Aug 2005 | B2 |
6941357 | Nguyen et al. | Sep 2005 | B2 |
6941482 | Strong | Sep 2005 | B2 |
6947393 | Hooper, III | Sep 2005 | B2 |
6952659 | King et al. | Oct 2005 | B2 |
6968463 | Pherson et al. | Nov 2005 | B2 |
6975627 | Parry et al. | Dec 2005 | B1 |
6987768 | Kojima et al. | Jan 2006 | B1 |
6988130 | Blumenau et al. | Jan 2006 | B2 |
6988149 | Odenwald | Jan 2006 | B2 |
7000025 | Wilson | Feb 2006 | B1 |
7002926 | Eneboe et al. | Feb 2006 | B1 |
7010607 | Bunton | Mar 2006 | B1 |
7024410 | Ito et al. | Apr 2006 | B2 |
7031615 | Genrile | Apr 2006 | B2 |
7039070 | Kawakatsu | May 2006 | B2 |
7039870 | Takaoka et al. | May 2006 | B2 |
7047326 | Crosbie et al. | May 2006 | B1 |
7050392 | Valdevit | May 2006 | B2 |
7051182 | Blumenau et al. | May 2006 | B2 |
7055068 | Riedl | May 2006 | B2 |
7061862 | Horiguchi et al. | Jun 2006 | B2 |
7061871 | Sheldon et al. | Jun 2006 | B2 |
7076569 | Bailey et al. | Jul 2006 | B1 |
7092374 | Gubbi | Aug 2006 | B1 |
7110394 | Chamdani et al. | Sep 2006 | B1 |
7120728 | Krakirian et al. | Oct 2006 | B2 |
7123306 | Goto et al. | Oct 2006 | B1 |
7124169 | Shimozono et al. | Oct 2006 | B2 |
7150021 | Vajjhala et al. | Dec 2006 | B1 |
7151778 | Zhu et al. | Dec 2006 | B2 |
7171050 | Kim | Jan 2007 | B2 |
7185062 | Lolayekar et al. | Feb 2007 | B2 |
7187688 | Garmire et al. | Mar 2007 | B2 |
7188364 | Volpano | Mar 2007 | B2 |
7190667 | Susnow et al. | Mar 2007 | B2 |
7194538 | Rabe et al. | Mar 2007 | B1 |
7200108 | Beer et al. | Apr 2007 | B2 |
7200610 | Prawdiuk et al. | Apr 2007 | B1 |
7209478 | Rojas et al. | Apr 2007 | B2 |
7215680 | Mullendore et al. | May 2007 | B2 |
7221650 | Cooper et al. | May 2007 | B1 |
7230929 | Betker et al. | Jun 2007 | B2 |
7233570 | Gregg | Jun 2007 | B2 |
7233985 | Hahn et al. | Jun 2007 | B2 |
7245613 | Winkles et al. | Jul 2007 | B1 |
7245627 | Goldenberg et al. | Jul 2007 | B2 |
7248580 | George et al. | Jul 2007 | B2 |
7263593 | Honda et al. | Aug 2007 | B2 |
7266286 | Tanizawa et al. | Sep 2007 | B2 |
7269131 | Cashman et al. | Sep 2007 | B2 |
7269168 | Roy et al. | Sep 2007 | B2 |
7277431 | Walter et al. | Oct 2007 | B2 |
7287063 | Baldwin et al. | Oct 2007 | B2 |
7292593 | Winkles et al. | Nov 2007 | B1 |
7315511 | Morita et al. | Jan 2008 | B2 |
7327680 | Kloth | Feb 2008 | B1 |
7346707 | Erimli | Mar 2008 | B1 |
7352740 | Hammons et al. | Apr 2008 | B2 |
7397788 | Mies et al. | Jul 2008 | B2 |
7406034 | Cometto et al. | Jul 2008 | B1 |
20010011357 | Mori | Aug 2001 | A1 |
20010022823 | Renaud | Sep 2001 | A1 |
20010033552 | Barrack et al. | Oct 2001 | A1 |
20010038628 | Ofek et al. | Nov 2001 | A1 |
20010043564 | Bloch et al. | Nov 2001 | A1 |
20010047460 | Kobayashi et al. | Nov 2001 | A1 |
20020016838 | Geluc et al. | Feb 2002 | A1 |
20020034178 | Schmidt et al. | Mar 2002 | A1 |
20020071387 | Horiguchi et al. | Jun 2002 | A1 |
20020103913 | Tawil et al. | Aug 2002 | A1 |
20020104039 | DeRolf et al. | Aug 2002 | A1 |
20020118692 | Oberman et al. | Aug 2002 | A1 |
20020122428 | Fan et al. | Sep 2002 | A1 |
20020124124 | Matsumoto et al. | Sep 2002 | A1 |
20020147560 | Devins et al. | Oct 2002 | A1 |
20020147843 | Rao | Oct 2002 | A1 |
20020156918 | Valdevit et al. | Oct 2002 | A1 |
20020159385 | Susnow et al. | Oct 2002 | A1 |
20020172195 | Pekkala et al. | Nov 2002 | A1 |
20020174197 | Schimke et al. | Nov 2002 | A1 |
20020191602 | Woodring et al. | Dec 2002 | A1 |
20020194294 | Blumenau et al. | Dec 2002 | A1 |
20020196773 | Berman | Dec 2002 | A1 |
20030002503 | Brewer et al. | Jan 2003 | A1 |
20030002516 | Boock et al. | Jan 2003 | A1 |
20030016683 | George et al. | Jan 2003 | A1 |
20030021239 | Mullendore et al. | Jan 2003 | A1 |
20030026267 | Oberman et al. | Feb 2003 | A1 |
20030026287 | Mullendore et al. | Feb 2003 | A1 |
20030033487 | Pfister et al. | Feb 2003 | A1 |
20030035433 | Craddock et al. | Feb 2003 | A1 |
20030046396 | Richter et al. | Mar 2003 | A1 |
20030056000 | Mullendore et al. | Mar 2003 | A1 |
20030063567 | Dehart | Apr 2003 | A1 |
20030072316 | Niu et al. | Apr 2003 | A1 |
20030076788 | Grabauskas et al. | Apr 2003 | A1 |
20030079019 | Lolayekar et al. | Apr 2003 | A1 |
20030084219 | Yao et al. | May 2003 | A1 |
20030086377 | Berman | May 2003 | A1 |
20030091062 | Lay et al. | May 2003 | A1 |
20030093607 | Main et al. | May 2003 | A1 |
20030103451 | Lutgen et al. | Jun 2003 | A1 |
20030112819 | Kofoed et al. | Jun 2003 | A1 |
20030115355 | Cometto et al. | Jun 2003 | A1 |
20030117961 | Chuah et al. | Jun 2003 | A1 |
20030118053 | Edsall et al. | Jun 2003 | A1 |
20030120743 | Coatney et al. | Jun 2003 | A1 |
20030120791 | Weber et al. | Jun 2003 | A1 |
20030120983 | Vieregge et al. | Jun 2003 | A1 |
20030126223 | Jenne et al. | Jul 2003 | A1 |
20030126242 | Chang | Jul 2003 | A1 |
20030131105 | Czeiger et al. | Jul 2003 | A1 |
20030137941 | Kaushik et al. | Jul 2003 | A1 |
20030139900 | Robison | Jul 2003 | A1 |
20030172149 | Edsall et al. | Sep 2003 | A1 |
20030172239 | Swank | Sep 2003 | A1 |
20030174652 | Ebata | Sep 2003 | A1 |
20030174721 | Black et al. | Sep 2003 | A1 |
20030174789 | Waschura et al. | Sep 2003 | A1 |
20030179709 | Huff | Sep 2003 | A1 |
20030179748 | George et al. | Sep 2003 | A1 |
20030179755 | Fraser | Sep 2003 | A1 |
20030189930 | Terrell et al. | Oct 2003 | A1 |
20030189935 | Warden et al. | Oct 2003 | A1 |
20030191857 | Terell et al. | Oct 2003 | A1 |
20030195983 | Krause | Oct 2003 | A1 |
20030198238 | Westby | Oct 2003 | A1 |
20030200315 | Goldenberg et al. | Oct 2003 | A1 |
20030218986 | DeSanti et al. | Nov 2003 | A1 |
20030229808 | Heintz et al. | Dec 2003 | A1 |
20030236953 | Grieff et al. | Dec 2003 | A1 |
20040013088 | Gregg | Jan 2004 | A1 |
20040013092 | Betker et al. | Jan 2004 | A1 |
20040013113 | Singh et al. | Jan 2004 | A1 |
20040013125 | Betker et al. | Jan 2004 | A1 |
20040015638 | Bryn | Jan 2004 | A1 |
20040024831 | Yang et al. | Feb 2004 | A1 |
20040028038 | Anderson et al. | Feb 2004 | A1 |
20040054776 | Klotz et al. | Mar 2004 | A1 |
20040054866 | Blumenau et al. | Mar 2004 | A1 |
20040057389 | Klotz et al. | Mar 2004 | A1 |
20040064664 | Gil | Apr 2004 | A1 |
20040081186 | Warren et al. | Apr 2004 | A1 |
20040081196 | Elliott | Apr 2004 | A1 |
20040081394 | Biren et al. | Apr 2004 | A1 |
20040085955 | Walter et al. | May 2004 | A1 |
20040085974 | Mies et al. | May 2004 | A1 |
20040085994 | Warren et al. | May 2004 | A1 |
20040092278 | Diepstraten et al. | May 2004 | A1 |
20040100944 | Richmond et al. | May 2004 | A1 |
20040109418 | Fedorkow et al. | Jun 2004 | A1 |
20040120340 | Furey et al. | Jun 2004 | A1 |
20040123181 | Moon et al. | Jun 2004 | A1 |
20040141518 | Milligan et al. | Jul 2004 | A1 |
20040141521 | George | Jul 2004 | A1 |
20040151188 | Maveli et al. | Aug 2004 | A1 |
20040153526 | Haun et al. | Aug 2004 | A1 |
20040153566 | Lalsangi et al. | Aug 2004 | A1 |
20040153914 | El-Batal | Aug 2004 | A1 |
20040174813 | Kasper et al. | Sep 2004 | A1 |
20040202189 | Arndt et al. | Oct 2004 | A1 |
20040208201 | Otake | Oct 2004 | A1 |
20040267982 | Jackson et al. | Dec 2004 | A1 |
20050023656 | Leedy | Feb 2005 | A1 |
20050036485 | Eilers et al. | Feb 2005 | A1 |
20050036499 | Dutt et al. | Feb 2005 | A1 |
20050036763 | Kato et al. | Feb 2005 | A1 |
20050047334 | Paul et al. | Mar 2005 | A1 |
20050073956 | Moores et al. | Apr 2005 | A1 |
20050076113 | Klotz et al. | Apr 2005 | A1 |
20050088969 | Carlsen et al. | Apr 2005 | A1 |
20050108444 | Flauaus et al. | May 2005 | A1 |
20050111845 | Nelson et al. | May 2005 | A1 |
20050117522 | Basavaiah et al. | Jun 2005 | A1 |
20050177641 | Yamagami | Aug 2005 | A1 |
20050188245 | Seto et al. | Aug 2005 | A1 |
20050198523 | Shanbhag et al. | Sep 2005 | A1 |
20060013248 | Mujeeb et al. | Jan 2006 | A1 |
20060034192 | Hurley et al. | Feb 2006 | A1 |
20060034302 | Peterson | Feb 2006 | A1 |
20060047852 | Shah et al. | Mar 2006 | A1 |
20060074927 | Sullivan et al. | Apr 2006 | A1 |
20060107260 | Motta | May 2006 | A1 |
20060143300 | See et al. | Jun 2006 | A1 |
20060184711 | Pettey | Aug 2006 | A1 |
20060203725 | Paul et al. | Sep 2006 | A1 |
20060274744 | Nagai et al. | Dec 2006 | A1 |
20070206502 | Martin et al. | Sep 2007 | A1 |
Number | Date | Country |
---|---|---|
0649098 | Sep 1994 | EP |
0856969 | Jan 1998 | EP |
WO-9836537 | Aug 1998 | WO |
WO-0195566 | Dec 2001 | WO |
WO03088050 | Oct 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20060072616 A1 | Apr 2006 | US |