Mechanism to control the allocation of an N-source shared buffer

Number of patents in Portfolio can not be more than 2000

United States of America Patent

PATENT NO 7213087
SERIAL NO

09651924

Stats

ATTORNEY / AGENT: (SPONSORED)

Importance

Loading Importance Indicators... loading....

Abstract

See full text

A method and apparatus for ensuring fair and efficient use of a shared memory buffer. A preferred embodiment comprises a shared memory buffer in a multi-processor computer system. Memory requests from a local processor are delivered to a local memory controller by a cache control unit and memory requests from other processors are delivered to the memory controller by an interprocessor router. The memory controller allocates the memory requests in a shared buffer using a credit-based allocation scheme. The cache control unit and the interprocessor router are each assigned a number of credits. Each must pay a credit to the memory controller when a request is allocated to the shared buffer. If the number of filled spaces in the shared buffer is below a threshold, the buffer immediately returns the credits to the source from which the credit and memory request arrived. If the number of filled spaces in the shared buffer is above a threshold, the buffer holds the credits and returns the credits in a round-robin manner only when a space in the shared buffer becomes free. The number of credits assigned to each source is sufficient to enable each source to deliver an uninterrupted burst of memory requests to the buffer without having to wait for credits to return from the buffer. The threshold is the point when the number of free spaces available in the buffer is equal to the total number of credits assigned to the cache control unit and the interprocessor router.

Loading the Abstract Image... loading....

First Claim

See full text

Family

Loading Family data... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPHOUSTON, TX8793

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Asher, David H Sutton, MA 19 261
Bertone, Michael S Marlborough, MA 16 312
Kessler, Richard E Shrewsbury, MA 110 2670
Lang, Steve Stow, MA 17 367

Cited Art Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (2)
* 6044406 Credit-based flow control checking and correction method 60 1997
6085300 DRAM system with simultaneous burst read and write 43 1997
 
ADVANCED MICRO DEVICES, INC. (1)
5983325 Dataless touch to open a memory page 56 1997
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (10)
5261066 Data processing system and method with small fully-associative cache and prefetch buffers 141 1990
5317718 Data processing system and method with prefetch buffers 121 1993
5890201 Content addressable memory having memory cells storing don't care states for address translation 58 1997
5923872 Apparatus for sampling instruction operand or result values in a processor pipeline 64 1997
6000044 Apparatus for randomly sampling instructions in a processor pipeline 105 1997
6546453 Proprammable DRAM address mapping mechanism 12 2000
6546465 Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol 15 2000
6591349 Mechanism to reorder memory read and write transactions for reduced latency and increased bandwidth 29 2000
6961781 Priority rules for reducing network message routing latency 7 2000
7099913 Speculative directory writes in a directory based cache coherent nonuniform memory access protocol 6 2000
 
INTEGRATED DEVICE TECHNOLOGY, INC. (1)
5875151 Fully synchronous pipelined ram 53 1997
 
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (22)
5758183 Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution 58 1996
5761729 Validation checking of shared memory accesses 45 1996
5787480 Lock-up free data sharing 57 1996
5802585 Batched checking of shared memory accesses 75 1996
5950228 Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables 66 1997
* 6078565 Method and apparatus to expand an on chip FIFO into local memory 21 1997
6567900 Efficient address interleaving with simultaneous multiple locality options 16 2000
6622225 System for minimizing memory bank conflicts in a computer system 30 2000
6633960 Scalable directory based cache coherence protocol 46 2000
6636955 Mechanism for synchronizing multiple skewed source-synchronous data channels with automatic initialization feature 11 2000
6654858 Method for reducing directory writes and latency in a high performance, directory-based, coherency protocol 22 2000
6662265 Mechanism to track all open pages in a DRAM memory system 10 2000
6662319 Special encoding of known bad data 7 2000
6668335 System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths 9 2000
6678840 Fault containment and error recovery in a scalable multiprocessor 16 2000
6681295 Fast lane prefetching 25 2000
6704817 Computer architecture and system for efficient management of bi-directional bus 43 2000
6715057 Efficient translation lookaside buffer miss processing in computer systems with a large range of page sizes 17 2000
6738836 Scalable efficient I/O port protocol 67 2000
6751721 Broadcast invalidate scheme 51 2000
6754739 Computer resource management and allocation system 30 2000
6779142 Apparatus and method for interfacing a high speed scan-path with slow-speed test equipment 5 2000
 
