Patents Examined by Yamir Encarnacion
-
Patent number: 6631446Abstract: Techniques for managing memory buffers include maintaining a pool of buffers and assigning the buffers to buffer classes based on the frequency with which information stored in the buffers is accessed. Different algorithms can be used to manage buffers assigned to the different classes. A determination can be made as to whether a particular buffer qualifies for entry into a particular one of the buffer classes based on a comparison between a threshold value and the frequency with which information stored in the particular buffer was accessed during a specified time interval. Additionally, the threshold value can be adjusted dynamically to take account, for example, of the current load on the system.Type: GrantFiled: October 26, 2000Date of Patent: October 7, 2003Assignee: International Business Machines CorporationInventors: Kevin J. Cherkauer, Roger C. Raphael
-
Patent number: 6629209Abstract: A multiprocessor data processing system requires careful management to maintain cache coherency. Conventional systems using a MESI approach sacrifice some performance with inefficient lock-acquisition and lock-retention techniques. The disclosed system provides additional cache states, indicator bits, and lock-acquisition routines to improve cache performance. The additional cache states allow cache state transition sequences to be optimized by replacing frequently-occurring and inefficient MESI code sequences with improved sequences using modified cache states.Type: GrantFiled: November 9, 1999Date of Patent: September 30, 2003Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Lakshminarayana Baba Arimilli, John Steven Dodson, Guy Lynn Guthrie, William John Starke
-
Patent number: 6629212Abstract: A multiprocessor data processing system requires careful management to maintain cache coherency. In conventional systems using a MESI approach, two or more processors will often compete for ownership of a common cache line. As a result, ownership of the cache line will frequently “bounce” between multiple processors, which causes a significant reduction in cache efficiency. The preferred embodiment provides a modified MESI state which holds the status of the cache line static for a fixed period of time, which eliminates the bounce effect from contention between multiple processors.Type: GrantFiled: November 9, 1999Date of Patent: September 30, 2003Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Lakshminarayana Baba Arimilli, John Steven Dodson, Guy Lynn Guthrie, William John Starke
-
Patent number: 6625701Abstract: A multiprocessor data processing system requires careful management to maintain cache coherency. Conventional systems using a MESI approach sacrifice some performance with inefficient lock-acquisition and lock-retention techniques. The disclosed system provides additional cache states, indicator bits, and lock-acquisition routines to improve cache performance. In particular, as multiple processors compete for the same cache line, a significant amount of processor time is lost determining if another processor's cache line lock has been released and attempting to reserve that cache line while it is still owned by the other processor. The preferred embodiment provides an indicator bit with the cache store command which specifically indicates whether the store also acts as a lock-release.Type: GrantFiled: November 9, 1999Date of Patent: September 23, 2003Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Lakshminarayana Baba Arimilli, John Steven Dodson, Guy Lynn Guthrie, William John Starke
-
Patent number: 6601134Abstract: A storage control apparatus is coupled to a central processing unit (CPU) and a storage unit to control input/output of data between the CPU and the storage unit. The storage control apparatus has at least two processors coupled to the CPU and the storage unit, a cache memory (CM) unit for temporarily storing data of the storage unit, a shared memory (SM) unit for storing information concerning control of the CM unit and the storage unit, and a selector coupled to the at least two processors, the CM unit and the SM unit through access paths to selectively apply access requests from the at least two processors to the CM unit and the SM unit.Type: GrantFiled: April 26, 1999Date of Patent: July 29, 2003Assignee: Hitachi, Ltd.Inventors: Kenji Yamagami, Kazuhisa Fujimoto, Yasuo Kurosu, Hisao Honma
-
Patent number: 6601151Abstract: A memory access request handling unit is arranged between a source of memory access requests and a data storage element that is the target of the memory access requests. The memory access request handling unit comprises a queue made up of a number of queue elements, each being capable of temporarily storing one memory access request. Comparison logic is arranged to monitor a window of the queue and to select one or more of the queue elements, representing memory access requests not yet transmitted to the data storage element, for transmission to the data storage element. The selection is made on the basis of a comparison between the memory access requests held in the queue and one or both of a priority value set for each memory access request and a list of memory access requests that are currently pending at the data storage element, the list being maintained in a list store of the memory access request handling unit.Type: GrantFiled: February 8, 1999Date of Patent: July 29, 2003Assignee: Sun Microsystems, Inc.Inventor: Jeremy G Harris
-
Patent number: 6581141Abstract: A system and method for optimally processing split request transactions across a PCI-X bridge with a PCI-X bridge buffer. The split transaction mode of the PCI-X bridge buffer is toggled between a No Over-commit mode and an over-commit mode. Over-commitment of the buffer is inhibited when the split transaction mode is toggled to the No Over-commit mode and when the buffer is over committed by the bridge. At least some over-commitment of the buffer is allowed by the bridge when the split transaction mode is toggled to the over-commit mode and when the buffer is not over committed by the bridge. The over-commit mode may be an Over-commitment mode or a Flood mode. The Over-commitment mode allows some degree of over commitment of the buffer by the bridge while the Flood mode allows the bridge to forward all split request transactions regardless of size of the transactions or amount of available space in the buffer when the Over-commit mode is in a Flood mode.Type: GrantFiled: May 18, 1999Date of Patent: June 17, 2003Assignee: International Business Machines CorporationInventors: Richard Allen Kelley, Danny Marvin Neal, Adalberto Guillermo Yanes
-
Patent number: 6581134Abstract: A FLASH memory is organized in a plurality of physical sectors which may be split into a plurality of singularly addressable logic sectors. Each logic sector may include a memory space of a predetermined size and a chain pointer assuming a neutral value or a value pointing to a second logic sector associated with a respective chain pointer at the neutral value. Each logic sector may also include a status indicator assuming at least one of a first value if the logic sector is empty, a second value if the data therein belongs to the logic sector, a third value if the data does not belong to the logic sector, and a fourth value if the data has been erased. Further, each logic sector may include a remap pointer assuming the neutral value or a value pointing directly or indirectly to the chain pointer of a third logic sector.Type: GrantFiled: March 26, 2001Date of Patent: June 17, 2003Assignee: STMicroelectronics S.r.l.Inventors: Alessandro Rocchi, Marco Bisio, Marco Pasotti, Pier Luigi Rolandi
-
Patent number: 6560690Abstract: A system and method for storing only one copy of a data block that is shared by two or more processes is described. In one embodiment, a global/non-global predictor predicts whether a data block, specified by a linear address, is shared or not shared by two or more processes. If the data block is predicted to be non-shared, then a portion of the linear address referencing the data block is combined with a process identifier that is unique to form a global/non-global linear address. If the data block is predicted to be shared, then the global/non-global linear address is the linear address itself. If the prediction as to whether or not the data block is shared is incorrect, then the actual value of whether or not the data block is shared is used in computing a corrected global/non-global linear address.Type: GrantFiled: December 29, 2000Date of Patent: May 6, 2003Assignee: Intel CorporationInventors: Herbert H. J. Hum, Stephan J. Jourdan, Deborrah Marr, Per H. Hammarlund
-
Patent number: 6557091Abstract: A data processing apparatus for handling multi-thread programs comprises a data processor coupled with a random-access memory containing a plurality of data objects. Each data object is accessed via respective pointers carried by memory stacks associated with respective threads. Periodically, a garbage collection procedure is applied to the random-access memory with those data objects having no extant pointers thereto from any source being identified and deleted. Subject to a locking constraint applied to some of the data objects, the remainder are compacted to free space in the memory. To enable localising of the garbage collection procedure, reference stacks are provided for each thread stack frame such as to identify, preferably via a per-thread reference table, data objects referenced from only a single frame, which objects are deleted on conclusion of that frame.Type: GrantFiled: May 29, 2001Date of Patent: April 29, 2003Assignee: Koninklijke Philips Electronics N.V.Inventor: Richard J. Houldsworth
-
Patent number: 6549989Abstract: A multiprocessor data processing system requires careful management to maintain cache coherency. Conventional systems using a MESI approach sacrifice some performance with inefficient lock-acquisition and lock-retention techniques. The disclosed system provides additional cache states, indicator bits, and lock-acquisition routines to improve cache performance. In particular, as multiple processors compete for the same cache line, a significant amount of processor time is lost determining if another processor's cache line lock has been released and attempting to reserve that cache line while it is still owned by the other processor. The preferred embodiment provides an additional cache state which specifically indicates that a processor has released its lock on a cache line after it has performed any necessary modifications.Type: GrantFiled: November 9, 1999Date of Patent: April 15, 2003Assignee: International Business Machines CorporationInventors: Ravi Kumar Arimilli, Lakshminarayana Baba Arimilli, John Steven Dodson, Guy Lynn Guthrie, William John Starke
-
Patent number: 6539464Abstract: Memory allocator combines private (per thread) sets of fixed-size free blocks lists, a global, common for all threads, set of fixed-sized free block lists, and a general-purpose external coalescing allocator. Blocks of size bigger than the maximal fixed size are managed directly by the external allocator. The lengths of fixed-size lists are changed dynamically in accordance with the allocation and disallocation workload. A service thread performs updates of all the lists and collects memory associated with terminated user threads. A mutex-free serialization method, utilizing thread suspension, is used in the process.Type: GrantFiled: March 23, 2001Date of Patent: March 25, 2003Inventor: Radoslav Nenkov Getov
-
Patent number: 6532523Abstract: Apparatus for processing memory access requests includes first and second state machines for controlling access to first and second memory banks and an arbiter. While the first state machine is processing a current memory access request for the first memory bank, the arbiter recieves a next memory access and determines wheather the next memory access request will interfere with the processing of the current memory access request. If no interference will occur, and if the next access request is directed to the second memory bank, the second state machine begins processing he next memory access request before completion of processing of the current memory access request. The second state machine begins processing of the next memory access request during a mandatory wait period implemented by the first state machine. The first and second state machines process the current and next memory access request concurrently.Type: GrantFiled: October 13, 1999Date of Patent: March 11, 2003Assignee: Oak Technology, Inc.Inventor: Ramesh Mogili
-
Patent number: 6519677Abstract: In a data processing network including a plurality of array controllers connected for communication to each other and a plurality of data storage devices, a method for coordinating exclusive write access by the plurality of controllers to a shared data region on said plurality of data storage devices comprising the steps of: at a first array controller, broadcasting an exclusive access request to all other array controllers having access to the shared data region and storing a non-volatile record of the write operation in the first controller; and at each controller receiving the exclusive access request, storing a non-volatile record of the write operation prior to sending an exclusive access grant to the first controller.Type: GrantFiled: April 20, 1999Date of Patent: February 11, 2003Assignee: International Business Machines CorporationInventor: Carlos Francisco Fuente
-
Patent number: 6507901Abstract: A method and computer program for allocating storage for a header and one or more data elements in a data storage facility are disclosed. The method and computer program include computing a hole size B that is a portion of a word that would be unallocated if storage were allocated to the header and to the data elements in a preferred order. The method and computer program include finding a subset of data elements S={Fi1, Fi2, . . . , Fin} that satisfy the equation (SizeModN(Fi1)+SizeModN(Fi2)+ . . . +SizeModN(Fin))mod N=B where N is the largest alignment requirement associated with any data element. The method and computer program include allocating storage to data elements in S first and allocating storage to the remaining elements in the preferred order. A lookup table and a method for building the lookup table are also disclosed.Type: GrantFiled: March 23, 2001Date of Patent: January 14, 2003Assignee: NCR CorporationInventors: Ramachandran Gopalakrishnan, Bhashyam Ramesh
-
Patent number: 6484228Abstract: During a compressing portion, memory (20) is divided into cache line blocks (500). Each cache line block is compressed and modified by replacing address destinations of address indirection instructions with compressed address destinations. Each cache line block is modified to have a flow indirection instruction as the last instruction in each cache line. The compressed cache line blocks (500) are stored in a memory (858). During a decompression portion, a cache line (500) is accessed based on an instruction pointer (902) value. The cache line is decompressed and stored in cache. The cache tag is determined based on the instruction pointer (902) value.Type: GrantFiled: November 5, 2001Date of Patent: November 19, 2002Assignee: Motorola, Inc.Inventors: Mauricio Breternitz, Jr., Roger A. Smith
-
Patent number: 6453399Abstract: A computer includes a storage device having a plurality of memory cells, being operable to output data stored in the memory cell corresponding to an address signal, and being operable to output a data output fixing signal attaining a predetermined level in response to output of the data, and a processing device operable to apply the address signal to the storage device, take in the data from the storage device in response to the fact that the data output fixing signal attains the predetermined level, and perform processing in accordance with the data. The storage device and the processing device may be formed on a single chip. The processing device can take in and process the data whenever the data output fixing signal is output. When the storage device operates under conditions better than the worst conditions, data processing can be performed before elapse of a maximum access time determined in a specification prescribed taking the worst conditions into consideration.Type: GrantFiled: April 23, 1997Date of Patent: September 17, 2002Assignee: Mitsubishi Denki Kabushiki KaishaInventor: Tomohisa Wada
-
Patent number: 6449682Abstract: The present invention relates to a system and method for inserting one or more files onto a mass storage device during a boot sequence. The method includes loading a content module containing at least one file into memory. The method further includes replacing a target module that is typically executed during a boot sequence with a utility module. The method also includes executing the utility module during the boot sequence to move the content module onto a mass storage device.Type: GrantFiled: June 18, 1999Date of Patent: September 10, 2002Assignee: Phoenix Technologies Ltd.Inventor: Arman Toorians
-
Patent number: 6442647Abstract: The invention enables reduction of latency time for receipt of data which has been requested from a disk system. The method enables use of a read command which enables a cache memory output to occur only when the read command has been completed. The method of the invention initially receives a read request from a host processor for a number of data blocks on a disk track (referred to as requested blocks), the requested blocks being a subset of blocks stored in the disk track. If the requested blocks are not already stored in a cache memory, the method constructs at least a first command to transfer the track to cache memory, the first command enabling identification of a last data block of the requested blocks. A second command is also prepared to transfer the track to cache memory, the second command enabling identification of the last block of the remaining set of blocks in the track.Type: GrantFiled: August 21, 1998Date of Patent: August 27, 2002Assignee: International Business Machines CorporationInventors: Robert Louis Morton, John Richard Paveza, Emily Theresa White, Shu-Ling Cathy Win
-
Patent number: 6430654Abstract: A multi-level cache and method for operation therefore includes a first non-blocking cache receiving access requests from a device in a processor, and a first miss queue storing entries corresponding to access requests not serviced by the first non-blocking cache. A second non-blocking cache is provided for receiving access requests from the first miss queue, and a second miss queue is provided for storing entries corresponding to access requests not serviced by the second non-blocking cache. Other queueing structures such as a victim queue and a write queue are provided depending on the particular structure of the cache level within the multilevel cache hierarchy.Type: GrantFiled: January 21, 1998Date of Patent: August 6, 2002Assignee: Sun Microsystems, Inc.Inventors: Sharad Mehrotra, Ricky C. Hetherington