The present technology relates in general to the field of printed circuit board layout, and in particular, to techniques for routing signals to and from an array of contacts.
Electronic systems used for computing and networking applications continue to evolve and increase in complexity. Routing the signals on a densely populated printed circuit board (PCB) or an integrated circuit (IC) used in these systems becomes extremely challenging due to restrictions associated with design and manufacturing constraints. For example, the evolution of ball-grid array (BGA) packaging to smaller pitch sizes presents unique challenges when fanning out signals. Design optimization is often balanced with the increased costs that accompany advanced manufacturing techniques.
In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific examples thereof which are illustrated in the appended drawings. Understanding that these drawings depict only examples of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
The detailed description set forth below is intended as a description of various configurations of the subject technology and is not intended to represent the only configurations in which the subject technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a more thorough understanding of the subject technology. However, it will be clear and apparent that the subject technology is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.
The present disclosure describes a technique for routing signal traces on printed circuit boards. In particular, the present disclosure relates to techniques for routing the traces to minimize the impact of routing restrictions and to minimize the effects of cross-talk. The present technology provides a routing approach that can be utilized with basic PCB manufacturing technology and thus decreases the associated manufacturing costs.
Overview:
The subject technology provides embodiments for a method of routing signal traces on a printed circuit board. The method includes routing a first signal trace and a second signal trace on substantially parallel conductive paths and determining that the first signal trace violates a routing restriction. The first signal trace that violates the routing restriction is modified by replacing one or more sections of the signal trace with at least one serpentine structure. The serpentine structure includes three trace segments: a first trace segment directed towards the second signal trace, a second trace segment connected to the first trace segment that is parallel to second signal trace, and a third trace segment connected to the second trace segment, the third trace segment directed away from the second signal trace. Alternatively, the first signal trace can be modified by replacing one or more sections of the signal trace with a curved or an arced trace structure.
The detailed description set forth below is intended as a description of various configurations of the subject technology and is not intended to represent the only configurations in which the subject technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a more thorough understanding of the subject technology. However, it will be clear and apparent that the subject technology is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.
In
The PCB 100 can have a first signal trace 104 routed to/from contact 1022 and a second signal trace 106 routed to/from contact 1024. The first signal trace 104 and the second signal trace 106 can be routed using a dual track routing technique wherein the two traces are located between two columns of contacts 102. In some examples, the pair of traces can be a differential signal pair that necessitates routing conductive paths that are substantially parallel.
There are a number of restrictions associated with dual track routing. To begin with, each signal trace has a width associated with it. The width of a signal trace can affect signal integrity and parameters such as trace impedance. In the case where two signal traces correspond to a differential signal pair, the trace width of the traces and the spacing between the traces will determine the differential pair impedance. The target impedance for the differential pair and the PCB stack-up will dictate the corresponding trace widths and the spacing required.
Changing the width of a trace can also affect the spacing required between traces. For example, trace spacing 114 can be reduced if the corresponding widths of signal trace 104 and signal trace 106 are also reduced. In one embodiment, the width of signal trace 104 and signal trace 106 can be set to 4 mils. Consequently, the trace spacing 114 can also be set to 4 mils. However, if the trace width is reduced to 3.5 mils, then the trace spacing 114 can also be reduced to 3.5 mils. In the case of differential signal pairs, the widths of the two signal traces and the spacing between the two signal traces should remain constant in order to maintain the target differential pair impedance. In some embodiments, the target impedance of the electrical interface can be associated with an allowed tolerance. For example, the target impedance may have a tolerance of +/−10%. Accordingly, the trace width variation and the trace spacing 114 will be limited by the allowed tolerance of the target impedance. Furthermore, the maximum allowed trace width and trace spacing 114 will be also limited by BGA pitch 116.
Additional routing restrictions include a minimum back-drill to metal (BD2M) 110 distance and a drill to metal (D2M) 112 distance. The D2M 112 parameter is defined as the minimum distance from a trace to the perimeter of a via 103. During the manufacturing process, a drill is used to create each via 103. Hence, D2M 112 refers to the distance from the perimeter of the via (drill location) to a trace. The diameter of via 103 is equivalent to the drill bit that is used to create it.
The BD2M 110 parameter is the minimum distance from a trace to the perimeter of the back-drill bit size 108 designated by the dashed circle around via 103 and outside of contacts 1025, 1027 and 10210. Back-drilling is a PCB manufacturing technique that is used to remove a via stub. For example, a PCB having 8 layers can have plated through-hole vias that extend across all 8 layers. However, the signal may only need to travel from layer 1 to layer 3. Thus, a via stub would exist that extends from layer 4 to layer 8. This via stub can cause signal integrity problems for high frequency signals. To remedy this problem, a PCB manufacturer can remove the stub by “back-drilling” the via to remove the portion that extends beyond the required layer; in this example the via stub would be drilled (removed) right up to layer 3. This leaves a via that extends only between the desired layers with a very minimal stub length. The drill used to perform this task has a diameter larger than that of the via being drilled. Accordingly, the BD2M parameter takes this into account and prevents a trace from being routed within the area 108 corresponding to the back-drill.
In
The PCB 200 can have a first signal trace 204 routed to/from contact 2022 and a second signal trace 206 routed to/from contact 2024. The first signal trace 204 and the second signal trace 206 can be routed using a dual track routing technique wherein the two traces are located between two columns of contacts 202.
Similar to
In order to satisfy the BD2M 210 and D2M 212 routing requirements, trace 204 and trace 206 have been modified. In particular, trace 204 includes a first segment 2041 that redirects trace 204 away from contact 2025 and toward trace 206. In doing so, trace 204 can be routed such that the required distance BD2M 210 is maintained from the back-drill perimeter 208. The length of segment 2041 is selected to allow for sufficient clearance of the BD2M 210 requirement while also maintaining necessary trace spacing 214. Segment 2041 is followed by segment 2042 which returns trace 204 to the original orientation that is substantially parallel to trace 206.
As traces 204 and 206 continue to travel down PCB 200, another deviation in path is required because of the BD2M 210 requirement presented by the back-drilled via 203 on contact 20210. Accordingly, trace 204 has a trace segment 2043 that turns it away from trace 206 and trace 206 has a trace segment 2062 that takes its path toward trace 204. Consequently, the routing of the traces satisfies the required BD2M 210 distance from the back-drill perimeter 208 that corresponds to the via within contact 20210.
The back-drilled vias in PCB 200 illustrate the types of restrictions faced with dual-track routing. One that is skilled in the art will recognize that the number of back-drilled vias and their locations can vary among designs. Similarly, the position of the trace segments used to alter the course of a trace and the number of segments required can vary according to the particular design.
In some embodiments, the trace segments that are used to alter the path of a particular trace can be used to create additional space by reducing the width of the segments. For example, the default width of trace 204 can be set to 4 mils. However, trace segment 2041, 2042, and 2043 can have a reduced width that is 3.5 mils, for example. Changing the width of the segments allows for smaller trace separation 214 between trace 204 and trace 206. This technique can be used to obtain additional space when the constraints presented by BD2M 210 and D2M 212 are difficult to achieve.
The PCB 300 can have a first signal trace 304 routed to/from contact 3022 and a second signal trace 306 routed to/from contact 3024. The first signal trace 304 and the second signal trace 306 can be routed using a dual track routing technique wherein the two traces are located between two columns of contacts 302. In some embodiments, signal trace 304 and signal trace 306 can correspond to a first high-speed differential signal pair. The PCB 300 can also have a third signal trace 308 routed to/from contact 3025 and a fourth signal trace 310 routed to/from contact 3027. In some embodiments, signal trace 308 and signal trace 310 can correspond to a second high-speed differential signal pair.
In order to satisfy the D2M 312 routing requirement, trace 304 and trace 306 have been modified. In particular, trace 304 includes a first segment 3041 that redirects trace 304 away from contact 3025 and toward trace 306. In doing so, trace 304 can be routed such that the required distance D2M 312 is maintained. The length of segment 3041 is selected to allow for sufficient clearance of the D2M 312 requirement while also maintaining the necessary trace spacing. Segment 3041 is followed by segment 3042 which returns trace 304 to the original orientation that is substantially parallel to trace 306.
In addition to satisfying the D2M 312 requirement that allows for lower cost PCB 300 manufacturing, the serpentine like deviation of trace 304 also improves the electrical performance of the design. Each of the four traces 304, 306, 308 and 310 on PCB 300 correspond to high-speed digital signals. As those that are skilled in the art will recognize, the proximity of high-speed digital signals can lead to degraded performance caused by electrical cross-talk. Therefore, the deviation of trace 304 away from trace 308 and trace 310 will also improve the signal integrity of each of the signals routed on the four traces because the added distance will reduce the cross-talk in the system. Consequently, in some embodiments, a designer may exceed the D2M 312 minimum requirement in order to maximize cross-talk reduction.
The presence of via 4081 introduces a design constraint associated with a minimum drill to metal (D2M) 410 distance. Similarly, the presence of back-drilled via 4082 introduces a design constraint associated with a minimum back-drill to metal (BD2M) 412 distance. Accordingly, trace 402 and trace 404 are altered to satisfy the D2M 410 and BD2M 412 requirements.
Trace 404 includes a first segment 416 that deviates trace 404 away from the via and toward trace 406. The length of the first segment 416 is selected to allow for suitable clearance of D2M 410 requirement. First segment 416 deviates trace 404 at an angle that is approximately 45 degrees. However, those that are skilled in the art will recognize that different angles can be used to accomplish a similar result.
The first segment 416 is followed by a second segment 418 that is positioned in the original direction of trace 404 and is parallel to trace 402. The length of second segment 418 is selected to keep the minimum D2M 410 distance for as long as necessary. For example, if there were another via adjacent to 4081, then second segment 418 can be extended further until the trace routing is beyond that via.
The second segment 418 is followed by a third segment 420 that is angled away from trace 402. In some embodiments, the first segment 416 and the third segment 420 can be substantially equal in length, thus returning trace 404 to its original plane. Alternatively, the first segment 416 and the third segment 420 can different lengths which would take trace 404 along a different path. The first segment 416, second segment 418, and third segment 420 together form a trapezoidal shape with the base of the trapezoid corresponding to the section of trace 404 that was replace by the three segments.
In some embodiments, the first segment 416, second segment 418, and third segment 420 can have a different width than the original trace 404. For example, the width of the three segments can be made smaller to allow for additional space to satisfy the D2M 410 requirement. The reduced widths of the three segments can be equivalent or it can vary from one segment to another. In
The serpentine routing technique of first segment 416, second segment 418 and third segment 420 that is used on trace 404 to satisfy D2M 410 requirement can also be used on trace 402 to satisfy the BD2M 412 requirement. The lengths of the three segments used to deviate trace 402 can be selected to satisfy the BD2M requirement and can therefore be different than the lengths of the segments used in trace 404. However, signal trace 402 illustrates an alternative embodiment where the trace deviation corresponds to a curve 430. Curve 430 can be used to create the required spacing to satisfy the BD2M 412 requirement. The slope of curve 430 can be varied to optimize the spacing between a routing restriction such as BD2M 412 and the trace spacing 432. The alternative embodiment illustrated by curve 430 can be used to avoid the turns or corners associated with a serpentine arrangement. Those that are skilled in the art will recognize that the two techniques can be combined such that a curved structure is introduced to the ends of trace segments 416, 418, and 420.
After the signal traces are routed, step 506 identifies a violation of a routing restriction or a cross-talk concern. A violation of a routing restriction can include failing to adhere to the minimum drill to metal (D2M) distance or the minimum back-drill to metal (BD2M) distance set forth by the PCB manufacturer. The minimum D2M distance sets forth the minimum required distance between a trace and the perimeter of a via. The minimum BD2M distance sets forth the minimum required distance between a trace and the perimeter of the back-drill bit size.
Alternatively, a cross-talk concern may exist between a signal corresponding to one of the routed traces and a via corresponding to another high-speed signal in the design. The proximity of the signal trace to the via can cause electrical interference that can cause signal degradation and poor system performance.
At 508, the routing path of at least one of the signal traces is modified to address the violation of the routing restriction or the cross-talk concern. The routing path of the first trace can be modified by replacing a section of the first signal trace with three trace segments. The first trace segment can deviate the signal trace away from the via that is the source of the routing violation or of the cross-talk concern. The length of the first trace segment can be selected to optimize the design while maintaining the necessary trace spacing between the modified trace and the second signal trace. The first trace segment is followed by a second trace segment that is connected to the first trace segment and returns the first signal trace to its original orientation, parallel to the second signal trace. The second trace segment is connected to a third trace segment that is directed away from the second signal trace. The first, second, and third trace segment combine to form a trapezoidal shape that has the replaced portion of the first trace as its base. In some embodiments, the first segment and the third segment can have substantially similar lengths.
At 510, the width of at least one of the signal traces is modified to be smaller than the original width. This “necking-down” technique can be used to create additional space between the signal trace and via that is the source of the violation (D2M or BD2M) or the cross-talk concern. The width of the first, second, and third trace segments can be modified to be less than the width of the original trace. In some embodiments, the reduction in width can be between 5% and 30%. Also, if the pair of traces corresponds to a differential signal pair, then the width of the second trace can also be reduced to match the width of the first trace. Reducing the widths of the signal traces can also allow for reduced spacing between the two signal traces. Therefore, a combination of a reduced width along with the deviated routing path can be used to further optimize the routes. However, one that is skilled in the art will recognize that the two techniques are not bound to each other and can be used independently to optimize routing. Furthermore, the reduced widths of the trace segments do not each have to be equivalent.
After step 510, the method proceeds to step 512 to verify the new routing paths satisfy the design requirements. The distance between the signal traces and the vias is measured to ensure that the minimum D2M distance is kept. Also, the distance between the signal traces and the back-drilled vias is measured to ensure that the minimum BD2M distance is kept. Further, the distance between the signal traces and a via that corresponds to another high-speed signal can be used to model the cross-talk effect. If any of these requirements are not satisfied, the traces can be modified further by altering the lengths of the corresponding segments and also altering the widths of the traces to ensure compliance with both manufacturing and electrical requirements.
After step 512, the method proceeds to step 514 wherein it returns to previous processing, which includes repeating method 500.
The first pair of signal contacts 604 and the second pair of signal contacts 606 are located along the outside of the array of contacts 600. Because the contacts are along the outside, they are not surrounded by GND contacts and the differential signal pairs 608 and 610 can be susceptible to additional cross-talk from other signals in the system.
Additional cross-talk protection can be achieved by adding a via 612 to the GND trace 614 and duplicating the GND trace on layers that are above and below differential signal pairs 608 and 610. For example, if differential signal pairs 608 and 610 are routed on the layer beneath the surface (layer 2), then GND via 612 can be used to route the GND signal to the layer beneath (layer 3) and create a duplicate GND trace 614 above and below the differential signal pairs 608 and 610. This routing technique can be used independently or in conjunction with the trace modification described herein to provide optimal cross-talk protection. One that is skilled in the art will realize that the GND isolation described in
In some embodiments, the subject technology may be utilized in a computer network environment. A computer network is a geographically distributed collection of nodes interconnected by communication links and segments for transporting data between endpoints, such as personal computers and workstations. Many types of networks are available, with the types ranging from local area networks (LANs) and wide area networks (WANs) to overlay and software-defined networks, such as virtual extensible local area networks (VXLANs).
LANs typically connect nodes over dedicated private communications links located in the same general physical location, such as a building or campus. WANs, on the other hand, typically connect geographically dispersed nodes over long-distance communications links, such as common carrier telephone lines, optical lightpaths, synchronous optical networks (SONET), or synchronous digital hierarchy (SDH) links. LANs and WANs can include layer 2 (L2) and/or layer 3 (L3) networks and devices.
The Internet is an example of a WAN that connects disparate networks throughout the world, providing global communication between nodes on various networks. The nodes typically communicate over the network by exchanging discrete frames or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP). In this context, a protocol can refer to a set of rules defining how the nodes interact with each other. Computer networks may be further interconnected by an intermediate network node, such as a router, to extend the effective “size” of each network.
Overlay networks generally allow virtual networks to be created and layered over a physical network infrastructure. Overlay network protocols, such as Virtual Extensible LAN (VXLAN), Network Virtualization using Generic Routing Encapsulation (NVGRE), Network Virtualization Overlays (NVO3), and Stateless Transport Tunneling (STT), provide a traffic encapsulation scheme which allows network traffic to be carried across L2 and L3 networks over a logical tunnel. Such logical tunnels can be originated and terminated through virtual tunnel end points (VTEPs).
Moreover, overlay networks can include virtual segments, such as VXLAN segments in a VXLAN overlay network, which can include virtual L2 and/or L3 overlay networks over which VMs communicate. The virtual segments can be identified through a virtual network identifier (VNI), such as a VXLAN network identifier, which can specifically identify an associated virtual segment or domain.
Network virtualization allows hardware and software resources to be combined in a virtual network. For example, network virtualization can allow multiple numbers of VMs to be attached to the physical network via respective virtual LANs (VLANs). The VMs can be grouped according to their respective VLAN, and can communicate with other VMs as well as other devices on the internal or external network.
Network segments, such as physical or virtual segments; networks; devices; ports; physical or logical links; and/or traffic in general can be grouped into a bridge or flood domain. A bridge domain or flood domain can represent a broadcast domain, such as an L2 broadcast domain. A bridge domain or flood domain can include a single subnet, but can also include multiple subnets. Moreover, a bridge domain can be associated with a bridge domain interface on a network device, such as a switch. A bridge domain interface can be a logical interface which supports traffic between an L2 bridged network and an L3 routed network. In addition, a bridge domain interface can support internet protocol (IP) termination, VPN termination, address resolution handling, MAC addressing, etc. Both bridge domains and bridge domain interfaces can be identified by a same index or identifier.
Furthermore, endpoint groups (EPGs) can be used in a network for mapping applications to the network. In particular, EPGs can use a grouping of application endpoints in a network to apply connectivity and policy to the group of applications. EPGs can act as a container for buckets or collections of applications, or application components, and tiers for implementing forwarding and policy logic. EPGs also allow separation of network policy, security, and forwarding from addressing by instead using logical application boundaries.
Cloud computing can also be provided in one or more networks to provide computing services using shared resources. Cloud computing can generally include Internet-based computing in which computing resources are dynamically provisioned and allocated to client or user computers or other devices on-demand, from a collection of resources available via the network (e.g., “the cloud”). Cloud computing resources, for example, can include any type of resource, such as computing, storage, and network devices, virtual machines (VMs), etc. For instance, resources may include service devices (firewalls, deep packet inspectors, traffic monitors, load balancers, etc.), compute/processing devices (servers, CPU's, memory, brute force processing capability), storage devices (e.g., network attached storages, storage area network devices), etc. In addition, such resources may be used to support virtual networks, virtual machines (VM), databases, applications (Apps), etc.
Cloud computing resources may include a “private cloud,” a “public cloud,” and/or a “hybrid cloud.” A “hybrid cloud” can be a cloud infrastructure composed of two or more clouds that inter-operate or federate through technology. In essence, a hybrid cloud is an interaction between private and public clouds where a private cloud joins a public cloud and utilizes public cloud resources in a secure and scalable manner. Cloud computing resources can also be provisioned via virtual networks in an overlay network, such as a VXLAN.
The interfaces 768 are typically provided as interface cards (sometimes referred to as “line cards”). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with the router 710. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast token ring interfaces, wireless interfaces, Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master microprocessor 762 to efficiently perform routing computations, network diagnostics, security functions, etc.
Although the system shown in
Regardless of the network device's configuration, it may employ one or more memories or memory modules (including memory 761) configured to store program instructions for the general-purpose network operations and mechanisms for roaming, route optimization and routing functions described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store tables such as mobility binding, registration, and association tables, etc.
To enable user interaction with the computing device 800, an input device 845 can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 835 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the computing device 800. The communications interface 840 can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
Storage device 830 is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 825, read only memory (ROM) 820, and hybrids thereof.
The storage device 830 can include software modules 832, 834, 836 for controlling the processor 810. Other hardware or software modules are contemplated. The storage device 830 can be connected to the system bus 805. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor 810, bus 805, display 835, and so forth, to carry out the function.
Chipset 860 can also interface with one or more communication interfaces 890 that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 855 analyzing data stored in storage 870 or 875. Further, the machine can receive inputs from a user via user interface components 885 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 855.
It can be appreciated that exemplary systems 800 and 850 can have more than one processor 810 or be part of a group or cluster of computing devices networked together to provide greater processing capability.
As one of ordinary skill in the art will readily recognize, the examples and technologies provided above are simply for clarity and explanation purposes, and can include many additional concepts and variations.
For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.
In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.
Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims. Moreover, claim language reciting “at least one of” a set indicates that one member of the set or multiple members of the set satisfy the claim.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.”
A phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology. A disclosure relating to an aspect may apply to all configurations, or one or more configurations. A phrase such as an aspect may refer to one or more aspects and vice versa. A phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology. A disclosure relating to a configuration may apply to all configurations, or one or more configurations. A phrase such as a configuration may refer to one or more configurations and vice versa.
The word “exemplary” is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
The word “substantially” is used herein to mean “to a significant extent.” Quantitatively, the word “substantially” means greater than or equal to 80%.
This application is a divisional of U.S. application Ser. No. 14/507,632 filed on Oct. 6, 2014, which claims the benefit of U.S. provisional application No. 61/900,991, filed on Nov. 6, 2013, which is expressly incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4298770 | Nishihara et al. | Nov 1981 | A |
4636919 | Itakura et al. | Jan 1987 | A |
4700016 | Hitchcock et al. | Oct 1987 | A |
4703394 | Petit et al. | Oct 1987 | A |
5405267 | Koegel et al. | Apr 1995 | A |
5859835 | Varma et al. | Jan 1999 | A |
5926458 | Yin et al. | Jul 1999 | A |
6266248 | Hanas et al. | Jul 2001 | B1 |
6389031 | Chao | May 2002 | B1 |
6515866 | Ulrich | Feb 2003 | B2 |
6634898 | Clements | Oct 2003 | B2 |
6677831 | Cheng et al. | Jan 2004 | B1 |
6714553 | Poole et al. | Mar 2004 | B1 |
6752662 | Okamoto | Jun 2004 | B2 |
6757897 | Shi et al. | Jun 2004 | B1 |
6866544 | Casey et al. | Mar 2005 | B1 |
6876952 | Kappler et al. | Apr 2005 | B1 |
6879486 | Banton et al. | Apr 2005 | B1 |
6898088 | Megason et al. | May 2005 | B2 |
6907039 | Shen | Jun 2005 | B2 |
6941649 | Goergen | Sep 2005 | B2 |
6952421 | Slater | Oct 2005 | B1 |
6954463 | Ma et al. | Oct 2005 | B1 |
6961249 | Wong | Nov 2005 | B2 |
6996099 | Kadambi et al. | Feb 2006 | B1 |
7152117 | Stapp et al. | Dec 2006 | B1 |
7177946 | Kaluve et al. | Feb 2007 | B1 |
7180011 | Hall | Feb 2007 | B1 |
7301778 | Fang | Nov 2007 | B1 |
7369400 | Bang et al. | May 2008 | B2 |
7372857 | Kappler et al. | May 2008 | B1 |
7411915 | Spain et al. | Aug 2008 | B1 |
7426604 | Rygh et al. | Sep 2008 | B1 |
7452216 | Murr et al. | Nov 2008 | B2 |
7502229 | Bordiga | Mar 2009 | B2 |
7630368 | Tripathi et al. | Dec 2009 | B2 |
7665998 | Kressner et al. | Feb 2010 | B2 |
7684209 | Roesner | Mar 2010 | B2 |
7729296 | Choudhary | Jun 2010 | B1 |
7826469 | Li et al. | Nov 2010 | B1 |
7830223 | Ahmad | Nov 2010 | B2 |
8302301 | Lau | Nov 2012 | B2 |
8325459 | Mutnury | Dec 2012 | B2 |
8339973 | Pichumani et al. | Dec 2012 | B1 |
8378223 | Shiue et al. | Feb 2013 | B1 |
8449203 | Downs | May 2013 | B2 |
8534930 | Lima | Sep 2013 | B1 |
8586414 | Xue et al. | Nov 2013 | B2 |
8687629 | Kompella et al. | Apr 2014 | B1 |
8868766 | Theimer et al. | Oct 2014 | B1 |
8953332 | Canfield et al. | Feb 2015 | B2 |
9099846 | McKay et al. | Aug 2015 | B2 |
9203188 | Siechen et al. | Dec 2015 | B1 |
9246280 | Neer et al. | Jan 2016 | B2 |
9258195 | Pendleton et al. | Feb 2016 | B1 |
9374294 | Pani | Jun 2016 | B1 |
9402470 | Shen et al. | Aug 2016 | B2 |
9407501 | Yadav et al. | Aug 2016 | B2 |
9433081 | Xiong et al. | Aug 2016 | B1 |
9444634 | Pani | Sep 2016 | B2 |
9502111 | Dharmapurikar et al. | Nov 2016 | B2 |
9509092 | Shen et al. | Nov 2016 | B2 |
9544224 | Chu et al. | Jan 2017 | B2 |
9590914 | Attar et al. | Mar 2017 | B2 |
9627063 | Dharmapurikar et al. | Apr 2017 | B2 |
9634846 | Pani | Apr 2017 | B2 |
9635937 | Shen et al. | May 2017 | B2 |
9654300 | Pani | May 2017 | B2 |
9654385 | Chu et al. | May 2017 | B2 |
9654409 | Yadav et al. | May 2017 | B2 |
9655232 | Saxena et al. | May 2017 | B2 |
9667431 | Pani | May 2017 | B2 |
9667551 | Edsall et al. | May 2017 | B2 |
9674086 | Ma et al. | Jun 2017 | B2 |
9686180 | Chu et al. | Jun 2017 | B2 |
9698994 | Pani | Jul 2017 | B2 |
9716665 | Attar et al. | Jul 2017 | B2 |
9742673 | Banerjee et al. | Aug 2017 | B2 |
9755965 | Yadav et al. | Sep 2017 | B1 |
9806995 | Chu et al. | Oct 2017 | B2 |
9825857 | Banerjee et al. | Nov 2017 | B2 |
9832122 | Dharmapurikar et al. | Nov 2017 | B2 |
9876711 | Chu et al. | Jan 2018 | B2 |
9985794 | Pani | May 2018 | B2 |
9996653 | Shen et al. | Jun 2018 | B1 |
10020989 | Yadav et al. | Jul 2018 | B2 |
20020126671 | Ellis et al. | Sep 2002 | A1 |
20020146026 | Unitt et al. | Oct 2002 | A1 |
20020189849 | Hirose | Dec 2002 | A1 |
20030035385 | Walsh et al. | Feb 2003 | A1 |
20030067924 | Choe et al. | Apr 2003 | A1 |
20030097461 | Barham et al. | May 2003 | A1 |
20030115319 | Dawson et al. | Jun 2003 | A1 |
20030137940 | Schwartz et al. | Jul 2003 | A1 |
20030174650 | Shankar et al. | Sep 2003 | A1 |
20030231646 | Chandra et al. | Dec 2003 | A1 |
20040062259 | Jeffries et al. | Apr 2004 | A1 |
20040073715 | Folkes et al. | Apr 2004 | A1 |
20040100901 | Bellows | May 2004 | A1 |
20040103310 | Sobel et al. | May 2004 | A1 |
20040160956 | Hardy et al. | Aug 2004 | A1 |
20040249960 | Hardy et al. | Dec 2004 | A1 |
20050007961 | Scott et al. | Jan 2005 | A1 |
20050013280 | Buddhikot et al. | Jan 2005 | A1 |
20050157987 | Dodds et al. | Jul 2005 | A1 |
20050175020 | Park et al. | Aug 2005 | A1 |
20050207410 | Adhikari et al. | Sep 2005 | A1 |
20060028285 | Jang et al. | Feb 2006 | A1 |
20060031643 | Figueira | Feb 2006 | A1 |
20060198315 | Sasagawa et al. | Sep 2006 | A1 |
20060209688 | Tsuge et al. | Sep 2006 | A1 |
20060221835 | Sweeney | Oct 2006 | A1 |
20060250982 | Yuan et al. | Nov 2006 | A1 |
20060268742 | Chu et al. | Nov 2006 | A1 |
20060280179 | Meier | Dec 2006 | A1 |
20070025241 | Nadeau et al. | Feb 2007 | A1 |
20070223372 | Haalen et al. | Sep 2007 | A1 |
20070274229 | Scholl et al. | Nov 2007 | A1 |
20070280264 | Milton et al. | Dec 2007 | A1 |
20080031130 | Raj et al. | Feb 2008 | A1 |
20080031247 | Tahara et al. | Feb 2008 | A1 |
20080092213 | Wei et al. | Apr 2008 | A1 |
20080147830 | Ridgill et al. | Jun 2008 | A1 |
20080151863 | Lawrence et al. | Jun 2008 | A1 |
20080177896 | Quinn et al. | Jul 2008 | A1 |
20080225853 | Melman et al. | Sep 2008 | A1 |
20080310421 | Teisberg et al. | Dec 2008 | A1 |
20090094357 | Keohane et al. | Apr 2009 | A1 |
20090122805 | Epps et al. | May 2009 | A1 |
20090188711 | Ahmad | Jul 2009 | A1 |
20090193103 | Small et al. | Jul 2009 | A1 |
20090232011 | Li et al. | Sep 2009 | A1 |
20090268614 | Tay et al. | Oct 2009 | A1 |
20100128619 | Shigei | May 2010 | A1 |
20100150155 | Napierala | Jun 2010 | A1 |
20100191813 | Gandhewar et al. | Jul 2010 | A1 |
20100191839 | Gandhewar et al. | Jul 2010 | A1 |
20100223655 | Zheng | Sep 2010 | A1 |
20100287227 | Goel et al. | Nov 2010 | A1 |
20100299553 | Cen | Nov 2010 | A1 |
20100312875 | Wilerson et al. | Dec 2010 | A1 |
20110110241 | Atkinson et al. | May 2011 | A1 |
20110138310 | Gomez et al. | Jun 2011 | A1 |
20110158248 | Vorunganti et al. | Jun 2011 | A1 |
20110170426 | Kompella et al. | Jul 2011 | A1 |
20110203834 | Yoneya | Aug 2011 | A1 |
20110228795 | Agrawal et al. | Sep 2011 | A1 |
20110249682 | Kean et al. | Oct 2011 | A1 |
20110286447 | Liu | Nov 2011 | A1 |
20110299406 | Vobbilisetty et al. | Dec 2011 | A1 |
20110310738 | Lee et al. | Dec 2011 | A1 |
20110320667 | Chiu et al. | Dec 2011 | A1 |
20110321031 | Dournov et al. | Dec 2011 | A1 |
20120007688 | Zhou et al. | Jan 2012 | A1 |
20120063318 | Boddu et al. | Mar 2012 | A1 |
20120102114 | Dunn et al. | Apr 2012 | A1 |
20120163396 | Cheng et al. | Jun 2012 | A1 |
20120275304 | Patel et al. | Nov 2012 | A1 |
20120281697 | Huang | Nov 2012 | A1 |
20120300787 | Korger | Nov 2012 | A1 |
20130055155 | Wong et al. | Feb 2013 | A1 |
20130090014 | Champion | Apr 2013 | A1 |
20130097335 | Jiang et al. | Apr 2013 | A1 |
20130124708 | Lee et al. | May 2013 | A1 |
20130182712 | Aguayo et al. | Jul 2013 | A1 |
20130250951 | Koganti | Sep 2013 | A1 |
20130311663 | Kamath et al. | Nov 2013 | A1 |
20130311991 | Li et al. | Nov 2013 | A1 |
20130322258 | Nedeltchev et al. | Dec 2013 | A1 |
20130322446 | Biswas et al. | Dec 2013 | A1 |
20130322453 | Allan | Dec 2013 | A1 |
20130332399 | Reddy et al. | Dec 2013 | A1 |
20130332577 | Nakil et al. | Dec 2013 | A1 |
20130332602 | Nakil et al. | Dec 2013 | A1 |
20140016501 | Kamath et al. | Jan 2014 | A1 |
20140047264 | Wang et al. | Feb 2014 | A1 |
20140056298 | Vobbilisetty et al. | Feb 2014 | A1 |
20140068750 | Tjahjono et al. | Mar 2014 | A1 |
20140086253 | Yong et al. | Mar 2014 | A1 |
20140105039 | Mcdysan | Apr 2014 | A1 |
20140105062 | Mcdysan et al. | Apr 2014 | A1 |
20140105216 | Mcdysan | Apr 2014 | A1 |
20140146817 | Zhang | May 2014 | A1 |
20140146824 | Angst et al. | May 2014 | A1 |
20140201375 | Beereddy et al. | Jul 2014 | A1 |
20140219275 | Allan et al. | Aug 2014 | A1 |
20140241353 | Zhang et al. | Aug 2014 | A1 |
20140244779 | Roitshtein et al. | Aug 2014 | A1 |
20140269712 | Kidambi | Sep 2014 | A1 |
20140307744 | Dunbar et al. | Oct 2014 | A1 |
20140321277 | Lynn, Jr. et al. | Oct 2014 | A1 |
20140334295 | Guichard et al. | Nov 2014 | A1 |
20140341029 | Allan et al. | Nov 2014 | A1 |
20140372582 | Ghanwani et al. | Dec 2014 | A1 |
20150009992 | Zhang | Jan 2015 | A1 |
20150092551 | Moisand et al. | Apr 2015 | A1 |
20150092593 | Kompella | Apr 2015 | A1 |
20150113143 | Stuart et al. | Apr 2015 | A1 |
20150124644 | Pani | May 2015 | A1 |
20150124806 | Banerjee et al. | May 2015 | A1 |
20150124823 | Pani et al. | May 2015 | A1 |
20150124824 | Edsall et al. | May 2015 | A1 |
20150124833 | Ma et al. | May 2015 | A1 |
20150236900 | Chung | Aug 2015 | A1 |
20150378712 | Cameron et al. | Dec 2015 | A1 |
20150378969 | Powell et al. | Dec 2015 | A1 |
20160119204 | Murasato et al. | Apr 2016 | A1 |
20170085469 | Chu et al. | Mar 2017 | A1 |
20170207961 | Saxena et al. | Jul 2017 | A1 |
20170214619 | Chu et al. | Jul 2017 | A1 |
20170237651 | Pani | Aug 2017 | A1 |
20170237678 | Ma et al. | Aug 2017 | A1 |
20170250912 | Chu et al. | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
202042311 | Nov 2011 | CN |
202153328 | Feb 2012 | CN |
WO 2014071996 | May 2014 | WO |
Number | Date | Country | |
---|---|---|---|
20180293345 A1 | Oct 2018 | US |
Number | Date | Country | |
---|---|---|---|
61900991 | Nov 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14507632 | Oct 2014 | US |
Child | 16004958 | US |