CISCO TECHNOLOGY, INC. (1)
* 6515963 Per-flow dynamic buffer management 87 1999
 
SILICON GRAPHICS INTERNATIONAL CORP. (2)
* 6751698 Multiprocessor node controller circuit and method 87 1999
* 6532501 System and method for distributing output queue space 20 1999
 
ENTERASYS NETWORKS, INC. (1)
* 5446734 Telecommunications network with plesiochronous transfer mode 37 1993
 
SAMSUNG ELECTRONICS CO., LTD. (2)
6070227 Main memory bank indexing scheme that optimizes consecutive page hits by linking main memory bank address organization to cache memory address organization 86 1997
6671822 Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache 14 2000
 
FUJITSU LIMITED (5)
* 5982771 Controlling bandwidth allocation using a pace counter 76 1996
* 6115748 Prioritized access to shared buffers 45 1996
* 5898671 Transmitter controlled flow control for buffer allocation in wide area ATM networks 25 1996
5893931 Lookaside buffer for address translation in a computer system 68 1997
* 6715008 Method and system for over-run protection in a message passing multi-processor computer system using a credit-based protocol 7 1999
 
ORACLE AMERICA, INC. (1)
* 5958019 Multiprocessing system configured to perform synchronization operations 61 1996
 
LONDON PACIFIC LIFE & ANNUITY COMPANY (1)
* 6104727 Asymmetric communication system with regulated upstream channel 55 1998
 
RPX CLEARINGHOUSE LLC (2)
* 6359884 Modular scalable packet scheduler with rate based shaping and virtual port scheduler 11 1998
* 6646986 Scheduling of variable sized packet data under transfer rate control 25 1999
 
FUJITSU NETWORK COMMUNICATIONS, INC. (3)
* 6426957 Asynchronous transfer mode based service consolidation switch 54 1998
* 6256674 Method and apparatus for providing buffer state flow control at the link level in addition to flow control on a per-connection basis 41 1999
* 6452903 Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis 36 2000
 
WSOU INVESTMENTS, LLC (1)
* 6992984 Credit-based adaptive flow control for multi-stage multi-dimensional switching architecture 14 2000
 
INTEL CORPORATION (4)
5918250 Method and apparatus for preloading default address translation attributes 42 1995
5918251 Method and apparatus for preloading different default address translation attributes 76 1996
* 6347337 Credit based flow control scheme over virtual interface architecture for system area networks 78 1999
* 6735174 Method and systems for flow control of transmissions over channel-based switched fabric connections 41 2000
 
HTC CORPORATION (2)
5809450 Method for estimating statistics of properties of instructions processed by a processor pipeline 91 1997
5964867 Method for inserting memory prefetch operations based on measured latencies in a program optimizer 89 1997
 
MICROSOFT TECHNOLOGY LICENSING, LLC (1)
* 6594701 Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data 90 1998
 
SCHOFIELD TECHNOLOGIES LLC (1)
* 6674722 Processes in a distributed multiprocessor system 4 1999
 
CITRIX SYSTEMS, INC. (1)
* 6601084 Dynamic load balancer for multiple network servers 195 1997
 
ARM FINANCE OVERSEAS LIMITED (1)
* 6493776 Scalable on-chip system bus 42 1999
 
ALCATEL USA SOURCING, L.P. (1)
* 5999518 Distributed telecommunications switching system and method 232 1997
* Cited By Examiner

Patent Citation Ranking

