Remote memory access using reversible host/client interface
Summary by NHIP
Reversible Host-Client Interface
The apparatus enables remote memory access by allowing two integrated circuits to swap host and client roles. A connection structure links the first circuit's client to the second circuit's host, activating in response to an interrupt signal from the first data processor.
Claim Score by NHIP
Abstract
Accessing memory on a first device from a second device is supported by reversible host/client interfacing between the devices. The reversible interfacing permits the first and second devices to be configured respectively as host and client, or respectively as client and host.

Term
2.5 yearsleft in the term
Expires 9 April 2029, including 39 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
15 claims: 6 independent, 9 dependent
- 1A data processing apparatus, comprising:a host on a first integrated circuit, a first data processor on said first integrated circuit coupled to said host, and a memory on said first integrated circuit;a client on a second integrated circuit, and a second data processor on said second integrated circuit coupled to said client, said client connectable to said host for cooperation therewith to interface between said first and second data processors, wherein said host is configured to provide an interrupt to said first data processor in response to input from said client;a host on said second integrated circuit coupled to said second data processor, and a client on said first integrated circuit coupled to said memory;and a connection structure configured to permit a connection between said client on said first integrated circuit and said host on said second integrated circuit to provide a data path between said second data processor and said memory, said connection structure coupled to said first data processor for permitting said connection in response to a signal produced by said first data processor in response to said interrupt.
- 7Broadest claimClaim Score 72, broad(NHIP)An interface method, comprising:interfacing between first and second data processors respectively provided on first and second integrated circuits, including connecting a client on the second integrated circuit to a host on the first integrated circuit that is permitted to provide an interrupt to the first data processor in response to input from the client;and providing a data path between the second data processor and a memory on the first integrated circuit, including connecting a client on the first integrated circuit to a host on the second integrated circuit in response to a signal that the first data processor produces in response to said interrupt.
- 11An interface apparatus, comprising:means for interfacing between first and second data processors respectively provided on first and second integrated circuits, including means for connecting a client on the second integrated circuit to a host on the first integrated circuit that is permitted to provide an interrupt to the first data processor in response to input from the client;and means for providing a data path between the second data processor and a memory on the first integrated circuit, including means for connecting a client on the first integrated circuit to a host on the second integrated circuit in response to a signal that the first data processor produces in response to said interrupt.
- 12An integrated circuit apparatus, comprising:a data processor and a client coupled to said data processor and configured for communication with a corresponding host on another integrated circuit apparatus to interface said data processor to another data processor on said another integrated circuit apparatus, wherein the corresponding host is permitted to provide an interrupt to said another data processor in response to input from said client;and a host coupled to said data processor and configured for communication with a corresponding client on said another integrated circuit apparatus to provide a data path between said data processor and a memory on said another integrated circuit apparatus, wherein said communication with the corresponding client occurs in response to said interrupt.
- 13An integrated circuit apparatus, comprising:a data processor and a host coupled to said data processor and configured for communication with a corresponding client on another integrated circuit apparatus to interface said data processor to another data processor on said another integrated circuit apparatus, wherein said host is configured to provide an interrupt to said data processor in response to input from the corresponding client on said another integrated circuit apparatus;a memory;a client coupled to said memory;and a connection structure configured to permit a connection between said client and a corresponding host on said another integrated circuit apparatus to provide a data path between said memory and said another data processor, said connection structure coupled to said data processor for permitting said connection in response to a signal produced by said data processor in response to said interrupt.
- 15A computer program product for providing interfacing, comprising:a computer-readable medium comprising: code for causing at least one data processor to interface between first and second data processors respectively provided on first and second integrated circuits, including connecting a client on the second integrated circuit to a host on the first integrated circuit that is permitted to provide an interrupt to the first data processor in response to input from the client;and code for causing the at least one data processor to provide a data path between the second data processor and a memory on the first integrated circuit, including connecting a client on the first integrated circuit to a host on the second integrated circuit in response to a signal that the first data processor produces in response to said interrupt.
Independent claims6
33 paragraphs in 4 sections, as filed
BACKGROUND
1. Field
The present work relates generally to transferring data between two interconnected integrated circuit devices (chips) and, more particularly, to accessing memory on a first integrated circuit device from a second integrated circuit device.
2. Background
In some conventional data processing systems, a memory on a first integrated circuit device is accessed by a second integrated circuit device connected to the first device, whereby the second device may store data in the memory and retrieve data from the memory. In such an arrangement, the second device typically has a DMA-like connection to the memory on the first device. Some conventional architectures use a PCI-Express interface to implement this connection. However, the size and power requirements of that interface are not particularly suited to some (e.g., handheld) applications.
Other conventional interfaces, such as Secure Data I/O (SDIO), have relatively small size and power requirements, and are capable of providing a DMA-like connection to memory on the first device. Disadvantageously, however, the process of implementing the memory connection via such interfaces is often complicated and time-intensive.
With ever-increasing demands for improved data processing throughput, it is desirable to provide for increased efficiency in implementing the desired connection to memory.
SUMMARY
Accessing memory on a first integrated circuit device from a second integrated circuit device is supported by reversible host/client interfacing between the devices. The reversible interfacing permits the first and second devices to be configured respectively as host and client, or respectively as client and host.
BRIEF DESCRIPTION OF THE DRAWINGS
Various aspects of a wireless communications system are illustrated by way of example, and not by way of limitation, in the accompanying drawings, wherein:
<figref idrefs="DRAWINGS">FIG. 1</figref> diagrammatically illustrates a data processing system according to the prior art;
<figref idrefs="DRAWINGS">FIG. 2</figref> diagrammatically illustrates a data processing system according to exemplary embodiments of the present work;
<figref idrefs="DRAWINGS">FIGS. 3-5</figref> diagrammatically illustrate the enhanced host/client interface of <figref idrefs="DRAWINGS">FIG. 2</figref> according to various exemplary embodiments of the present work; and
<figref idrefs="DRAWINGS">FIGS. 6 and 7</figref> illustrate operations performed according to exemplary embodiments of the present work.
DETAILED DESCRIPTION
The detailed description set forth below in connection with the appended drawings is intended as a description of various embodiments of the present work and is not intended to represent the only embodiments in which the present work may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the present work. However, it will be apparent to those skilled in the art that the present work may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the present work.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
<figref idrefs="DRAWINGS">FIG. 1</figref> diagrammatically illustrates a data processing system according to the prior art, including a remote data processing chip and a mother chip with data storage capability. The mother chip includes a data processor <b>11</b> coupled to a memory <b>14</b> via an interface <b>13</b>. The remote chip includes a data processor <b>15</b> coupled to a local memory <b>17</b>. The data processors <b>11</b> and <b>15</b> are interfaced to one another by a host/client-type interface designated generally at <b>10</b>. The interface <b>10</b> includes a host <b>12</b> on the mother chip, a client <b>16</b> on the remote chip, and a connection <b>19</b> between the host <b>12</b> and client <b>16</b>. The connection <b>19</b> includes connections between terminals of the mother chip and respective terminals of the remote chip. The terminal connections shown generally at <b>19</b> pass data and control signals between the host <b>12</b> and client <b>16</b>. Various systems use various numbers and combinations of terminal connections in order to pass various numbers and combinations of control and data signals between host <b>12</b> and client <b>16</b>. The connections and associated control and data signaling at <b>19</b> may be implemented, for example, according to the SDIO specification and protocol, wherein the control signals are command (referred to as CMD in SDIO) and clock (referred to as CLK in SDIO) signals.
The data processor <b>15</b> of the remote chip may access the memory <b>14</b> of the mother chip via the interface <b>10</b>. This access requires the client <b>16</b> to signal the host <b>12</b>, whereupon the host <b>12</b> initiates a process wherein the data processor <b>11</b> uses the interface <b>13</b> to set up the desired DMA connection, from the memory <b>14</b> to the remote chip via the host/client interface <b>10</b>. This process is typically complicated and time-intensive. For example, execution of this process in an SDIO-based system requires the host <b>12</b> to interrupt its own operation, probe the client <b>16</b>, and interrupt the data processor <b>11</b> numerous times.
<figref idrefs="DRAWINGS">FIG. 2</figref> diagrammatically illustrates a data processing system according to exemplary embodiments of the present work. The system of <figref idrefs="DRAWINGS">FIG. 2</figref> implements an enhanced host/client interface <b>20</b> between a data processor <b>21</b> in a mother chip and a data processor <b>25</b> in a remote chip. Examples of the mother chip include integrated circuit devices used to implement personal computers, digital cameras, mobile phones, etc. Examples of the remote chip include integrated circuit devices used to implement modems (e.g., wireless LAN or WinMax modems), graphics processors, mobile phones, etc. Thus, in various embodiments, the data processing system of <figref idrefs="DRAWINGS">FIG. 2</figref> may constitute: a fixed site apparatus (e.g., a desk top computer); a portable apparatus (e.g., a lap top computer, or a hand held computer, mobile telephone, etc.); a fixed site apparatus connected to a portable apparatus; or a first portable apparatus connected to a second portable apparatus.
The enhanced host/client interface <b>20</b> includes a host <b>12</b>A on the mother chip and a corresponding client <b>16</b>A on the remote chip, as well as a host <b>26</b> on the remote chip and a corresponding client <b>22</b> on the mother chip. An interface <b>23</b> routes signals between the host <b>12</b>A and the client <b>16</b>A, and between the host <b>26</b> and the client <b>22</b>. In some embodiments, the interface <b>23</b> uses some or all of the same mother chip and remote chip terminals used by the interface <b>10</b> in <figref idrefs="DRAWINGS">FIG. 1</figref> (not explicitly shown in <figref idrefs="DRAWINGS">FIG. 2</figref>). Some embodiments use a configuration manager <b>24</b> to configure the interface <b>23</b> in response to configuration control instructions <b>27</b> and <b>29</b>, which are respectively provided by the data processors <b>21</b> and <b>25</b>.
In some embodiments, the interface <b>20</b> may provide a host/client interface between the data processors <b>21</b> and <b>25</b>, wherein the host <b>12</b>A and client <b>16</b>A interact in generally the same fashion as the conventional host <b>12</b> and client <b>16</b> in <figref idrefs="DRAWINGS">FIG. 1</figref>. However, when the data processor <b>25</b> needs to access the memory <b>14</b>, the client <b>16</b>A informs the host <b>12</b>A, which in turn informs (e.g., interrupts) the data processor <b>21</b>. The data processor <b>21</b>, and the data processor <b>25</b> take action (e.g., instructing the configuration manager <b>24</b> at <b>27</b> and <b>29</b>) to reconfigure the interface <b>20</b> to provide an alternate host/client interface via the host <b>26</b> of the remote chip and the client <b>22</b> of the mother chip. This alternate host/client interface reverses the host/client relationship between the two chips, which permits the data processor <b>25</b> to access and utilize an interface <b>28</b> (coupled between client <b>22</b> and memory <b>14</b>) on the mother chip to set up the desired DMA connection, including a data path between the memory <b>14</b> and the remote chip. This data path includes the interface <b>28</b>, the client <b>22</b> and the host <b>26</b>.
As compared to the prior art memory access of <figref idrefs="DRAWINGS">FIG. 1</figref>, the memory access achieved in the system of <figref idrefs="DRAWINGS">FIG. 2</figref> achieves higher data rates, reduced latencies, and reduced loading on the mother chip data processor <b>21</b> (because it need not be interrupted as often to service requests). In SDIO-based embodiments, the interface <b>28</b> may be implemented using an AHM master interface and a corresponding master port on the UMDX arbiter.
<figref idrefs="DRAWINGS">FIG. 3</figref> diagrammatically illustrates the enhanced host/client interface <b>20</b> according to exemplary embodiments of the present work. In <figref idrefs="DRAWINGS">FIG. 3</figref>, respective sets of control and data signals are apportioned to the host <b>12</b>A/client <b>16</b>A connection and to the host <b>26</b>/client <b>22</b> connection. For example, in an SDIO-based architecture, the terminals of the mother chip and remote chip of <figref idrefs="DRAWINGS">FIG. 1</figref> conventionally provide eight SDIO data lines and four SDIO control lines. Some embodiments apportion four of the SDIO data lines and two of the SDIO control lines (SDIO CLK and CMD lines) to each of the host/client connections of <figref idrefs="DRAWINGS">FIG. 3</figref>. Thus, in such embodiments, the terminal connections within the interface <b>23</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> are implemented by simple connection of four data lines and two control lines between each host/client pair in <figref idrefs="DRAWINGS">FIG. 3</figref>. In some SDIO-based embodiments, internal mother chip connections between mother chip terminals and the host <b>12</b>A and client <b>22</b> may be accomplished by suitably configuring an I/<b>0</b> switching unit that is conventionally available in an SDIO-based mother chip. This conventionally available I/<b>0</b> switching unit is sometimes referred to as the TLMM unit. Some SDIO-based embodiments use the configuration manager <b>24</b> to configure the TLMM unit.
<figref idrefs="DRAWINGS">FIG. 4</figref> diagrammatically illustrates the enhanced host/client interface <b>20</b> according to further exemplary embodiments of the present work. In <figref idrefs="DRAWINGS">FIG. 4</figref>, the configuration manager <b>24</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> is distributed between the mother chip and the remote chip in the form of configuration controllers <b>24</b>M and <b>24</b>R, respectively, and the interface <b>23</b> is similarly distributed in the form of switching units <b>41</b> and <b>42</b>. In response to instructions from the data processors <b>21</b> and <b>25</b>, the respective configuration controllers <b>24</b>M and <b>24</b>R configure the respective switching units <b>41</b> and <b>42</b> appropriately to provide desired connections within the interface <b>23</b>. In some SDIO-based embodiments, the switching units <b>41</b> and <b>42</b> selectively switch up to ten SDIO lines (up to eight data lines, plus CMD and CLK) into connection between host <b>12</b>A and client <b>16</b>A, or between host <b>26</b> and client <b>22</b>. In some SDIO-based embodiments, the switching unit <b>41</b> is implemented using the TLMM unit available on the SDIO-based mother chip.
<figref idrefs="DRAWINGS">FIG. 5</figref> diagrammatically illustrates the enhanced host/client interface <b>20</b> according to further exemplary embodiments of the present work. In <figref idrefs="DRAWINGS">FIG. 5</figref>, the configuration manager <b>24</b> of <figref idrefs="DRAWINGS">FIG. 2</figref> is distributed between the mother chip and the remote chip in the form of configuration controllers <b>24</b>M′ and <b>24</b>R′, and the interface <b>23</b> is similarly distributed in the form of switching units <b>51</b> and <b>52</b>. In response to instructions from the data processors <b>21</b> and <b>24</b>, the respective configuration controllers <b>24</b>M′ and <b>24</b>R′ configure the respective switching units <b>51</b> and <b>52</b> appropriately to provide desired connections within the interface <b>23</b>. The switching units <b>51</b> and <b>52</b> selectively switch data signals (e.g., up to eight SDIO data lines in an SDIO-based architecture) into connection between host <b>12</b>A and client <b>16</b>A, or between host <b>26</b> and client <b>22</b>. Further in <figref idrefs="DRAWINGS">FIG. 5</figref>, the interface <b>23</b> provides dedicated control line connections (shown at <b>53</b> and <b>54</b>) for each of the host/client pairs. In some SDIO-based embodiments, each of the dedicated connections at <b>53</b> and <b>54</b> carries an SDIO CLK signal and an SDIO CMD signal. In some SDIO-based embodiments, the switching unit <b>51</b> is implemented using the TLMM unit available on the SDIO-based mother chip.
<figref idrefs="DRAWINGS">FIGS. 6 and 7</figref> illustrate operations that may be performed according to exemplary embodiments of the present work. In some embodiments, the data processing systems illustrated by <figref idrefs="DRAWINGS">FIGS. 2-5</figref> are capable of performing the operations shown in <figref idrefs="DRAWINGS">FIGS. 6 and 7</figref>. Referring also to <figref idrefs="DRAWINGS">FIG. 2</figref>, in some embodiments, the data processing system powers up with the enhanced host/client interface <b>20</b> initially configured for communication between host <b>12</b>A and client <b>16</b>A. The system continues to operate in this initial power up default mode (shown generally at <b>61</b>) until the mother chip or the remote chip initiates a mode switch at <b>63</b>. In some embodiments, while the interface <b>20</b> is still in the initial power up default mode <b>61</b>, the host <b>12</b>A may download to the client <b>16</b>A any code that the remote chip may need, for example, code that enables the remote chip to support the enhanced host/client interface <b>20</b>. After a mode switch is proposed (by either the host <b>12</b>A or the client <b>16</b>A) at <b>63</b>, both the host <b>12</b>A and client <b>16</b>A confirm to one another at <b>64</b> their mutual agreement to the proposed mode switch. Then, at <b>65</b>, the interface <b>20</b> is reconfigured according to the mutually confirmed mode change, thus leaving the interface <b>20</b> configured for communication between host <b>26</b> and client <b>22</b>, after which the next mode switch proposal is awaited at <b>63</b>. When a mode switch is next proposed at <b>63</b>, and mutually confirmed at <b>64</b> by host <b>26</b> and client <b>22</b> (which together now constitute the active host/client pair in the interface <b>20</b>), the resulting reconfiguration at <b>65</b> places host <b>12</b>A and client <b>16</b>A back in communication with one another as the active host/client pair. (This may be useful, for example, for downloading additional code to the remote chip, or for timely delivery of urgent messages to the remote chip.) Each successive mode switch proceeds analogously to those described above.
Some embodiments permit the mother chip of <figref idrefs="DRAWINGS">FIG. 2</figref> to operate also with a legacy remote chip such as the prior art remote chip of <figref idrefs="DRAWINGS">FIG. 1</figref>. As shown at <b>71</b> in <figref idrefs="DRAWINGS">FIG. 7</figref>, such embodiments power up with the interface <b>20</b> initially configured so that the terminal connections between the remote chip and the host <b>12</b>A on the mother chip are the same as, and carry the same signaling (e.g., the same SDIO signals) as, the terminal connections between the <figref idrefs="DRAWINGS">FIG. 1</figref> remote chip and the host <b>12</b> on the <figref idrefs="DRAWINGS">FIG. 1</figref> mother chip. In other words, the host/client interface <b>10</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> is initially provided. A discovery procedure is then used to discover whether the remote chip supports the enhanced host/client interface <b>20</b> of <figref idrefs="DRAWINGS">FIG. 2</figref>. In this discovery procedure, as shown at <b>72</b>, the host <b>12</b>A sends a predetermined discovery request to the connected client on the remote chip. If the connected client is a client <b>16</b>A, it will provide a predetermined response to the discovery request, thereby indicating to the host <b>12</b>A that it supports the enhanced host/client interface <b>20</b>. If the connected client is a client <b>16</b> of a legacy remote chip, it will fail to provide the predetermined response.
If the host <b>12</b>A receives the predetermined response at <b>73</b>, then the host <b>12</b>A and the client <b>16</b>A confirm to one another at <b>74</b> that the configuration of the interface <b>23</b> will be modified, after which the interface <b>23</b> is reconfigured such that the overall enhanced host/client interface <b>20</b> assumes the same initial power up default mode configuration described above relative to <figref idrefs="DRAWINGS">FIG. 6</figref> and shown at <b>61</b>. From this point, operation proceeds as in <figref idrefs="DRAWINGS">FIG. 6</figref>. On the other hand, if host <b>12</b>A does not receive the predetermined response at <b>73</b> in <figref idrefs="DRAWINGS">FIG. 7</figref>, the initial interface configuration (see also <b>71</b>) is retained at <b>76</b>, so the host <b>12</b>A remains interfaced to the client <b>16</b> in the same manner as the host <b>12</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> would be, thereby permitting the mother chip of <figref idrefs="DRAWINGS">FIG. 2</figref> to operate with the remote chip of <figref idrefs="DRAWINGS">FIG. 1</figref>.
In various embodiments, the interface <b>20</b> is configured to support various throughput requirements, latency requirements, and combinations thereof. Some embodiments provide the client <b>22</b> with a security mechanism to protect the memory <b>14</b> against unauthorized access.
In the instances described above wherein the active host and the active client confirm to one another that the interface configuration is to be changed, they may utilize any suitable handshaking or negotiation procedure to reach their mutual agreement. Many such procedures are known in the art.
Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present work.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use products that embody principles of the present work. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present work is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Contents4
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both waysCites: the store holds 49 of 50
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2012054400A1 | Cited by | United States of America | Pre-grant |
| CN111198837A | Cited by | China | Search report |
| US2012170671A1 | Cited by | United States of America | Pre-grant |
| US10572398B2 | Cited by | United States of America | Search report |
| US2003030412A1 | Cites | United States of America | Search report |
| US2004153597A1 | Cites | United States of America | Search report |
| US2004225836A1 | Cites | United States of America | Search report |
| US2005066106A1 | Cites | United States of America | Search report |
| US2005204072A1 | Cites | United States of America | Applicant |
| US2006047982A1 | Cites | United States of America | Search report |
| US2006095642A1 | Cites | United States of America | Search report |
| US2007239919A1 | Cites | United States of America | Search report |
| US2007299929A1 | Cites | United States of America | Search report |
| US2009177816A1 | Cites | United States of America | Search report |
| US5146607A | Cites | United States of America | Search report |
| US5303362A | Cites | United States of America | Search report |
| US5784581A | Cites | United States of America | Search report |
| US6098120A | Cites | United States of America | Search report |
| US6295585B1 | Cites | United States of America | Search report |
| US6308239B1 | Cites | United States of America | Search report |
| US6418494B1 | Cites | United States of America | Search report |
| US6487643B1 | Cites | United States of America | Search report |
| US6600739B1 | Cites | United States of America | Search report |
| US6826619B1 | Cites | United States of America | Search report |
| US6862640B1 | Cites | United States of America | Search report |
| US6907492B1 | Cites | United States of America | Search report |
| US6917967B1 | Cites | United States of America | Search report |
| US6996636B1 | Cites | United States of America | Search report |
| US7024504B1 | Cites | United States of America | Search report |
| US7085876B1 | Cites | United States of America | Search report |
| US7114030B1 | Cites | United States of America | Search report |
| US7185132B1 | Cites | United States of America | Search report |
| US7197583B1 | Cites | United States of America | Search report |
| US7225357B1 | Cites | United States of America | Search report |
| US7234029B1 | Cites | United States of America | Search report |
| US7266587B1 | Cites | United States of America | Search report |
| US7266625B1 | Cites | United States of America | Search report |
| US7269669B1 | Cites | United States of America | Search report |
| US7293118B1 | Cites | United States of America | Search report |
| US7298416B1 | Cites | United States of America | Search report |
| US7383362B1 | Cites | United States of America | Applicant |
| US7412621B1 | Cites | United States of America | Search report |
| US7413129B1 | Cites | United States of America | Search report |
| US7424561B1 | Cites | United States of America | Search report |
| US7478191B1 | Cites | United States of America | Search report |
| US7480753B1 | Cites | United States of America | Search report |
| US7484020B1 | Cites | United States of America | Search report |
| US7484031B1 | Cites | United States of America | Search report |
| US7502878B1 | Cites | United States of America | Search report |
| US7587544B1 | Cites | United States of America | Search report |
| US7640385B1 | Cites | United States of America | Search report |
| US7664899B1 | Cites | United States of America | Search report |
| US7890683B1 | Cites | United States of America | Search report |
| Intel Corporation. Universal Host Controller Interface (UHCI) Design Guide. Revision 1.1. Mar. 1996. | Non-patent | – | Search report |
| NXP. USB On-The-Go. A tutorial. Jul. 2007. | Non-patent | – | Search report |
| Hyde, John. USB Multi-Role Device Design by Example. Cypress Semiconductor. 2003. | Non-patent | – | Search report |
| International Search Report and Written Opinion-PCT/US2010/025450, International Search Authority-European Patent Office-Apr. 28, 2010. | Non-patent | – | Applicant |
4 members in 3 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 39567309 | United States of America | A | |
| US20090395673 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2010223415A1 | United States of America | A1 | |
| WO2010101771A1 | World Intellectual Property Organization (WIPO) | A1 | |
| TW201037526A | Taiwan Province of China | A | |
| US7970976B2This record | United States of America | B2 |
54 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 RCE.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| New or Additional Drawing FiledC614 | C614 | |
| Response after Non-Final ActionA... | A... | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Sent to Classification ContractorPGPC | PGPC | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTF | EML_NTF | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 07970976
- Publication, DOCDB
- 7970976
- Publication, EPODOC
- US7970976
- Application
- 12395673
- Application, DOCDB
- 39567309
- Application, EPODOC
- US20090395673
Titles
- English
- Remote memory access using reversible host/client interface
Patent term adjustment
- A delay
- +53 daysthe office missed an examination deadline
- Applicant delay
- −14 days
- Net adjustment
- 39 days
Classification
- CPC, 2
- G06F13/4022
- G06F2213/0038
- IPC, 1
- G06F13 14
- USPC, 5
- 710305000
- 710106000
- 710110000
- 710308000
- 710313000