Mainstream processor chips, both in high performance and low power segments, are increasingly integrating additional functionality such as graphics, display engines, security engines, PCIe™ ports (i.e., ports in accordance with the Peripheral Component Interconnect Express (PCI Express™ (PCIe™)) Specification Base Specification version 2.0 (published 2007) (hereafter the PCIe™ specification) and other PCIe™ based peripheral devices, while maintaining legacy support for devices compliant with a PCI specification such as the Peripheral Component Interconnect (PCI) Local Bus Specification, version 3.0 (published 2002) (hereafter the PCI specification).
Such designs are highly segmented due to varying requirements from the server, desktop, mobile, embedded, ultra-mobile and mobile Internet device segments. Different markets seek to use single chip system-on-chip (SoC) solutions that combine at least some of processor cores, memory controllers, input/output controllers and other segment specific acceleration elements onto a single chip. However, designs that accumulate these features are slow to emerge due to the difficulty of integrating different intellectual property (IP) blocks on a single die. This is especially so, as IP blocks can have various requirements and design uniqueness, and can require many specialized wires, communication protocols and so forth to enable their incorporation into an SoC. As a result, each SoC or other advanced semiconductor device that is developed requires a great amount of design complexity and customization to incorporate different IP blocks into a single device. This is so, as a given IP block typically needs to be re-designed to accommodate interface and signaling requirements of a given SoC.
Thus a system can include a mix of PCI and PCIe™ devices. At the time of its creation, the original PCI specification did not contain concepts and semantics that were later introduced in the PCIe™ specification. One of these semantics introduced by the PCIe™ specification is an Unsupported Request (UR) completion response. This response provides an indication from a PCIe™ device to an upstream component that it cannot handle a particular request and thus it responds with the UR completion response. In contrast, the PCI specification did not provide such a response. Instead, according to the PCI specification, when a device is unable to handle a request, it de-asserts a device select signal (DEVSEL#) to indicate to the upstream device that it cannot handle the request. As a result, the transaction master aborts and the PCI device is not involved in logging and reporting of Unsupported Requests.
Embodiments may provide a set of rules for devices (e.g., so-called intellectual property (IP) agents) that are designed according to requirements of a PCI specification and thus are considered as a PCI device, rather than being designed according to requirements of a PCIe™ specification (and thus considered as a PCIe™ device). That is, embodiments of a system such as a system-on-chip (SoC) designed according to an integrated on-chip system fabric (IOSF) specification can provide logic to be incorporated into a PCI IP agent such that it can appropriately respond to certain transactions according to a PCIe™-specific response. As a representative example, described herein is an ability to provide logic to a PCI IP agent to enable the agent to respond with PCIe™-specific error responses to certain transactions that it cannot handle, e.g., an Unsupported Request completion response. In this way, these rules and flows add additional robustness to PCI devices.
Embodiments can be used in many different types of systems. As examples, implementations described herein may be used in connection with semiconductor devices such as processors or other semiconductor devices that can be fabricated on a single semiconductor die. In particular implementations, the device may be a system-on-chip (SoC) or other advanced processor or chipset that includes various homogeneous and/or heterogeneous processing agents, and additional components such as networking components, e.g., routers, controllers, bridge devices, devices, memories and so forth.
Some implementations may be used in a semiconductor device that is designed according to a given specification such as an integrated on-chip system fabric (IOSF) specification issued by a semiconductor manufacturer to provide a standardized on-die interconnect protocol for attaching intellectual property (IP) blocks within a chip, including a SoC. Such IP blocks can be of varying types, including general-purpose processors such as in-order or out-of-order cores, fixed function units, graphics processors, IO controllers, display controllers, media processors among many others. By standardizing an interconnect protocol, a framework is thus realized for a broad use of IP agents in different types of chips. Accordingly, not only can the semiconductor manufacturer efficiently design different types of chips across a wide variety of customer segments, it can also, via the specification, enable third parties to design logic such as IP agents to be incorporated in such chips. And furthermore, by providing multiple options for many facets of the interconnect protocol, reuse of designs is efficiently accommodated. Although embodiments are described herein in connection with this IOSF specification, understand the scope of the present invention is not limited in this regard and embodiments can be used in many different types of systems.
Referring now to
As will be described further below, each of the elements shown in
The IOSF specification includes 3 independent interfaces that can be provided for each agent, namely a primary interface, a sideband message interface and a testability and debug interface (design for test (DFT), design for debug (DFD) interface). According to the IOSF specification, an agent may support any combination of these interfaces. Specifically, an agent can support 0-N primary interfaces, 0-N sideband message interfaces, and optional DFx interfaces. However, according to the specification, an agent must support at least one of these 3 interfaces.
Fabric 20 may be a hardware element that moves data between different agents. Note that the topology of fabric 20 will be product specific. As examples, a fabric can be implemented as a bus, a hierarchical bus, a cascaded hub or so forth. Referring now to
In various implementations, primary interface fabric 112 implements a split transaction protocol to achieve maximum concurrency. That is, this protocol provides for a request phase, a grant phase, and a command and data phase. Primary interface fabric 112 supports three basic request types: posted, non-posted, and completions, in various embodiments. Generally, a posted transaction is a transaction which when sent by a source is considered complete by the source and the source does not receive a completion or other confirmation message regarding the transaction. One such example of a posted transaction may be a write transaction. In contrast, a non-posted transaction is not considered completed by the source until a return message is received, namely a completion. One example of a non-posted transaction is a read transaction in which the source agent requests a read of data. Accordingly, the completion message provides the requested data.
In addition, primary interface fabric 112 supports the concept of distinct channels to provide a mechanism for independent data flows throughout the system. As will be described further, primary interface fabric 112 may itself include a master interface that initiates transactions and a target interface that receives transactions. The primary master interface can further be sub-divided into a request interface, a command interface, and a data interface. The request interface can be used to provide control for movement of a transaction's command and data. In various embodiments, primary interface fabric 112 may support PCI ordering rules and enumeration.
In turn, sideband interface fabric 116 may be a standard mechanism for communicating all out-of-band information. In this way, special-purpose wires designed for a given implementation can be avoided, enhancing the ability of IP reuse across a wide variety of chips. Thus in contrast to an IP block that uses dedicated wires to handle out-of-band communications such as status, interrupt, power management, fuse distribution, configuration shadowing, test modes and so forth, a sideband interface fabric 116 according to the IOSF specification standardizes all out-of-band communication, promoting modularity and reducing validation requirements for IP reuse across different designs. In general, sideband interface fabric 116 may be used to communicate non-performance critical information, rather than for performance critical data transfers, which typically may be communicated via primary interface fabric 112.
As further illustrated in
Using an IOSF specification, various types of chips can be designed having a wide variety of different functionality. Referring now to
As further seen in
As further seen in
As further seen, fabric 250 may further couple to an IP agent 255. Although only a single agent is shown for ease of illustration in the
Furthermore, understand that while shown as a single die SoC implementation in
In various embodiments, a PCI-compliant agent may be configured to perform error handling operations for when the agent receives a transaction it cannot handle. More specifically, embodiments provide for the agent to respond to such transactions with an unsupported request indication. Thus in various embodiments a PCI-compliant agent can be configured to handle certain transactions as URs. As one such example, when an agent receives a command put with a known and supported format, type, and traffic class, the transaction can still be treated as an unsupported request due to the present configuration state of the agent. This may occur, for example, where according to a configuration set forth in the configuration space of the PCI-compliant device it cannot handle the particular transaction. This may occur when the configuration space indicates that a memory space enable bit is clear. Other examples include when the agent is in a non-active state. These situations arise due to the pipelined nature of IOSF address decode logic. Between the time the transaction is decoded as valid and when the transaction is put to the agent, an intervening transaction put may change the configuration state. The change in state results in the error condition.
Posted or non-posted transactions received by the agent that are to be handled as URs can be discarded and appropriate transaction command and data credits can be returned to the fabric to update its corresponding credit counters. If the transaction was non-posted, then an unsuccessful completion with a UR completion status will be returned.
To perform error logging and signaling in a PCI-compliant agent, one or more configuration registers can be included in agent-specific configuration space for the handling of unsupported requests. These registers do not exist in the standard PCI header space because the standard PCI registers were not designed to support handling unsupported requests. In one embodiment, a first configuration register may be used to identify detection of an unsupported request. Accordingly, this register may be referred to as an unsupported request detection (URD) register. In this embodiment, the register can be set to a logic high by hardware upon detection of an unsupported request that is not considered an advisory non-fatal error. The register can be cleared to a logic low when software writes a logic high to this register.
In turn, a second configuration register can be used to indicate whether reporting of an unsupported request is enabled. Accordingly, this register can be referred to as an unsupported request reporting enable (URRE) register. In this embodiment, the register can be set to logic high, e.g., by software. When set, the register allows reporting of an unsupported request as a system error.
If a received transaction is a non-posted request and is unsupported, e.g., due to configuration of the agent, then the agent can handle the transaction as an advisory non-fatal error, and no error logging or signaling is done. Instead, because of the nature of the IOSF specification such that a completion is sent for an incoming non-posted request, embodiments can indicate the unsupported request via a completion that includes a UR completion status, which serves the purpose of error reporting.
If the received transaction is a posted request and is not a Type 1 vendor-defined message (which is to be silently discarded by the receiving agent if it does not support the VDM), then the agent sets the unsupported request detection register in agent-specific configuration space. If both the URRE and a system error (SERR#) enable register are set to a logic high, then the agent sets the signaled system error indicator in a status register and sends a DO_SERR message on a sideband interface, which can lead to a fatal system error such as the familiar “blue screen of death”.
Referring now to
If instead it is determined that the agent does not support the request control passes to diamond 330, where it can be determined whether the incoming request is a non-posted request. Again, this determination can be based on information in the received request. If the request is a non-posted request, control passes to block 340 where a completion can be transmitted from the agent for the request. More specifically, the completion may indicate that the request is not supported by the device. However, no error logging occurs in this event, as the completion itself provides the indication to the requester of the non-support.
Referring still to
Instead if the incoming request is not a Type 1 vendor defined message, control instead passes to block 365 where an error can be logged in an unsupported request detection register of the agent. Next, control passes to diamond 370 where it can be determined whether both an unsupported request report enable register and a system error message enable register are set. If so, control passes to block 380 where a system error indicator can be set in a status register, e.g., a PCI status register. Accordingly, control passes to block 385 where a system error message can be sent via a sideband interface. Accordingly, the message may be received in a router, which can route the error message to an appropriate destination, e.g., to a root complex event collector or other error handling agent. As further seen in
Referring now to
As further seen in
Furthermore to enable handling unsupported requests in accordance with an embodiment of the present invention, a configuration space 450 may include various registers. As seen in the embodiment of
Although the SoCs of
Thus as seen, an off-die interface 710 (which in one embodiment can be a direct media interface (DMI)) may couple to a hub 715, e.g., an input/output hub that in turn provides communication between various peripheral devices. Although not shown for ease of illustration in
To provide connection to multiple buses, which may be multi-point or shared buses in accordance with the IOSF specification, an IOSF controller 720 may couple between hub 715 and bus 730, which may be an IOSF bus that thus incorporates elements of the fabric as well as routers. In the embodiment shown in
As further seen in
Still other implementations are possible. Referring now to
As further seen in
Furthermore, to enable communications, e.g., with storage units of a server-based system, a switch port 830 may couple between bus 820 and another IOSF bus 850, which in turn may be coupled to a storage controller unit (SCU) 855, which may be a multi-function device for coupling with various storage devices.
Embodiments may be implemented in code and may be stored on a non-transitory storage medium having stored thereon instructions which can be used to program a system to perform the instructions. The storage medium may include, but is not limited to, any type of disk including floppy disks, optical disks, solid state drives (SSDs), compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic random access memories (DRAMs), static random access memories (SRAMs), erasable programmable read-only memories (EPROMs), flash memories, electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
This application is a continuation of U.S. patent application Ser. No. 13/248,252, filed Sep. 29, 2011, the content of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5493566 | Ljungberg et al. | Feb 1996 | A |
6009488 | Kavipurapu | Dec 1999 | A |
6233632 | Meiyappan et al. | May 2001 | B1 |
6330647 | Jeddeloh et al. | Dec 2001 | B1 |
6427169 | Elzur | Jul 2002 | B1 |
6430182 | Oyama | Aug 2002 | B1 |
6469982 | Henrion et al. | Oct 2002 | B1 |
6611893 | Lee et al. | Aug 2003 | B1 |
6694380 | Wolrich et al. | Feb 2004 | B1 |
6725313 | Wingard et al. | Apr 2004 | B1 |
6810460 | Kirkwood | Oct 2004 | B1 |
6816938 | Edara et al. | Nov 2004 | B2 |
7065733 | Goodnow et al. | Jun 2006 | B2 |
7415533 | Lacroute et al. | Aug 2008 | B1 |
7421543 | Suzuki | Sep 2008 | B2 |
7457905 | Gehman | Nov 2008 | B2 |
7506089 | Cho et al. | Mar 2009 | B2 |
7573295 | Stadler | Aug 2009 | B1 |
7673087 | Ansari et al. | Mar 2010 | B1 |
7685346 | Teh | Mar 2010 | B2 |
7725757 | Mandhani et al. | May 2010 | B2 |
7734856 | Reinig | Jun 2010 | B2 |
7783819 | Mandhani | Aug 2010 | B2 |
7793345 | Weber et al. | Sep 2010 | B2 |
7873068 | Klinglesmith et al. | Jan 2011 | B2 |
7979592 | Pettey et al. | Jul 2011 | B1 |
7990999 | Lee | Aug 2011 | B2 |
8010731 | Mandhani | Aug 2011 | B2 |
8023508 | Horton | Sep 2011 | B2 |
8069286 | Orthner et al. | Nov 2011 | B1 |
8199157 | Park et al. | Jun 2012 | B2 |
8225019 | Asnaashari | Jul 2012 | B2 |
8286014 | Han et al. | Oct 2012 | B2 |
8364874 | Schlansker et al. | Jan 2013 | B1 |
8437369 | Shaikli | May 2013 | B2 |
8443422 | Weber et al. | May 2013 | B2 |
20020038401 | Zaidi | Mar 2002 | A1 |
20030088722 | Price | May 2003 | A1 |
20030126336 | Creta | Jul 2003 | A1 |
20030227926 | Ramamurthy et al. | Dec 2003 | A1 |
20040177176 | Li et al. | Sep 2004 | A1 |
20040218600 | Alasti et al. | Nov 2004 | A1 |
20050010687 | Dai | Jan 2005 | A1 |
20050120323 | Goodnow et al. | Jun 2005 | A1 |
20050137966 | Munguia et al. | Jun 2005 | A1 |
20050177664 | Cho et al. | Aug 2005 | A1 |
20050289369 | Chung et al. | Dec 2005 | A1 |
20050289374 | Kim et al. | Dec 2005 | A1 |
20060047849 | Mukherjee | Mar 2006 | A1 |
20060101179 | Lee et al. | May 2006 | A1 |
20060140126 | Zhong | Jun 2006 | A1 |
20060218336 | Ishizawa et al. | Sep 2006 | A1 |
20070006108 | Bueti | Jan 2007 | A1 |
20070067549 | Gehman | Mar 2007 | A1 |
20070112984 | Ohara | May 2007 | A1 |
20080059441 | Gaug et al. | Mar 2008 | A1 |
20080082840 | Kendall et al. | Apr 2008 | A1 |
20080147858 | Prakash et al. | Jun 2008 | A1 |
20080163005 | Sonksen et al. | Jul 2008 | A1 |
20080235415 | Clark et al. | Sep 2008 | A1 |
20080288689 | Hoang et al. | Nov 2008 | A1 |
20080310458 | Rijpkema | Dec 2008 | A1 |
20090006165 | Teh et al. | Jan 2009 | A1 |
20090119432 | Lee et al. | May 2009 | A1 |
20090235099 | Branover et al. | Sep 2009 | A1 |
20090248940 | Marino et al. | Oct 2009 | A1 |
20090249098 | Han et al. | Oct 2009 | A1 |
20090296624 | Ryu et al. | Dec 2009 | A1 |
20090296740 | Wagh | Dec 2009 | A1 |
20090300245 | Shoemaker et al. | Dec 2009 | A1 |
20090310616 | Cummings et al. | Dec 2009 | A1 |
20100199010 | Goren et al. | Aug 2010 | A1 |
20100220703 | Farrugia et al. | Sep 2010 | A1 |
20100235675 | Subramanian et al. | Sep 2010 | A1 |
20100246594 | Klinglesmith | Sep 2010 | A1 |
20100262855 | Buch et al. | Oct 2010 | A1 |
20100278195 | Wagh | Nov 2010 | A1 |
20100293304 | Alexandron et al. | Nov 2010 | A1 |
20100312942 | Blinick et al. | Dec 2010 | A1 |
20110032947 | Brueggen | Feb 2011 | A1 |
20110047272 | Bosneag | Feb 2011 | A1 |
20110078315 | Matsushita et al. | Mar 2011 | A1 |
20110078356 | Shoemaker | Mar 2011 | A1 |
20110093576 | Cherian et al. | Apr 2011 | A1 |
20110179248 | Lee | Jul 2011 | A1 |
20110238728 | Nagarajrao et al. | Sep 2011 | A1 |
20120051297 | Lee et al. | Mar 2012 | A1 |
20120066468 | Nakajima et al. | Mar 2012 | A1 |
20120079590 | Sastry et al. | Mar 2012 | A1 |
20120233514 | Patil et al. | Sep 2012 | A1 |
20120303842 | Cardinell et al. | Nov 2012 | A1 |
20120303899 | Ash et al. | Nov 2012 | A1 |
20120311213 | Bender et al. | Dec 2012 | A1 |
20130054845 | Nimmala et al. | Feb 2013 | A1 |
20130086433 | Lakshmanamurthy | Apr 2013 | A1 |
20130086586 | Lakshmanamurthy | Apr 2013 | A1 |
20130089095 | Chen et al. | Apr 2013 | A1 |
20130138858 | Adler | May 2013 | A1 |
20160062424 | Thomas | Mar 2016 | A1 |
Number | Date | Country |
---|---|---|
1819555 | Aug 2006 | CN |
1833415 | Sep 2006 | CN |
101267376 | Sep 2008 | CN |
101558589 | Oct 2009 | CN |
101873339 | Oct 2010 | CN |
1328104 | Jul 2003 | EP |
2216722 | Aug 2010 | EP |
2007-135035 | May 2007 | JP |
10-2005-0077437 | Aug 2005 | KR |
10-2005-0082834 | Aug 2005 | KR |
2005071553 | Aug 2005 | WO |
2010102055 | Sep 2010 | WO |
2010137572 | Dec 2010 | WO |
Entry |
---|
U.S. Patent and Trademark Office, Office Action mailed Dec. 3, 2013, with Reply filed Feb. 26, 2014, in U.S. Appl. No. 13/248,234. |
U.S. Patent and Trademark Office, Final Office Action mailed Jun. 13, 2014, with Reply to Final filed Aug. 7, 2014 in U.S. Appl. No. 13/248,234. |
U.S. Patent and Trademark Office, Office Action mailed Apr. 23, 2014, with Reply filed Jul. 22, 2014, in U.S. Appl. No. 13/222,362. |
U.S. Patent and Trademark Office, Office Action mailed Mar. 31, 2014, with Reply filed Jun. 26, 2014, in U.S. Appl. No. 13/222,354. |
U.S. Patent and Trademark Office, Final Office Action mailed Jul. 7, 2014, with Reply filed Aug. 22, 2014 in U.S. Appl. No. 13/222,354. |
U.S. Patent and Trademark Office, Office Action mailed Oct. 23, 2013, with Reply filed Jan. 22, 2014, in U.S. Appl. No. 13/306,244. |
U.S. Patent and Trademark Office, Final Office Action mailed Apr. 30, 2014, with PreAppeal Request and Notice of Appeal filed Jul. 23, 2014 in U.S. Appl. No. 13/306,244. |
PCI-SIG, “PCI Local Bus Specification, Revision 3.0,” Feb. 3, 2004, 3 pages. |
U.S. Appl. No. 14/326,654, filed Jul. 9, 2014, entitled “Common Idle State, Active State and Credit Management for an Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 14/209,207, filed Mar. 13, 2014, entitled “Aggregating Completion Messages in a Sideband Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 14/209,184, filed Mar. 13, 2014, entitled “Providing Multiple Decode Options for a System-on-Chip (SoC) Fabric”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 14/209,146, filed Mar. 13, 2014, entitled “Supporting Multiple Channels of a Single Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 14/295,810, filed Jun. 4, 2014, entitled “Issuing Requests to a Fabric”, by Sridhar Lakshmanamurthy, et al. |
U.S. Patent and Trademark Office, Office Action mailed Jul. 22, 2014, in U.S. Appl. No. 14/295,810. |
U.S. Patent and Trademark Office, Office Action mailed Jun. 7, 2013 with Reply filed Sep. 3, 2013, in U.S. Appl. No. 13/248,232. |
U.S. Patent and Trademark Office, Office Action mailed Jun. 20, 2013 with Reply filed Sep. 18, 2013, in U.S. Appl. No. 13/248,243. |
U.S. Patent and Trademark Office, Office Action mailed Apr. 23, 2013 with Reply filed Jul. 22, 2013, in U.S. Appl. No. 13/248,263. |
U.S. Patent and Trademark Office, Office Action mailed Jun. 14, 2013 with Reply filed Sep. 9, 2013, in U.S. Appl. No. 13/248,270. |
U.S. Patent and Trademark Office, Office Action mailed Jun. 20, 2013 with Reply filed Sep. 17, 2013, in U.S. Appl. No. 13/248,276. |
U.S. Appl. No. 13/248,234, filed Sep. 29, 2011, entitled, “Sending Packets With Expanded Headers”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/248,232, filed Sep. 29, 2011, entitled, “Common Idle State, Active State and Credit Management for an Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/248,243, filed Sep. 29, 2011, entitled, “Aggregating Completion Messages in a Sideband Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/248,263, filed Sep. 29, 2011, entitled, “Providing Multiple Decode Options for a System-on-Chip (SoC) Fabric”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/248,270, filed Sep. 29, 2011, entitled, “Supporting Multiple Channels of a Single Interface”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/248,276, filed Sep. 29, 2011, entitled, “Issuing Requests to a Fabric”, by Sridhar Lakshmanamurthy, et al. |
U.S. Appl. No. 13/222,362, filed Aug. 31, 2011, entitled, “Integrating Intellectual Property (IP) Blocks Into a Processor”, by Prashanth Nimmala, et al. |
U.S. Appl. No. 13/306,244, filed Nov. 29, 2011, entitled, “Providing a Sideband Message Interface for System on a Chip (SoC)”, by Robert P. Adler, et al. |
U.S. Appl. No. 13/222,354, filed Aug. 31, 2011, entitled, “Providing Adaptive Bandwidth Allocation for a Fixed Priority Arbiter”, by Kie Woon Lim, et al. |
Intel Corporation, “An Introduction to the Intel QuickPath Interconnect,” Jan. 2009, pp. 1-22. |
Sousek, et al., “PCI Express Core Integration with the OCP Bus,” CAST, Inc., 2006, 15 pages. |
Mentor Graphics, “PCI Express to AMBA 3 AXI Bridge IP,” Mentor Graphics, Jun. 2007, 2 pages. |
Everton Carara, et al., “Communication Models in Networks-on-Chip,” 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP '07), 2007, pp. 57-60. |
PCI-SIG, “PCI Local Bus Specification Revision 3.0,” pp. 36 and 214, Feb. 3, 2004. |
Japan Patent Office, Office Action mailed Nov. 24, 2015 in Japanese Patent Application No. 2015-002299. |
European Patent Office, Extended European Search Report mailed Oct. 9, 2015 in European Patent Application No. 15177163.1. |
China Patent Office, Office Action mailed Nov. 3, 2015 in Chinese Patent Application No. 201280047815.4. |
China Patent Office, Office Action mailed Dec. 3, 2015 in Chinese Patent Application No. 201280058462.8. |
Number | Date | Country | |
---|---|---|---|
20150067412 A1 | Mar 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13248252 | Sep 2011 | US |
Child | 14503637 | US |