Combining Two Or More Values To Create Address Patents (Class 711/220)
  • Patent number: 6985402
    Abstract: A programmable address generator comprising at least one input for receiving a first digital address of a data word in a first memory, to be converted into a second digital address of this same data word in a second memory, or conversely, comprising: at least two hierarchically interleaved counters, that can be individually parameterized for their initial offset, their increment value, and their maximum count; at least one programming register containing said parameters of each counter, these parameters depending on the addressing conversion function to be performed; and an adder of the first address with the counter results, said adder providing said second address.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: January 10, 2006
    Assignee: STMicroelectronics S.A.
    Inventor: Philippe Dreux
  • Patent number: 6976149
    Abstract: A mapping technique allows a forwarding engine of an intermediate node to efficiently compute a starting address within an internal packet memory (IPM) configured to hold a packet received at the node. The starting address is used by direct memory access logic to merge a trailer of the packet stored in the IPM with a modified packet header generated by the forwarding engine. However, the size of the IPM is preferably not a binary number that can be easily manipulated by the forwarding engine when computing the starting address of the packet within the IPM. Therefore, the technique automatically adjusts the starting address to map to a correct location if the address exceeds the size of the IPM, while obviating the need for the forwarding engine to consider a wrap-around condition when computing the starting address.
    Type: Grant
    Filed: February 22, 2001
    Date of Patent: December 13, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: William P. Brandt, Kenneth H. Potter, Jonathan Rosen
  • Patent number: 6973551
    Abstract: A method and system for enabling a director to perform an atomic read-modify-write operation on plural bit read data stored in a selected one of a plurality of memory locations. The method includes providing a plurality of successive full adders, each one of the full adders being associated with a corresponding one of the bits of the plural bit read data. Each one of the full adders has a summation output, a carry bit input and a carry bit output. The method includes adding in each one of the full adders: (a) a corresponding bit of plural bit input data provided by the director; (b) the corresponding one of the bits of the plural bit read data; and, (c) a carry bit fed the carry bit input from a preceding full adder. Each one of the full adders provides: (a) a carry bit on the carry output thereof representative of the most significant bit produced by the full adder; and, (b) a bit on the summation output representative of a least significant bit produced by the full adder.
    Type: Grant
    Filed: December 30, 2002
    Date of Patent: December 6, 2005
    Assignee: EMC Corporation
    Inventor: John K. Walton
  • Patent number: 6965980
    Abstract: Methods and apparatus for accessing memory locations in a memory device in different orders. In one implementation, a memory device includes: a memory array, including a plurality of memory locations divided into memory pages, where each memory location has a row address and a column address; a row decoder connected to the memory array for selecting a row address in the memory array; a column decoder connected to the memory array for selecting a column address in the memory array; and a multi-sequence address generator for generating addresses, where the multi-sequence address generator has a burst mode and in burst mode generates one of two or more burst sequences of addresses according to received burst parameters, and where each sequence has an index indicating the separation between two addresses in the sequence.
    Type: Grant
    Filed: February 14, 2002
    Date of Patent: November 15, 2005
    Assignees: Sony Corporation, Sony Electronics Inc.
    Inventor: Mark Champion
  • Patent number: 6963823
    Abstract: Design spaces for systems, including hierarchical systems, are programmatically validity filtered and quality filtered to produce validity sets and quality sets, reducing the number of designs to be evaluated in selecting a system design for a particular application. Validity filters and quality filters are applied to both system designs and component designs. Component validity sets are combined as Cartesian products to form system validity sets that can be further validity filtered. Validity filters are defined by validity predicates that are functions of discrete system parameters and that evaluate as TRUE for potentially valid systems. For some hierarchical systems, the system validity predicate is a product of component validity predicates. Quality filters use an evaluation metric produced by an evaluation function that permits comparing designs and preparing a quality set of selected designs. In some cases, the quality set is a Pareto set or an approximation thereof.
    Type: Grant
    Filed: February 10, 2000
    Date of Patent: November 8, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Santosh G. Abraham, Robert S. Schreiber, B. Ramakrishna Rau
  • Patent number: 6952762
    Abstract: A data storage device is disclosed that, in response to a data output request, outputs stored data beginning with a selected output start address. The disclosed data storage device is characterized in that the selectable output start addresses exhibit such slight spacings from one another that the amount of data storable between neighboring output start addresses is smaller than the amount of data output in response to a data output request. As a result thereof, the plurality of accesses onto the data storage device can be reduced to a minimum.
    Type: Grant
    Filed: July 1, 1999
    Date of Patent: October 4, 2005
    Assignee: Infineon Technologies AG
    Inventor: Stefan Pfab
  • Patent number: 6950922
    Abstract: A data extraction/insertion device in a digital signal processor and a method thereof are provided. The data extraction/insertion method is performed in a digital signal processor including a source register and a destination registr. In this digital signal processor, data is extracted from the source register and inserted into the destination register using a position value, which represents the reference position of data extraction, and an offset value, which represents the size of data to be extracted. Accordingly, a sequence of data packets, the size of which are given in neither byte nor word unit, are effectively extracted or inserted, thus saving the space of a memory.
    Type: Grant
    Filed: March 13, 2003
    Date of Patent: September 27, 2005
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Seung-jae Chung, Yong-chun Kim
  • Patent number: 6948005
    Abstract: A storage unit stores ranges of devices allocated for each sequence program. A device range checking unit sequentially extracts device notations indicating consecutive areas and commands specifying consecutive devices present in a sequence program, expands devices of the corresponding consecutive areas, and checks whether or not devices of consecutive areas are within a range of devices stored in the storage unit. The device range checking unit sequentially extracts device notations indicating consecutive areas and commands specifying consecutive devices present in a sequence program, expands devices of the corresponding consecutive areas, and checks whether or not devices of consecutive areas are within a range of devices stored in the storage unit.
    Type: Grant
    Filed: September 13, 2004
    Date of Patent: September 20, 2005
    Assignee: Mitsubishi Denki Kabushiki Kaisha
    Inventors: Tsuyoshi Nishimaki, Makoto Nonomura, Tomoyuki Suga, Kenji Hirota, Yoshiaki Gotou
  • Patent number: 6941445
    Abstract: A resampling address generator updates period data in a resampling period address register when the periods of input and output clocks are not stable, and generates a read address by supplying the output of a register to an accumulative adder. When the periods of the input and output clocks are stable, and a command is internally or externally received, the resampling address generator stops updating of the period data in the register, and generates the read address by supplying the output of the register to the accumulative adder. When the updating of the period data in the register is stopped, and a phase difference detector finds that the phase difference between the write address and the read address is outside a predetermined allowable range, the data in the register is updated based on correction data, and the read address is generated by supplying the output of the register to the accumulative adder.
    Type: Grant
    Filed: September 13, 2002
    Date of Patent: September 6, 2005
    Assignee: Sony Corporation
    Inventor: Nobuyuki Yasuda
  • Patent number: 6934827
    Abstract: One embodiment of the present invention provides a system that facilitates avoiding collisions between cache lines containing objects and cache lines containing corresponding object table entries. During operation, the system receives an object identifier for an object, wherein the object identifier is used to address the object in an object-addressed memory hierarchy. The system then applies a mapping function to the object identifier to compute an address for a corresponding object table entry associated with the object, wherein the mapping function ensures that a cache line containing the object table entry does not collide with a cache line containing the object.
    Type: Grant
    Filed: March 13, 2003
    Date of Patent: August 23, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory M. Wright, Mario I. Wolczko, Matthew L. Seidl
  • Patent number: 6934817
    Abstract: The present invention provides a method, apparatus, and system for controlling memory accesses to multiple memory zones in an isolated execution environment. A processor having a normal execution mode and an isolated execution mode generates an access transaction. The access transaction is configured using a configuration storage that stores configuration settings. The configuration settings include a plurality of subsystem memory range settings defining memory zones. The access transaction also includes access information. A multi-memory zone access checking circuit, coupled to the configuration storage, checks the access transaction using at least one of the configuration settings and the access information. The multi-memory zone access checking circuit generates an access grant signal if the access transaction is valid.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: August 23, 2005
    Assignee: Intel Corporation
    Inventors: Carl M. Ellison, Roger A. Golliver, Howard C. Herbert, Derrick C. Lin, Francis X. McKeen, Gilbert Neiger, Ken Reneris, James A. Sutton, Shreekant S. Thakkar, Millind Mittal
  • Patent number: 6931508
    Abstract: In an information processing device, a first address adder generates a first address representing a target for write of data or a storage location of data to be read. A second address adder generates a second address by adding 8 to the first address. First to seventh selectors appropriately select either the first address or the second address, and supply the selected address to first to seventh memory areas, respectively. An eighth memory area is supplied with the first address.
    Type: Grant
    Filed: December 13, 2002
    Date of Patent: August 16, 2005
    Assignee: Fujitsu Limited
    Inventors: Hiroshi Okano, Fumihiko Hayakawa
  • Patent number: 6925547
    Abstract: A method of performing remote address translation in a multiprocessor system includes determining a connection descriptor and a virtual address at a local node, accessing a local connection table at the local node using the connection descriptor to produce a system node identifier for a remote node and a remote address space number, communicating the virtual address and remote address space number to the remote node, and translating the virtual address to a physical address at the remote node (qualified by the remote address space number). A user process running at the local node provides the connection descriptor and virtual address. The translation is performed by matching the virtual address and remote address space number with an entry of a translation-lookaside buffer (TLB) at the remote node. Performing the translation at the remote node reduces the amount of translation information needed at the local node for remote memory accesses.
    Type: Grant
    Filed: December 14, 2001
    Date of Patent: August 2, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven L. Scott, Chris Dickson, Eric C. Fromm, Michael L. Anderson
  • Patent number: 6922766
    Abstract: A remote translation mechanism for a multi-node system. One embodiment of the invention provides a method for remotely translating a virtual memory address into a physical memory address in a multi-node system. The method includes providing the virtual memory address at a source node, determining that the virtual memory address is to be sent to a remote node, sending the virtual memory address to the remote node, and translating the virtual memory address on the remote node into a physical memory address using a remote-translation table (RTT). The RTT contains translation information for an entire virtual memory address space associated with the remote node.
    Type: Grant
    Filed: September 4, 2002
    Date of Patent: July 26, 2005
    Assignee: Cray Inc.
    Inventor: Steven L. Scott
  • Patent number: 6922768
    Abstract: To provide a nonvolatile storage device and control method thereof which improve convenience of portable devices by shortening initialization time. In generating a data validity table at initialization, a control part firstly reads out a validity flag and a second translation table. In the case where the validity flag is valid, logical blocks in the second translation table are valid. For that reason, the fourth table generation means can set all logical blocks in the second translation table as being valid, in the data validity table. In a single reading as mentioned above, the fourth table generation means can carry out setting with respect to a plurality of logical blocks. Further, with respect to a partial logical block which is set as being valid in the data validity table, it is possible to bypass reading out the data validity flag of the block and proceed to operation of next partial logical block.
    Type: Grant
    Filed: August 16, 2002
    Date of Patent: July 26, 2005
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Toshiyuki Honda, Tetsushi Kasahara, Masayuki Toyama, Teruo Akashi, Keisuke Sakai
  • Patent number: 6918024
    Abstract: An address generating circuit, in which address generation by a modulo addition is executed at high speed, is provided. The address generating circuit makes, a two input adder that adds an address and a renewing step, a three input adder and subtracter that adds the address and the renewing step and further adds the size of a modulo area to this added result or subtracts the size of the modulo area from this added result, and a selection judging circuit that generates a selection signal for selecting one of the outputs from the two input adder and the three input adder and subtracter, work in parallel and independently. And a multiplexer selects one of the outputted results from the two input adder and the three input adder and subtracter based on the selection signal from the selection judging circuit.
    Type: Grant
    Filed: July 24, 2002
    Date of Patent: July 12, 2005
    Assignee: NEC Corporation
    Inventor: Daiji Ishii
  • Patent number: 6915408
    Abstract: One of the primary difficulties that result from using static variables in multi-threaded computer programs is that changes to a static variable made by one thread will be seen by all other threads operating within the same process. Multiple threads cannot use static variables separately because other threads within the process can overwrite the values stored at the variable memory location. Thus, the development of multi-threaded programs using static variables often requires explicit thread harmonization by the programmer. Another problem is that threads within the same process must use unique static variable IDs to avoid reading or writing to the location of another static variable. This also requires thread harmonization by the programmer. Accordingly, in view of the shortcomings associated with existing thread-static data implementations, there remains a need for an efficient thread-static data implementation that can be used on most modern operating systems.
    Type: Grant
    Filed: October 17, 2002
    Date of Patent: July 5, 2005
    Assignee: International Business Machines Corporation
    Inventor: Matthew A. Huras
  • Patent number: 6915396
    Abstract: The invention describes a system for and a method of creating and using dependencies to determine the order of servicing transaction requests in a multiple queue environment. When more than one outstanding transaction affects the same memory location, dependencies are established to ensure the correct sequencing of the competing transactions. In a preferred embodiment the dependency is configured to ensure that, as each request is inserted, other outstanding requests are checked to determine if the same memory location is accessed. If the same memory location is affected, a dependency is created which ensures the youngest queue entry which is present at the time the check is made occurs before the present outstanding request.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: July 5, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Duane A Wiens, Robert F. Krick
  • Patent number: 6915393
    Abstract: The disclosed embodiments relate to a device for generating physical addresses in a multi-processor computer system. The computer system may be adapted to support multiple physical memory partitions. Agent IDs for each of a plurality of processors may be used to correspond with a partition offset, which may be used to define a separate physical memory partition for each processor. The partition offset may be used with a virtual address to form a physical address.
    Type: Grant
    Filed: January 7, 2003
    Date of Patent: July 5, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: David L. Collins, Steven Ray Dupree
  • Patent number: 6915407
    Abstract: A method and apparatus for a source synchronous address receiver for a system bus. In one embodiment, a flow-through between a system bus address input to a memory bus is controlled by two inputs: one is a source synchronous address strobe directing the receiver to latch the address and store data, while the other is a protocol signal, signaling the beginning of the address transfer. A flow-through circuit generates an enable signal in response to a digital address strobe signal and a digital address select signal to generate, prior to receipt of the address packet, an enable signal for a flow-through gate having the address packet and the enable signal as inputs. The flow-through gate provides the first component of the digital address packet (transaction address) to a chipset once the digital address packet appears on the address pin. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 30, 2004
    Date of Patent: July 5, 2005
    Assignee: Intel Corporation
    Inventors: Srinivasan T. Rajappa, Romesh B. Trivedi, Rajagopal Subramanian, Zohar Bogin, Serafin Garcia
  • Patent number: 6912616
    Abstract: One embodiment of the invention is a memory controller that maps a received address to a memory location in a plurality of memory banks, the memory controller comprising: circuitry for calculating a remainder from a division of the received address by a divisor, wherein the divisor is based on the number of the plurality of banks; circuitry for determining a particular bank of the plurality of banks based on the remainder and at least one bit of the received address; and circuitry for determining the memory location in the particular bank using at least a portion of the received address.
    Type: Grant
    Filed: November 12, 2002
    Date of Patent: June 28, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Mark A. Heap
  • Patent number: 6912646
    Abstract: Prior art storage techniques have certain limitations, including requiring additional external resources to implement and not making use of all of the available storage space. A method and apparatus using a header table and, in some cases, an alternative access interface are described which allow for more efficient use of available memory space, permit an arbitrary number of data streams to be stored and accessed with a minimal interface, and provide for a simple serial connection to chain multiple memory devices together.
    Type: Grant
    Filed: January 6, 2003
    Date of Patent: June 28, 2005
    Assignee: XILINX, Inc.
    Inventor: Arthur H. Khu
  • Patent number: 6912645
    Abstract: Data storage techniques particularly well-suited for use in archival data storage are disclosed. In one aspect of the invention, a data block is processed to generate an address as a function of the contents of the data block, and the data block is then stored in the system in a memory location identified by the address. The processing operation is configured to provide write-once archival storage of the data block, in that the contents of the data block are not modifiable without also altering the address of the data block determinable in the processing operation. In an illustrative embodiment, the processing of the data block involves determining a substantially unique identifier of the data block by applying a collision-resistant hash function to the contents of the data block, and the address is subsequently determined from the substantially unique identifier by utilizing the identifier to perform a lookup of the address in an index.
    Type: Grant
    Filed: July 18, 2002
    Date of Patent: June 28, 2005
    Assignee: Lucent Technologies Inc.
    Inventors: Sean Matthew Dorward, Sean Quinlan
  • Patent number: 6912643
    Abstract: The present invention provides an architecture and method for increasing the performance and resource utilization of networked storage architectures by use of hardware-based storage element mapping. The architecture utilizes a customized programmable processing element to map host read or write commands to physical storage element commands. The present invention uses a plurality of data structures, such as tables, to map host read and write commands to physical storage elements. The hardware-based storage element mapping controller uses the tables, including a mapping segment descriptor table, to map from global address space addresses to physical storage element addresses.
    Type: Grant
    Filed: November 15, 2002
    Date of Patent: June 28, 2005
    Assignee: Aristos Logic Corporation
    Inventor: Robert Horn
  • Patent number: 6907511
    Abstract: An instruction-set-aware method for reducing transitions on an irredundant address bus comprises receiving a first address for communication to a memory on an irredundant address bus. The method retrieves an instruction from a memory location indicated by the first address, transmits the instruction on a data bus, and determines a category of the instruction. The method predicts a second address based, at least in part, on the first address, the instruction, and the category of the instruction.
    Type: Grant
    Filed: January 14, 2003
    Date of Patent: June 14, 2005
    Assignees: Fujitsu Limited, University of Southern California
    Inventors: Farzan Fallah, Yazdan Aghaghiri, Massoud Pedram
  • Patent number: 6901501
    Abstract: In a memory access process, by identifying the types of memories that can be activated without reducing operating speed and by reducing power consumption, a data processor capable of operating at a high memory-accessing speed is provided. Because memory types can often be differentiated based only on partial bits of the address obtained by addition, a partial bit adder and decision logic are used to make this differentiation at high speed. Because the partial addition preferably does not take into account the possible carry from the lower bits, two types of memories are chosen from memories and are both operated in case the carry should be “1” and in case it should be “0.” The result is chosen by a multiplexor and is output. A determination of the entry address of the memory may be similarly carried out by dividing the memory into odd and even entry number banks and utilizing a partial bit adder.
    Type: Grant
    Filed: April 7, 2004
    Date of Patent: May 31, 2005
    Assignee: Renesas Technology Corp.
    Inventors: Makoto Ishikawa, Fumio Arakawa
  • Patent number: 6895488
    Abstract: An apparatus comprising a memory, a plurality of modules, an address translation unit and a controller. The memory may be arranged as a plurality of memory banks. Each of the plurality of modules may be configured to generate one or more addresses for accessing a particular one of the plurality of memory banks. The address translation unit may be configured to modify the one or more addresses in response to a control signal. The controller may be configured to generate the control signal in response to a computer executable instruction.
    Type: Grant
    Filed: May 22, 2002
    Date of Patent: May 17, 2005
    Assignee: LSI Logic Corporation
    Inventors: Ho-Ming Leung, Wern-Yan Koe, Fan Zhang, Kasturiranga N. Rangam, Venkatesh Balasubramanian
  • Patent number: 6889307
    Abstract: A memory organization supports a basic page size and an extended page size. A certain portion of its memory cells are dual-addressable memory cells which may be used to provide the additional memory required for the extended pages or alternatively may be used to provide additional memory within a basic page. A memory array is preferably implemented as basic pages and directly addressed to support the basic page size. The received addresses are translated to map each extended page into a portion of a basic page to support the extended pages. In one embodiment, high order row addresses are conveyed for use as high-order column addresses, and the high-order row addresses overridden, to map each extended page into a contiguous block of basic pages.
    Type: Grant
    Filed: November 16, 2001
    Date of Patent: May 3, 2005
    Assignee: Matrix Semiconductor, Inc.
    Inventor: Roy E. Scheuerlein
  • Patent number: 6886088
    Abstract: The present invention is directed to a memory that allows two simultaneous read requests with improved density. In an aspect of the present invention, a memory module includes at least two primary memory sub-modules and an additional memory sub-module including a sum of values located in the at least two primary memory sub-modules at corresponding addresses. The sum of the additional memory module enables at least two simultaneous read requests to be performed.
    Type: Grant
    Filed: December 3, 2002
    Date of Patent: April 26, 2005
    Assignee: LSI Logic Corporation
    Inventors: Egor A. Andreev, Anatoli A. Bolotov, Ranko Scepanovic, Alexander E. Andreev
  • Patent number: 6883171
    Abstract: A multi-tasking operating system and method updates PCI address values in an extension register to ensure that various threads utilize the correct values when accessing peripheral PCI devices. When application program threads require access to a PCI device, the operating system writes the high order bits of the PCI device address to two places: (1) the extension register of the PCI host bridge to allow immediate addressing of the PCI device, and (2) separate memory locations associated with the threads. When a context switch occurs from a first thread to a second thread, the operating system retrieves the stored value from the memory location associated with the second thread and writes the value to the extension register. In this manner, when the second thread requires access to its PCI device, the proper address value is already located in the extension register.
    Type: Grant
    Filed: June 2, 1999
    Date of Patent: April 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Ray A. Bittner, Jr., Michael Ginsberg
  • Patent number: 6883072
    Abstract: A memory system and method of using same are provided. In one embodiment of the present invention, the memory system may include a plurality of logic sections that may be used to facilitate execution of relatively complex atomic read-modify-write operations.
    Type: Grant
    Filed: April 7, 2003
    Date of Patent: April 19, 2005
    Assignee: EMC Corporation
    Inventors: John K. Walton, Christopher S. MacLellan
  • Patent number: 6883082
    Abstract: A circuit generally comprising a memory and a core module is disclosed. The memory may be configured as (i) a first stack having a plurality of index pointers and (ii) a table having a plurality of entries. The core module may be configured to (i) pop a first index pointer of the index pointers from the first stack in response to receiving a first command generated by a first module external to the circuit, (ii) assign a first entry of the entries identified by the first index pointer to the first module, (iii) generate an address in response to converting the first index pointer and (iv) transfer the address to the first module.
    Type: Grant
    Filed: December 19, 2002
    Date of Patent: April 19, 2005
    Assignee: LSI Logic Corporation
    Inventors: Qasim R. Shami, Jagmohan Rajpal
  • Patent number: 6880022
    Abstract: A computer has a hardware memory arranged into portions that are separately addressable using first identifiers, which are represented using a first number of address bits. A subsystem that is able to address a second space of the hardware memory using second identifiers initiates I/O requests directed to a device that is able to address a different, first memory space using first identifiers, which are represented using a second number of address bits. The second identifiers are initially mapped into the second memory space, but for any I/O request that meets a remapping criterion, the corresponding second identifier is remapped to one of the first identifiers that identifies a portion of the memory in the first memory space. The second space is different from the first space and the second number of address bits is greater less than the first number of address bits.
    Type: Grant
    Filed: April 19, 2004
    Date of Patent: April 12, 2005
    Assignee: VMware, Inc.
    Inventors: Carl A. Waldspurger, Michael Nelson, Kinshuk Govil
  • Patent number: 6880065
    Abstract: A method and system thereof for managing a computer system memory, where the memory is structured as contiguous memory chunks, each chunk having a header. A chunk header includes a first offset value, a sign bit associated with the first offset value, and a number of bits having values that are added to a second offset value that is determined from the first offset value. The second offset value is then used for determining an actual offset value that is applied to a base address to provide a memory location of the memory chunk. In one such embodiment, the first offset value includes 23 bits (plus the sign bit), the number of bits added to the second offset value is two, and the actual offset value includes 27 bits (plus the sign bit). As such, up to 128 MB of memory can be addressed.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: April 12, 2005
    Assignee: palmOne, Inc.
    Inventor: Alexandre Roux
  • Patent number: 6877082
    Abstract: A disclosed address generation system includes a decrementer and a multiplexer. The decrementer produces a decremented address signal by subtracting a first integer value from an incremented address signal. The multiplexer produces either the incremented address signal or the decremented address signal dependent upon a control signal. A described instruction fetch apparatus includes an instruction queuing and selection subsystem producing either an even portion or an odd portion of an instruction data block, specified by a first address signal, as a fetched instruction dependent upon one or more control signals generated based on determining bits of second and third address signals. A disclosed central processing unit (CPU) includes an instruction cache and a processor core, wherein the processor core includes an address generation subsystem generating the first, second, and third address signals, and the instruction queuing and selection subsystem. A method is described for fetching an instruction.
    Type: Grant
    Filed: December 23, 2002
    Date of Patent: April 5, 2005
    Assignee: LSI Logic Corporation
    Inventor: Frank Worrell
  • Patent number: 6877161
    Abstract: Efficient address calculation of invariant reference within a run-time environment is attained by a self-relative numeric reference format for run-time storage of references. A self-relative numeric reference format specifies the location of a reference object relative to a pointer to the referencing object as an integer value. The machine pointers and numeric references may be tagged, and a tag assignment is disclosed so that a self-relative numeric reference is generated from machine pointers by calculating a pointer difference, and a machine pointer to the referenced object is generated by adding the self-relative numeric reference to a machine pointer to the referencing object.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: April 5, 2005
    Assignee: Oracle International Corp.
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6877069
    Abstract: An address translation logic and method for generating an instruction's operand address. The address generation logic includes an address generation circuit having adders that perform partial sum additions of the instruction operand's base register value with a displacement value in the instruction. The address generation logic also includes a carry prediction history block associated with the instruction that provides predicted carry-in values to the adders during the partial sum addition operation. In a related embodiment, the carry prediction history block that, in an advantageous embodiment, is appended to the instruction includes a predicted row access select (RAS) carry-in value, a predicted column access select (CAS) carry-in value and a confirmation flag that indicates whether the previous carry-in predictions for the previous predicted RAS and CAS carry-in values for the instruction were correct.
    Type: Grant
    Filed: March 28, 2002
    Date of Patent: April 5, 2005
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6874081
    Abstract: A link address/sequential address generation circuit is provided for generating a link/sequential address. The circuit receives the most significant bits of at least two addresses: a first address of a first set of bytes including a branch instruction and a second address of a second set of bytes contiguous to the first set. The least significant bits of the branch PC (those bits not included in the most significant bits of the addresses received by the circuit) are used to generate the least significant bits of the link/sequential address and to select one of the first address and the second address to supply the most significant bits.
    Type: Grant
    Filed: May 17, 2001
    Date of Patent: March 29, 2005
    Assignee: Broadcom Corporation
    Inventors: David A. Kruckemyer, Daniel C. Murray
  • Patent number: 6871262
    Abstract: Methods and apparatus are disclosed for matching a string with multiple lookups using a single associative memory, such as, but not limited to binary and ternary content-addressable memories (CAMs). In one implementation, an information string is partitioned into multiple segments. A first lookup operation is performed on the associative memory using the first segment to produce a first associative memory result, which is used as input to a memory lookup operation to produce a first result. The first result can be programmed to have any desired value or length. This first result along with a second segment of the information string is then used as input to the same associative memory to produce a second associative memory result, which is typically used as input to a memory lookup operation to produce a second result. This process can be repeated for an arbitrary or predetermined number of times.
    Type: Grant
    Filed: February 14, 2002
    Date of Patent: March 22, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Eyal Oren, David E. Belz
  • Patent number: 6868489
    Abstract: Embodiments are provided in which the generation of a carry of a sum of two numbers can be implemented by adding only some most significant bits of the two numbers and assuming that the sum of the remaining bits do not generate a carry. Other embodiments are also provided in which the generation of the carry of a sum of the two numbers can be implemented using carry look-ahead techniques wherein generate and propagate terms are generated. By combining the product terms of the carry function and combining pairs of propagate or generate terms, the generation of the carry of the sum of the two numbers can be implemented in an And-Or-Inverter function less complex than that of prior art. Still other embodiments are provided in which one operand of a carry generation circuit comes from a fixed source and the other operand is selected from several forwarding sources.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: March 15, 2005
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6865660
    Abstract: A system and method for rapidly generating a series of non-repeating, deterministic, pseudo-random addresses is disclosed. A deterministic, pseudo-random number generator is implemented in hardware. Once a number in a pseudo-random sequence is generated, a pattern eliminator alters the number to remove any pattern existing in the low order bits. The number may then be combined with an offset and a base to form a memory address for testing a memory device. The generated memory address is output directly to the memory device being tested.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: March 8, 2005
    Assignee: Micron Technology, Inc.
    Inventor: Kevin Duncan
  • Patent number: 6865659
    Abstract: One embodiment of the present invention provides a system that accesses a desired element during execution of a program. During operation, the system receives a reference to the desired element. The system determines if the reference is an internal reference to a location in a local package that is currently executing, or an external reference to a location in an external package. If the reference is an external reference, the system uses an index component of the reference to lookup an address for the desired element in a global reference table. Next, the system uses the address to access the desired element. Note that the address retrieved from the global reference table is larger than the reference, which allows the address to access a larger address space than is possible to access with the reference alone.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: March 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Oscar A. Montemayor
  • Patent number: 6851039
    Abstract: In the method of generating an interleaved address, each 2^i mod (p?1) value for i=0 to x?1 is stored. Here, p is a prime number dependent on a block size K of a data block being processed and x is greater than one. An inter-row sequence number is multiplied with a column index number to obtain a binary product. Both the inter-row sequence number and the column index number are for the block size K and the prime number p. Then, each binary component of the binary product is multiplied with a respective one of the stored 2^i mod (p?1) values to obtain a plurality of intermediate mod value. An intra-row permutation address is generated based on the plurality of intermediate mod values, and an interleaved address is generated based on the intra-row permutation address.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: February 1, 2005
    Assignee: Lucent Technologies Inc.
    Inventor: Mark Andrew Bickerstaff
  • Patent number: 6851041
    Abstract: A pipelined data processing unit includes an instruction sequencer and n functional units capable of executing n operations in parallel. The instruction sequencer includes a random access memory for storing very-long-instruction-words (VLIWs) used in operations involving the execution of two or more functional units in parallel. Each VLIW comprises a plurality of short-instruction-words (SIWs) where each SIW corresponds to a unique type of instruction associated with a unique functional unit. VLIWs are composed in the VLIW memory by loading and concatenating SIWs in each address, or entry. VLIWs are executed via the execute-VLIW (XV) instruction. The iVLIWs can be compressed at a VLIW memory address by use of a mask field contained within the XV1 instruction which specifies which functional units are enabled, or disabled, during the execution of the VLIW. The mask can be changed each time the XV1 instruction is executed, effectively modifying the VLIW every time it is executed.
    Type: Grant
    Filed: September 24, 2002
    Date of Patent: February 1, 2005
    Assignee: PTS Corporation
    Inventors: Gerald G. Pechanek, Juan Guillermo Revilla, Edwin Franklin Barry
  • Patent number: 6851040
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented memory addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations. A method includes providing a first segment selector for deriving a linear address of a segment descriptor in a first descriptor table and providing a second segment selector for deriving a linear address of a segment descriptor in a second descriptor table. The method also includes attempting an access of the first descriptor table to derive a segment descriptor, and if the access of the first descriptor table fails, attempting an access of the second descriptor table to derive a segment descriptor. The method also includes storing a derived segment descriptor from a successful attempted access in a descriptor register.
    Type: Grant
    Filed: August 15, 2001
    Date of Patent: February 1, 2005
    Assignee: Transmeta Corporation
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 6848040
    Abstract: Column addresses are generated by a burst controller that includes respective latches for the three low-order bits of a column address. The two higher order bits of the latched address bits and their compliments are applied to respective first multiplexers along with respective bits from a burst counter. The first multiplexers apply the latched address bits and their compliments to respective second multiplexers during a first bit of a burst access, and bits from a burst counter during the remaining bits of the burst. The second multiplexers are operable responsive to a control signal to couple either the latched address bits or their compliments to respective outputs for use as an internal address. The control signal is generated by an adder logic circuit that receives the two low-order bits of the column address.
    Type: Grant
    Filed: April 15, 2003
    Date of Patent: January 25, 2005
    Assignee: Micron Technology, Inc.
    Inventor: Duc V. Ho
  • Patent number: 6845439
    Abstract: A method for accessing hardware I/O control blocks, which are stored in an hardware I/O control block array, by a parallel SCSI host adapter addresses one page in a plurality of pages of the hardware I/O control block array for the parallel SCSI host adapter using a first portion of a hardware I/O control block array pointer in the parallel SCSI host adapter. The one page includes a plurality of storage sites for hardware I/O control blocks. A hardware I/O control block stored in the one page is addressed using a second portion of the hardware I/O control block array pointer in the parallel SCSI host adapter. Addressing the hardware I/O control block stored in the one page includes using a tag supplied by a reconnecting SCSI target as the second portion.
    Type: Grant
    Filed: May 31, 2001
    Date of Patent: January 18, 2005
    Assignee: Adaptec, Inc.
    Inventor: B. Arlen Young
  • Patent number: 6845440
    Abstract: A system for detecting/avoiding memory usage conflicts when generating and merging multi-threaded software test cases. Initially, a test case generator is given a unique segment of memory which it can use. A plurality of test cases are generated, one at a time, by the test case generator. When the first test case is generated, the memory segment used is noted. When each of the second through Nth test cases is generated, a memory segment of the same size as the first test case, but not overlapping that of the previously assigned test case(s), is assigned to each subsequent test case.
    Type: Grant
    Filed: November 11, 2002
    Date of Patent: January 18, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ryan C. Thompson, John W. Maly
  • Patent number: 6839827
    Abstract: Disclosed is a method, system, program, and data structure for a storage controller to map logical blocks to physical storage blocks. The storage controller is in communication with at least one host system that views a logical storage space. The storage controller defines the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space. The storage controller further defines a physical storage space as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical blocks in the physical storage system. The storage controller associates each logical chunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system. Further, the contiguous logical chunks are capable of being associated with non-contiguous physical chunks.
    Type: Grant
    Filed: January 18, 2000
    Date of Patent: January 4, 2005
    Assignee: International Business Machines Corporation
    Inventors: Brent Cameron Beardsley, Matthew Joseph Kalos
  • Patent number: 6836835
    Abstract: The present invention relates to central processing units in computer systems, and in particular, it relates to a method and a respective hardware implementation of an add operation and a subtract operation. A combined add and subtract/compare logic is disclosed comprising: adding a less significant part of two add operands for generating a carry-out bit using a first carry network, adding a respective more significant part of the add operands for bit wise generating sum bits and carry bits, performing a combined subtract operation by bit wise operating a second carry network with respective bits of the more significant part of the subtract operand, and with respective ones of said sum bits, and said carry-out bit of said less significant part add operation, and the carry-out bits of said more significant part add operation. Speed is increased and chip area is saved.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: December 28, 2004
    Assignee: International Business Machines Corporation
    Inventors: Wilhelm E. Haller, Harald Mielich