|Publication number||US6965974 B1|
|Application number||US 09/120,126|
|Publication date||15 Nov 2005|
|Filing date||22 Jul 1998|
|Priority date||14 Nov 1997|
|Publication number||09120126, 120126, US 6965974 B1, US 6965974B1, US-B1-6965974, US6965974 B1, US6965974B1|
|Inventors||Laurence Edward Bays, Jalil Fadavi-Ardekani, Srinivasa Gutta, Bahram Ghaffarzadeh Kermani, Richard Joseph Niescier, Geoffrey Lawrence Smith, Walter G. Soto, Daniel K. Greenwood|
|Original Assignee||Agere Systems Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (26), Referenced by (61), Classifications (8), Legal Events (7)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application claims priority from U.S. Provisional Application No. 60/065,855 entitled “Multipurpose Digital Signal Processing System” filed on Nov. 14, 1997, the specification of which is hereby expressly incorporated herein by reference.
1. Field of the Invention
This invention relates generally to the shared usage of memory by a plurality of agents, i.e., processors. In particular, in one aspect it relates to the efficient use of shared synchronous memory by a plurality of agents, and in another aspect it relates to the flexible partitioning of shared memory between a plurality of agents.
2. Background of Related Art
With the ever-increasing speeds of today's processors, memory designs have attempted to meet the required speed requirements. For instance, synchronous memory such as synchronous static random access memory (SSRAM) and synchronous dynamic random access memory (SDRAM) are commonly available synchronous types of memory.
Synchronous memory technology is currently used in a wide variety of applications to close the gap between the needs of high-speed processors and the access time of asynchronous memory such as dynamic random access memory (DRAM). Synchronous memory, e.g., SDRAM technology, combines industry advances in fast dynamic random access memory (DRAM) with a high-speed interface.
Functionally, an SDRAM resembles a conventional DRAM, i.e., it is dynamic and must be refreshed. However, the SDRAM architecture has improvements over standard DRAMs. For instance, an SDRAM uses internal pipelining to improve throughput and on-chip interleaving between separate memory banks to eliminate gaps in output data.
The idea of using a SDRAM synchronously (as opposed to using a DRAM asynchronously) emerged in light of increasing data transfer demands of high-end processors. SDRAM circuit designs are based on state machine operation instead of being level/pulse width driven as in conventional asynchronous memory devices. Instead, the inputs are latched by the system clock. Since all timing is based on the same synchronous clock, designers can achieve better specification margins. Moreover, since the SDRAM access is programmable, designers can improve bus utilization because the processor can be synchronized to the SDRAM output.
The core of an SDRAM device is a standard DRAM with the important addition of synchronous control logic. By synchronizing all address, data and control signals with a single clock signal, SDRAM technology enhances performance, simplifies design and provides faster data transfer.
Similar advantage hold for other types of synchronous memory, e.g., SSRAM or even synchronous read only memory.
Synchronous memory requires a clock signal from the accessing agent to allow fully synchronous operation with respect to the accessing agent. If more than one agent is given access to a shared synchronous memory, each agent must conventionally supply its own clock signal to the synchronous memory. Unfortunately, the clock signals from separate agents are not conventionally synchronous or in phase with one another. Therefore, if a synchronous memory were to be shared among a plurality of agents, delays or wait states would be required to allow an error-free transition between access by the first agent having a first synchronous memory access clock signal and a subsequent access by another agent having a different synchronous memory access clock signal.
Some synchronous memory devices have the capability to provide burst input/output (I/O), particularly for the optimization of cache memory fills at the system frequency. Advanced features such as programmable burst mode and burst length improve memory system performance and flexibility in conventional synchronous memories, and eliminate the need to insert otherwise unnecessary wait states, e.g., dormant clock cycles, between individual accesses in the burst.
Conventional SDRAM devices include independent, fixed memory sections that can be accessed individually or in an interleaved fashion. For instance, two independent banks in an SDRAM device allow that device to have two different rows active at the same time. This means that data can be read from or written to one bank while the other bank is being precharged. The setup normally associated with precharging and activating a row can be hidden by interleaving the bank accesses.
There are limitations to conventional system designs using synchronous memory. For instance, wait states are inevitable and necessary when the shared synchronous memory adjusts for access by a different agent having a different clock signal.
As may be appreciated, memory accesses by the separate agents 502–506 would clash unless they are arbitrated to allow only one agent to access the synchronous memory 508 at any one time. Thus, selection logic (i.e., an arbitrator 512) is conventionally provided to control a multiplexer 510, which selects the appropriate address for presentation to the synchronous memory 508, data and control (ADC) signals and clock signal from a current ‘owner’ of the busses. Typically, the agents 502–506 are assigned a hierarchy in which the highest priority agent will own the busses to the synchronous memory 508 and block out accesses by the other agents until finished.
Unfortunately, in such a system as is shown in
Moreover, as background to another aspect of the invention, a plurality of separate memory systems 600 may be provided as shown in
There is thus a need for synchronous memory systems which in one aspect allow efficient use of synchronous memory resources, e.g., by reducing the use of wait states. Moreover, there is also a need for memory systems which in another aspect allow efficient usage of shared memory with respect to adjusting for accesses by a plurality of accessing agents.
In accordance with the principles of the present invention, a multiple agent system using shared memory comprises a memory including a plurality of memory banks. A first agent is adapted to access a first memory portion including a first number of the memory banks. A second agent is adapted to access a second memory portion including a second number of the memory banks, wherein the first number and the second number are variable.
In another aspect, the present invention provides a system comprising a plurality of agents. A shared memory block is accessible by each of the agents, the shared memory block including a plurality of memory banks. A register is adapted to partition the shared memory block into a plurality of partitions, each of the plurality of partitions being accessible by a unique group of the agents.
In yet another aspect for providing a system with access to shared memory, a first agent provides a memory access clock signal to allow the first agent to access the shared memory. A second agent using the memory access clock signal accesses the shared memory in synchronism with the access by the first agent to the shared memory.
A method of synchronizing access from a plurality of agents to shared memory in accordance with the principles of the present invention comprises providing a memory access clock signal. The shared memory is firstly accessed from a first agent based on the memory access clock signal. The shared memory is secondly accessed from a second agent based on the memory access clock signal. Wherein, the second access follows the first access without a wait state therebetween.
In a method of partitioning a shared memory in accordance with another aspect of the present invention, a configuration register is set to partition the shared memory into a first plurality of memory banks and a second plurality of memory banks. The first plurality of memory banks is accessed from a first agent, and a second plurality of memory banks is accessed from a second agent. Then, the shared memory is re-partitioned on-the-fly.
Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:
In particular, a synchronous memory block 110 is accessed by a plurality of agents 102–106 as shown in
An appropriately sized multiplexer (MUX) 108 forms a switch which allows any one of the multiple agents 102–106 to access the shared synchronous memory 110. The relevant busses for each agent 102–106 include the address, data and control (ADC) busses and a clock signal.
The MUX 108 is controlled by selecting logic, i.e., an arbitrator 112. The arbitrator 112 is provided with respective memory request signals 130–134 from each of the accessing agents 102–106, and based on a pre-determined hierarchy, allows one of the agents 102–106 to access the shared synchronous memory 110. The requesting agents 102–106 are informed of a granting of the busses to the shared synchronous memory 110 using an acknowledge signal from the arbitrator 112 back to the successful requesting agent.
Importantly, the respective clock signals 140, 140 a and 140 b from the multiple agents 102–106 are synchronized with one another to reduce and/or eliminate the need for wait states in accessing the shared synchronous memory 110, particularly when switching between accesses from the different agents 102 to 106. Thus, not only does the memory access speed from each of the agents 102–106 become the same with respect to each of the different agents 102–106, but the phase of the respective clock signal from each of the agents 102–106 becomes the same with respect to one another.
In the embodiment shown in
The super agent 102 is responsible for generating a clock signal 140 which is switched to the shared synchronous memory 110 through the MUX 108 when the super agent 102 is accessing the shared synchronous memory 110. Preferably, but not necessarily, the super agent 102 will be that agent which most frequently accesses the shared synchronous memory 110 from among the multiple agents 102–106, or is otherwise assigned the highest priority for access to the shared synchronous memory 110.
As shown in
The non-super agents 104, 106 which receive the clock signal 140 from the super agent 102 are free to use the clock signal 140 for other purposes as well as for accessing the shared synchronous memory 110. For instance, the clock signal 140 may be used as a general processor clock in place of an external crystal oscillator.
In particular, the shared synchronous memory 110 may be conventional and is as described and shown with respect to the embodiment of
All three agents 102–106 receive a system level clock signal 150 to which respective address, data and control busses as well as respective memory access clock signals 240 a–240 c are synchronized. Thus, the clock signal 240 d provided to the shared synchronous memory 110 is synchronized, e.g., has the same frequency, duty cycle and/or phase with respect to the clock signals 240 a, 240 b or 240 c from any of the agents 102 a, 104 and 106. This reduces or eliminates altogether the need for wait states in memory accesses from any of the agents 102–106.
In a variation of the embodiment shown in
The super agent 102 may have any arbitrary clock signal 140 for accessing the shared synchronous memory 110. However, the non-super agents 104, 106 must be able to adopt the clock signal 140 from the super agent 102 for use in their respective accesses to the shared synchronous memory 110. Moreover, for each partition or block of sharedly accessed memory 110, preferably only one super agent 102 is allowed, with any or all other agents 104, 106 for that partition being non-super agents which adopt the memory access clock signal 140 from the super agent 102.
Thus, according to the first aspect of the present invention, the memory clock signals from a plurality of agents are synchronized with one another to minimize or eliminate altogether the delays, i.e., wait states, caused in accessing shared synchronous memory.
According to another aspect of the present invention shown in
The embodiment of
In accordance with the second aspect of the present invention, the memory block 310 is configurably partitioned into a corresponding number of partitions 310 a, 310 b. Although the embodiment is shown with two partitions 310 a, 310 b, the invention is equally applicable to any number of partitions. Preferably, the number of partitions will equal the number of agent groups.
The separate agent groups 340, 342 access respectively partitioned portions of the shared memory 310. The partitions 310 a, 310 b may be any size, from zero to the entire memory block 310, as set in a configuration register 360.
In this aspect, the assignment of an available memory block 310 is flexible, allowing any or all of the memory block 310 to be assigned to any of the agent groups 340, 342. With the configurability as disclosed, the user can change the memory configuration on-the-fly, by executing certain instructions in the code to change the value in the configuration register 360.
The configuration register 360 can be written to by any of the agents 302, 304, 306, 312, 314 and 316. In the disclosed embodiment, the value written to the configuration register 360 corresponds to the length of the first partition 310 a, any and all remaining memory banks being assigned to the second partition. Of course, multiple words or registers may be implemented within the configuration register 360 to accommodate more than two configurable partitions in the shared memory block 310 in accordance with the principles of the present invention.
It is preferred (but not required) that the memory block 310 be partitionable into contiguous parts. For instance, if the configuration register 360 comprises one, four-bit register, it may adequately represent partitions between any of up to sixteen memory banks.
For example, assume for the purpose of explanation that there are fourteen memory banks in the memory block 310. If any of the agents 302, 304, 306, 312, 314 or 316 writes the value ‘9’ (1001B) to the configuration register 360, this would be interpreted by the arbitrator 312 to partition the memory block 310 such that the first nine individual memory banks are to be assigned to the first agent group 340, and that the remaining five individual memory banks are to be assigned to the second agent group 342. The four bits of the configuration register 360 are then decoded by the arbitrator 412 a to provide appropriate control signals to a first MUX 308 to select or deselect the requesting or winning agent in the first agent group 340 and to the second MUX 318 to select or deselect the requesting or winning agent in the second agent group 342. Because the memory block 410 is partitioned, both agent groups 340, 342 may access the respective partition 310 a, 310 b without conflict.
To avoid configuration conflicts, it may be preferable to allow only one or a select group of agents to have write access to the configuration register 360.
In a multiple agent system, one shared memory block is often provided for use by all agents in the system. For various reasons, e.g., vastly differing application programs in each of the agents for any one user, a fixed amount of memory for each agent in the system is inefficient. For instance, if one user implements code in only one of two available DSPs in an integrated circuit comprising a memory accessing system in accordance with the aspects of the present invention, then that user will have minimal if any memory requirement for the second DSP. In that case, it might be desirable to assign or partition all available shared memory to the first DSP and no memory to the second DSP.
According to this aspect of the present invention, the assignment of individual memory banks 1 to 14 as shown in
Preferably, the partitions in a shared memory block will be placed with ends thereof between individual memory banks comprising the memory block, e.g., between any of the memory banks 1 to 14 as shown in
An application example of this aspect of the present invention is as follows. Assume that there are two agents in a system, where each agent is a DSP. Initially, the first DSP may be running a modem application program requiring at least seven memory banks, and the second DSP may be running a medium quality audio session requiring at least seven memory banks. In this case, the configuration register may be set to a ‘7’ (0111B) to assign the first seven memory banks 1–7 to the first DSP, and the remaining seven memory banks 8–14 to the second DSP. Then, at a later point in time, the user may run a high quality audio session at the second DSP which requires 12 memory banks. Either the first or second DSP can adjust the setting in the configuration register 460 to appropriate more memory banks to the second DSP, albeit at the expense of the size of the memory partition for the first DSP. For instance, in this case, a value of ‘2’ (0010B) may be written to the configuration register 460 to assign two memory banks 1, 2 to the first DSP leaving the remaining twelve memory banks 3–14 in the second partition of the memory block for use by the second DSP. Conversely, the user may at another point in time wish to run a higher baud rate modem program on the first DSP requiring a larger amount of memory. In this case, the configuration register may be written to, e.g., to assign eleven memory banks 1–11 to the first DSP leaving only the remaining three memory banks 12–14 for use by the second DSP.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4209839 *||16 Jun 1978||24 Jun 1980||International Business Machines Corporation||Shared synchronous memory multiprocessing arrangement|
|US4476527 *||10 Dec 1981||9 Oct 1984||Data General Corporation||Synchronous data bus with automatically variable data rate|
|US4827401 *||24 Oct 1984||2 May 1989||International Business Machines Corporation||Method and apparatus for synchronizing clocks prior to the execution of a flush operation|
|US4965717 *||13 Dec 1988||23 Oct 1990||Tandem Computers Incorporated||Multiple processor system having shared memory with private-write capability|
|US5008816 *||6 Nov 1987||16 Apr 1991||International Business Machines Corporation||Data processing system with multi-access memory|
|US5333293 *||11 Sep 1991||26 Jul 1994||Compaq Computer Corp.||Multiple input frequency memory controller|
|US5463755 *||22 Jun 1994||31 Oct 1995||International Business Machines Corporation||High-performance, multi-bank global memory card for multiprocessor systems|
|US5621698||28 Dec 1995||15 Apr 1997||Hyundai Electronics Industries Co., Ltd.||Data signal distribution circuit for synchronous memory device|
|US5630096 *||10 May 1995||13 May 1997||Microunity Systems Engineering, Inc.||Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order|
|US5659715 *||8 May 1996||19 Aug 1997||Vlsi Technology, Inc.||Method and apparatus for allocating display memory and main memory employing access request arbitration and buffer control|
|US5758132 *||29 Mar 1995||26 May 1998||Telefonaktiebolaget Lm Ericsson||Clock control system and method using circuitry operating at lower clock frequency for selecting and synchronizing the switching of higher frequency clock signals|
|US5784582 *||28 Oct 1996||21 Jul 1998||3Com Corporation||Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline|
|US5815167 *||27 Jun 1996||29 Sep 1998||Intel Corporation||Method and apparatus for providing concurrent access by a plurality of agents to a shared memory|
|US5838934 *||7 Jun 1995||17 Nov 1998||Texas Instruments Incorporated||Host port interface|
|US5911149 *||1 Nov 1996||8 Jun 1999||Nec Electronics Inc.||Apparatus and method for implementing a programmable shared memory with dual bus architecture|
|US5933855 *||21 Mar 1997||3 Aug 1999||Rubinstein; Richard||Shared, reconfigurable memory architectures for digital signal processing|
|US5939919 *||28 Jul 1997||17 Aug 1999||Hyundai Electronics America Inc||Clock signal distribution method for reducing active power dissipation|
|US5960458 *||26 Aug 1996||28 Sep 1999||Hitachi, Ltd.||Shared memory system|
|US5999197 *||30 Sep 1997||7 Dec 1999||Hitachi, Ltd.||Synchronized data processing system and image processing system|
|US6035365 *||27 Nov 1998||7 Mar 2000||Rambus Inc.||Dual clocked synchronous memory device having a delay time register and method of operating same|
|US6041066 *||12 Feb 1998||21 Mar 2000||Fujitsu Limited||Method of synchronization status message processing in transmission apparatus|
|US6052756 *||23 Jan 1998||18 Apr 2000||Oki Electric Industry Co., Ltd.||Memory page management|
|US6101146 *||16 Sep 1998||8 Aug 2000||Nec Corporation||Semiconductor integrated circuit device|
|US6185704 *||9 Apr 1998||6 Feb 2001||Texas Instruments Incorporated||System signaling schemes for processor and memory module|
|USRE35723 *||4 Dec 1995||3 Feb 1998||Oki Electric Industry Co., Ltd.||Synchronous burst-access memory|
|GB2074762A *||Title not available|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7047368 *||28 Oct 2003||16 May 2006||Sirf Technology, Inc.||Memory reallocation and sharing in electronic systems|
|US7139882 *||21 Feb 2003||21 Nov 2006||Sony Computer Entertainment Inc.||Memory protection system and method for computer architecture for broadband networks|
|US7231500||5 Oct 2004||12 Jun 2007||Sony Computer Entertainment Inc.||External data interface in a computer architecture for broadband networks|
|US7233998||22 Mar 2001||19 Jun 2007||Sony Computer Entertainment Inc.||Computer architecture and software cells for broadband networks|
|US7457939||18 Oct 2004||25 Nov 2008||Sony Computer Entertainment Inc.||Processing system with dedicated local memories and busy identification|
|US7502817 *||26 Oct 2001||10 Mar 2009||Qualcomm Incorporated||Method and apparatus for partitioning memory in a telecommunication device|
|US7516334||5 Oct 2004||7 Apr 2009||Sony Computer Entertainment Inc.||Power management for processing modules|
|US7587619||10 Mar 2006||8 Sep 2009||Qualcomm Incorporated||Method and apparatus for partitioning memory in a telecommunication device|
|US7636724 *||3 Sep 2002||22 Dec 2009||Peerify Technologies LLC||Data storage system and method by shredding and deshredding|
|US7720982||12 Mar 2007||18 May 2010||Sony Computer Entertainment Inc.||Computer architecture and software cells for broadband networks|
|US7933876 *||26 Apr 2011||Peerify Technologies, Llc||Data storage system and method by shredding and deshredding|
|US7999813||18 Oct 2004||16 Aug 2011||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US8028288||27 Sep 2011||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US8051264 *||21 Dec 2006||1 Nov 2011||Mtekvision Co., Ltd.||Portable device and method for controlling shared memory in portable device|
|US8074031 *||13 Dec 2006||6 Dec 2011||Nxp B.V.||Multi-processor circuit with shared memory banks|
|US8135919 *||6 Sep 2006||13 Mar 2012||Mtekvision Co., Ltd.||Operation control of a shared memory partitioned into multiple storage areas|
|US8145852 *||6 Apr 2007||27 Mar 2012||Mtekvision Co., Ltd.||Device having shared memory and method for providing access status information by shared memory|
|US8296526 *||23 Oct 2012||Mediatek, Inc.||Shared memory having multiple access configurations|
|US8321636 *||27 Nov 2012||Csr Technology Inc.||Memory reallocation and sharing in electronic systems|
|US8434091||30 Apr 2013||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US8468536 *||24 Jun 2010||18 Jun 2013||International Business Machines Corporation||Multiple level linked LRU priority|
|US8751212||16 May 2012||10 Jun 2014||Sony Computer Entertainment Inc.||Methods and apparatus for achieving thermal management using processing task scheduling|
|US8762759||10 Apr 2008||24 Jun 2014||Nvidia Corporation||Responding to interrupts while in a reduced power state|
|US8805792 *||18 Mar 2011||12 Aug 2014||Peerify Technologies, Llc||Data storage system and method by shredding and deshredding|
|US9183051||2 May 2014||10 Nov 2015||Sony Computer Entertainment Inc.||Methods and apparatus for achieving thermal management using processing task scheduling|
|US9209792||15 Aug 2007||8 Dec 2015||Nvidia Corporation||Clock selection system and method|
|US20020138637 *||22 Mar 2001||26 Sep 2002||Masakazu Suzuoki||Computer architecture and software cells for broadband networks|
|US20020156993 *||22 Mar 2001||24 Oct 2002||Masakazu Suzuoki||Processing modules for computer architecture for broadband networks|
|US20030065656 *||3 Sep 2002||3 Apr 2003||Peerify Technology, Llc||Data storage system and method by shredding and deshredding|
|US20030084194 *||26 Oct 2001||1 May 2003||Chris Ryan||Method and apparatus for partitioning memory in a telecommunication device|
|US20030229765 *||21 Feb 2003||11 Dec 2003||Sony Computer Entertainment Inc.||Memory protection system and method for computer architecture for broadband networks|
|US20040123176 *||9 Dec 2003||24 Jun 2004||Subramaniam Maiyuran||Dynamically configurable clocking scheme for demand based resource sharing with multiple clock crossing domains|
|US20050050282 *||28 Oct 2003||3 Mar 2005||Vantalon Nicolas P.||Memory reallocation and sharing in electronic systems|
|US20050078117 *||18 Oct 2004||14 Apr 2005||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US20050081209 *||18 Oct 2004||14 Apr 2005||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US20050081213 *||18 Oct 2004||14 Apr 2005||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US20050097302 *||18 Oct 2004||5 May 2005||Sony Computer Entertainment Inc.||System and method for data synchronization for a computer architecture for broadband networks|
|US20050120187 *||5 Oct 2004||2 Jun 2005||Sony Computer Entertainment Inc.||External data interface in a computer architecture for broadband networks|
|US20050120254 *||5 Oct 2004||2 Jun 2005||Sony Computer Entertainment Inc.||Power management for processing modules|
|US20050268023 *||1 Jun 2004||1 Dec 2005||Briggs Randall D||Multi-port random access memory|
|US20060248289 *||6 Mar 2006||2 Nov 2006||Vantalon Nicolas P||Memory reallocation and sharing in electronic systems|
|US20060277424 *||10 Mar 2006||7 Dec 2006||Chris Ryan||Method and apparatus for partitioning memory in a telecommunication device|
|US20070089030 *||30 Sep 2005||19 Apr 2007||Beracoechea Alejandro L L||Configurable bandwidth allocation for data channels accessing a memory interface|
|US20080098153 *||22 Aug 2007||24 Apr 2008||Yasuo Nishioka||Memory access controller|
|US20080162866 *||28 Dec 2006||3 Jul 2008||Siddiqi Faraz A||Apparatus and method for fast and secure memory context switching|
|US20080263286 *||6 Sep 2006||23 Oct 2008||Mtekvision Co., Ltd.||Operation Control of Shared Memory|
|US20080301354 *||13 Dec 2006||4 Dec 2008||Nxp B.V.||Multi-Processor Circuit with Shared Memory Banks|
|US20090019248 *||21 Dec 2006||15 Jan 2009||Jong-Sik Jeong||Portable device and method for controlling shared memory in portable device|
|US20090043970 *||6 Apr 2007||12 Feb 2009||Jong-Sik Jeong||Device having shared memory and method for providing access status information by shared memory|
|US20090254713 *||22 Sep 2005||8 Oct 2009||Mtekvision Co., Ltd.||Access control to partitioned blocks in shared memory|
|US20090254715 *||15 Sep 2005||8 Oct 2009||Mtekvision Co., Ltd.||Variable partitioned blocks in shared memory|
|US20090282199 *||12 Nov 2009||Cox Michael B||Memory control system and method|
|US20100077171 *||25 Mar 2010||Peerify Technologies, Llc||Data storage system and method by shredding and deshredding|
|US20100228923 *||9 Sep 2010||Samsung Electronics Co., Ltd.||Memory system having multiple processors|
|US20100325368 *||17 Jun 2009||23 Dec 2010||Media Tek, Inc.||Shared memory having multiple access configurations|
|US20110173161 *||14 Jul 2011||Peerify Technologies, Llc||Data storage system and method by shredding and deshredding|
|US20110321053 *||29 Dec 2011||International Business Machines Corporation||Multiple level linked lru priority|
|US20120221795 *||9 May 2012||30 Aug 2012||Panasonic Corporation||Shared memory system and control method therefor|
|US20150006728 *||26 Jun 2013||1 Jan 2015||Amazon Technologies, Inc.||Producer system selection|
|US20150019732 *||26 Jun 2013||15 Jan 2015||Amazon Technologies, Inc.||Producer system partitioning among leasing agent systems|
|EP2264609A1 *||9 Nov 2009||22 Dec 2010||MediaTek, Inc||Shared memory having multiple access configurations|
|U.S. Classification||711/153, 711/E12.079, 711/173, 711/154|
|International Classification||G06F12/06, G06F12/00|
|22 Jul 1998||AS||Assignment|
Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BAYS, LAURENCE E.;FADAVI-ARDEKANI, JALIL;GREENWOOD, DANIEL K.;AND OTHERS;REEL/FRAME:009364/0560
Effective date: 19980709
|5 Jul 2007||AS||Assignment|
Owner name: AGERE SYSTEMS INC., PENNSYLVANIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LUCENT TECHNOLOGIES INC.;REEL/FRAME:019529/0767
Effective date: 20010130
|7 May 2009||FPAY||Fee payment|
Year of fee payment: 4
|7 Mar 2013||FPAY||Fee payment|
Year of fee payment: 8
|8 May 2014||AS||Assignment|
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG
Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031
Effective date: 20140506
|2 Feb 2016||AS||Assignment|
Owner name: LSI CORPORATION, CALIFORNIA
Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039
Effective date: 20160201
Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA
Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039
Effective date: 20160201
|11 Feb 2016||AS||Assignment|
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH
Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001
Effective date: 20160201