Forward Cite Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (10)
* 7882232 Rapid resource provisioning with automated throttling 0 2008
* 7933876 Data storage system and method by shredding and deshredding 3 2009
* 2010/0077,171 DATA STORAGE SYSTEM AND METHOD BY SHREDDING AND DESHREDDING 3 2009
* 8688880 Centralized serialization of requests in a multiprocessor system 0 2010
* 2011/0320,778 CENTRALIZED SERIALIZATION OF REQUESTS IN A MULTIPROCESSOR SYSTEM 0 2010
* 8805792 Data storage system and method by shredding and deshredding 0 2011
* 2011/0173,161 DATA STORAGE SYSTEM AND METHOD BY SHREDDING AND DESHREDDING 2 2011
9251108 Managing access to shared buffer resources 0 2012
* 9378168 Shared receive queue allocation for network on a chip communication 0 2013
9385967 Resource allocation for a storage area network 0 2015
 
VMWARE, INC. (1)
* 9465669 NUMA scheduling using inter-vCPU memory access estimation 0 2014
 
ADVANCED MICRO DEVICES, INC. (1)
* 7844758 Dynamic resource allocation scheme for efficient use of a queue 4 2003
 
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (3)
* 7380080 Calculating unneeded data storage credits for a data transmission to a pair of storage devices 12 2005
* 2005/0257,022 Storage device flow control 11 2005
* 8683000 Virtual network interface system with memory management 2 2006
 
FUJITSU LIMITED (1)
* 8254403 Packet forwarding apparatus and controlling method 0 2008
 
MOTOROLA, INC. (1)
* 2007/0011,287 Systems and methods for seamless handover in a streaming data application 2 2005
 
HITACHI, LTD. (3)
* 7752375 Input output control apparatus with a plurality of ports and single protocol processing circuit 1 2004
* 2005/0060,476 Input output control apparatus 2 2004
8090893 Input output control apparatus with a plurality of ports and single protocol processing circuit 0 2010
 
ARM LIMITED (1)
8463958 Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices 0 2011
 
ORACLE INTERNATIONAL CORPORATION (2)
* 7467279 Method and system for faster instance startup for large resource configurations 3 2006
* 2007/0233,640 Method and system for faster instance startup for large resource configurations 1 2006
 
INTEL CORPORATION (1)
* 9405687 Method, apparatus and system for handling cache misses in a processor 1 2013
 
AB INITIO TECHNOLOGY LLC (3)
9003084 Sorting 0 2011
* 8762604 Managing buffer conditions through sorting 0 2013
9128686 Sorting 0 2015
 
ROHM CO., LTD. (2)
* 7797482 Method of reading from and writing to a storage disk, and storage disk control unit 0 2005
* 2008/0253,013 Method of Reading From and Writing to a Storage Disk, and Storage Disk Control Unit 0 2005
 
PEERIFY TECHNOLOGY (2)
* 7636724 Data storage system and method by shredding and deshredding 377 2002
* 2003/0065,656 Data storage system and method by shredding and deshredding 29 2002
 
NVIDIA CORPORATION (5)
7451259 Method and apparatus for providing peer-to-peer data transfer within a computing environment 0 2004
* 2006/0120,376 Method and apparatus for providing peer-to-peer data transfer within a computing environment 8 2004
* 7469309 Peer-to-peer data transfer method and apparatus with request limits 7 2005
8321618 Managing conflicts on shared L2 bus 0 2009
* 8195858 Managing conflicts on shared L2 bus 5 2009
 
AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. (2)
* 8601210 Cache memory allocation process based on TCPIP network and/or storage area network array parameters 3 2011
* 2012/0254,533 CACHE MEMORY ALLOCATION PROCESS BASED ON TCPIP NETWORK AND/OR STORAGE AREA NETWORK ARRAY PARAMETERS 1 2011
* Cited By Examiner

Maintenance Fees

Fee Large entity fee small entity fee micro entity fee due date
11.5 Year Payment $7400.00 $3700.00 $1850.00 Nov 1, 2018
Fee Large entity fee small entity fee micro entity fee
Surcharge - 11.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge after expiration - Late payment is unavoidable $700.00 $350.00 $175.00
Surcharge after expiration - Late payment is unintentional $1,640.00 $820.00 $410.00