Incrementing, Decrementing, Or Shifting Circuitry Patents (Class 711/219)
  • Patent number: 7035960
    Abstract: A method for increasing the internal memory in a processor. The method includes providing an extended memory in the processor, adding bits to data addresses and register addresses with an address extender, and adding bits to stack addresses with a stack pointer generator so that the processor is capable of accessing memory addresses larger than the bit width of the command set of the processor. The method also includes carrying over the bits when the stack address exceeds the limit of the conventional memory and accessing the stack data exceeding the limit of the conventional memory in the extended memory.
    Type: Grant
    Filed: October 15, 2003
    Date of Patent: April 25, 2006
    Assignee: Mediatek Inc.
    Inventors: Li-Chun Tu, Ping-Sheng Chen, Pao-Ching Tseng, Hung-Cheng Kuo
  • Patent number: 7032100
    Abstract: A processor architecture and instruction set is provided that is particularly well suited for cryptographic processing. A variety of techniques are employed to minimize the complexity of the design and to minimize the complexity of the interconnections within the device, thereby reducing the surface area required, and associated costs. A variety of techniques are also employed to ease the task of programming the processor for cryptographic processes, and to optimize the efficiency of instructions that are expected to be commonly used in the programming of such processes. In a preferred low-cost embodiment, a single-port random-access memory (RAM) is used for operand storage, few data busses and registers are used in the data-path, and the instruction set is optimized for parallel operations within instructions.
    Type: Grant
    Filed: December 17, 1999
    Date of Patent: April 18, 2006
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: George Samuel Fleming, Farrell L. Ostler, Antoine Farid Dagher
  • Patent number: 7017028
    Abstract: An apparatus and method are provided for updating one or more pluralities of pointers (i.e. one or more vector pointers) which are used for accessing one or more pluralities of data elements (i.e. one or more vector data elements) in a multi-ported memory. A first register file holds the vector pointers, a second register file holds stride data, and a plurality of functional units combine data from the second register file with data from the first register file. The results of combining the data are transferred to the first register file and represent updated vector pointers. Furthermore, a third register file is provided for holding modulus selector data to specify the size of a circular buffer for circular addressing.
    Type: Grant
    Filed: March 14, 2003
    Date of Patent: March 21, 2006
    Assignee: International Business Machines Corporation
    Inventors: Shay Ben-David, Jeffrey Haskell Derby, Thomas W. Fox, Fredy Daniel Neeser, Jamie H. Moreno, Uzi Shvadron, Ayal Zaks
  • Patent number: 7017027
    Abstract: An address-counter control system includes a counter circuit, path switches, and a control circuit. The counter circuit includes a first series of address counters which corresponds to a non-contiguous region portion and second and third series of address counters which correspond to respective contiguous region portions and which are located at two opposite ends of the first series of address counters. The path switches are provided at connection paths between the second and the third series of address counters. The path switches disconnect the first series of address counters and directly connect the second and third series of address counters or disconnect the direct connection between the second and third series of address counters and connect the first series of address counters to and between the second and the third series of address counters. The control circuit control the path switches.
    Type: Grant
    Filed: September 24, 2003
    Date of Patent: March 21, 2006
    Assignees: Elpida Memory, Inc., Hitachi ULSI Systems Co., Ltd., Hitachi, Ltd.
    Inventors: Tomoyuki Inaba, Kiyoshi Nakai, Hideaki Kato
  • Patent number: 7000064
    Abstract: In one embodiment of the present invention, there is disclosed, a method of handling data which is being written to and stored in flash memory, wherein input data, comprising information data and overhead data, undergoes a reversible transformation before being written to flash memory whereupon each bit stored in flash memory, as flash data, is a function of both information data and header data.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: February 14, 2006
    Assignee: Lexar Media, Inc.
    Inventors: Robert Edwin Payne, Peter John Smith
  • Patent number: 6976158
    Abstract: A processor for processing an interruptible repeat instruction is provided. The repeat instruction may include an immediate operand specifying a loop count value corresponding to the number of times that the loop is to be repeated. Alternatively, the repeat instruction may include an address of a register which holds the loop count value. The instruction immediately following the repeat instruction is the target instruction for repetition. The processing includes repeating execution of the target instruction according to the loop count value in a low processor cycle overhead manner. The processing may also include handling interrupts during repeat instruction processing in a low-overhead manner during the initial call of the interrupt service routine as well as upon returning from the interrupt service routine.
    Type: Grant
    Filed: June 1, 2001
    Date of Patent: December 13, 2005
    Assignee: Microchip Technology Incorporated
    Inventors: Michael Catherwood, Joseph W. Triece
  • 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: 6970526
    Abstract: During decoding and processing of program clock reference (PCR) values in MPEG-2 transport streams, a first initial difference value is obtained by calculating a difference between a first detected PCR value and a system time clock (STC) value generated when the first PCR value is detected. Depending on the update status of the PCR values, a second initial difference value is obtained by calculating a difference between a second detected PCR value and a STC value generated when the second PCR value is detected. Thereafter, a composite difference value is obtained by further calculating a difference between the first initial difference value and the second initial difference value. Subsequently, the first and second initial difference values, and the composite difference values are calculated for a predetermined number of detected PCR values so that the decoder clock signal is generated and maintained at approximately the same frequency as an encoder clock signal.
    Type: Grant
    Filed: November 27, 2001
    Date of Patent: November 29, 2005
    Assignee: Hynix Semiconductor Inc.
    Inventor: Kyung Pa Min
  • Patent number: 6970993
    Abstract: The present invention provides a memory architecture allowing for instructions of variable length to be stored without wasted memory spaces. Instructions of one, two, and three bytes can all be retrieved in a single fetch. The exemplary embodiment divides the memory block into two ×16 memories having some special addressing circuitry. This structure logically arranges the memory into a number of rows, each of four byte-wide columns. To the first of these ×16 memories, the full address is provided. If the address is within the two columns of the second ×16 memory, the full address is also provided to the second ×16 memory. If the address is to the first of the ×16 memories, the second ×16 memory instead receives the portion of the address specifying the row with one added to it. This results in a dual row access with the last one or two bytes of 3-byte instruction being supplied by the row above the first byte.
    Type: Grant
    Filed: September 8, 2003
    Date of Patent: November 29, 2005
    Assignee: ZiLOG, Inc.
    Inventors: Bruce L. Troutman, Russell B. Lloyd, Randal Q. Thornley
  • 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: 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: 6950921
    Abstract: A method for operating an integrated memory unit having a memory cell field includes the steps of, before a memory access, partitioning the memory cell field into a plurality of memory areas, for memory access, selecting one of the memory areas through the application of a memory area address, during the memory access, and internally generating addresses for access to memory cells of the one of the memory areas by the memory unit. Through a common external terminal connection of the memory unit, the memory area addresses are transmitted, and, subsequently, access data of the one of the memory areas are transmitted successively. The operating method enables a comparatively low number of terminal tendons.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: September 27, 2005
    Assignee: Infineon Technologies AG
    Inventor: Dirk Hottgenroth
  • 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: 6941421
    Abstract: A method and system for accessing a specified cache line using previously decoded base address offset bits, stored with a register file, which eliminate the need to perform a full address decode in the cache access path, and to replace the address generation adder multiple level logic with only one level of rotator/multiplexer logic. The decoded base register offset bits enable the direct selection of the specified cache line, thus negating the need for the addition and the decoding of the base register offset bits at each access to the cache memory. Other cache lines are accessed by rotating the decoded base address offset bits, resulting in a selection of another cache word line.
    Type: Grant
    Filed: October 29, 2002
    Date of Patent: September 6, 2005
    Assignee: International Business Machines Corporation
    Inventor: David Arnold Luick
  • Patent number: 6941438
    Abstract: Memory interleaving includes providing a non-power of two number of channels in a computing system and interleaving memory access among the channels.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: September 6, 2005
    Assignee: Intel Corporation
    Inventors: Gilbert Wolrich, Mark B. Rosenbluth
  • Patent number: 6931517
    Abstract: A microprocessor apparatus is provided for performing a pop-compare operation. The microprocessor apparatus includes paired operation translation logic, load logic, and execution logic. The paired operation translation logic receives a macro instruction that prescribes the pop-compare operation, and generates a pop-compare micro instruction. The pop-compare micro instruction directs pipeline stages in a microprocessor to perform the pop-compare operation. The load logic is coupled to the paired operation translation logic. The load logic receives the pop-compare micro instruction, and retrieves a first operand from an address in memory, where the address is specified by contents of a register. The register is prescribed by the pop-compare micro instruction. The execution logic is coupled to the load logic. The execution logic receives the first operand, and compares the first operand to a second operand.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: August 16, 2005
    Assignee: IP-First, LLC
    Inventors: Gerard M. Col, G. Glenn Henry, Terry Parks
  • Patent number: 6922771
    Abstract: The present invention provides a vector floating point unit (FPU) comprising a product-terms bus, a summation bus, a plurality of FIFO (first in first out) registers, a crossbar operand multiplexor coupled, a floating point multiplier, and a floating point adder. The floating point multiplier and the floating point adder are disposed between the crossbar operand multiplexor and the product-terms and summation buses, and are in parallel to each other. The invention also provides the configuration register and the command register in order to provide flexible architecture and the capability to fine-tune the performance to a particular application. The invention performs the multiplication operation and the addition operation in a pipelined fashion. Once the pipeline is filled, the invention outputs one multiplication output and one addition output at each clock cycle.
    Type: Grant
    Filed: April 24, 2002
    Date of Patent: July 26, 2005
    Assignee: PortalPlayer, Inc.
    Inventors: Jason Seung-Min Kim, Robert Quan
  • 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: 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: 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: 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: 6892272
    Abstract: A method and apparatus for determining a longest prefix match in a content addressable memory (CAM) device is described. The CAM device includes a CAM array that may be arbitrarily loaded with CIDR addresses that are not prearranged prior to their entry into the CAM device. For one embodiment, the CAM array is a ternary CAM array that includes CAM cells storing CAM data, mask cells storing prefix mask data for the corresponding CAM cells, a CAM match line for indicating a match between a search key and the CAM data (as masked by the prefix mask data), prefix match lines, and prefix logic circuits for comparing the CAM match line with the prefix mask data. The prefix logic circuits determine the longest prefix among the CAM locations that match the search key, regardless of where the matching locations are logically located in the CAM array.
    Type: Grant
    Filed: April 23, 2002
    Date of Patent: May 10, 2005
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Varadarajan Srinivasan, Ramagopal Madamala
  • Patent number: 6883088
    Abstract: The ManArray processor is a scalable indirect VLIW array processor that defines two preferred architectures for indirect VLIW memories. One approach treats the VIM as one composite block of memory using one common address interface to access any VLIW stored in the VIM. The second approach treats the VIM as made up of multiple smaller VIMs each individually associated with the functional units and each individually addressable for loading and reading during XV execution. The VIM memories, contained in each processing element (PE), are accessible by the same type of LV and XV Short Instruction Words (SIWs) as in a single processor instantiation of the indirect VLIW architecture. In the ManArray architecture, the control processor, also called a sequence processor (SP), fetches the instructions from the SIW memory and dispatches them to itself and the PEs. By using the LV instruction, VLIWs can be loaded into VIMs in the SP and the PEs.
    Type: Grant
    Filed: January 15, 2004
    Date of Patent: April 19, 2005
    Assignee: PTS Corporation
    Inventors: Edwin Frank Barry, Gerald G. Pechanek
  • 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: 6871256
    Abstract: In a data memory arrangement for a microprocessor system, in which the data memory is designed as a group memory composed of element memories in which data are storable in data groups having a plurality of elements under a group address in each instance, in order to make available a stack in which the memory space can be optimally utilized without the occurrence of memory gaps, the use is proposed of at least one memory pointer that has a group address component and an element address component. The stack memory can be operated with data words whose width is smaller than the data group width, without unutilized memory areas occurring in the stack.
    Type: Grant
    Filed: May 2, 2002
    Date of Patent: March 22, 2005
    Assignee: Systemonic AG
    Inventors: Wolfram Drescher, Uwe Porst
  • Patent number: 6857043
    Abstract: First-in/first-out (“FIFO”) memory circuitry includes first and second Gray-code-based counters for respectively counting write and read clock signals. A Gray code subtractor subtracts from one another the counts output by the counters. Shift register circuitry shifts in successive data words in synchronism with the write clock signal. The shift register circuitry includes selection circuitry configured to select one of the data words based on a Gray code decoding of information from the subtractor. Circuitry may also be included to monitor the information from the subtractor to detect full or empty conditions of the shift register circuitry.
    Type: Grant
    Filed: January 16, 2001
    Date of Patent: February 15, 2005
    Assignee: Altera Corporation
    Inventors: Andy L. Lee, Brian Johnson, Richard G. Cliff
  • 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: 6851013
    Abstract: A method of programming a memory. The method of one embodiment calls for sending a command to a memory device. The command requests the memory device to enter a program mode. A confirmation of the command is sent. A first address is sent to the memory device. A first packet of data is also sent to the memory device. The first packet of data is to be programmed at the first address. A first write signal is sent to the memory device. A second packet of data is sent to the memory device. A second write signal is sent to the memory device.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: February 1, 2005
    Assignee: Intel Corporation
    Inventors: Peter T. Larsen, Lance W. Dover
  • 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: 6839285
    Abstract: An integrated circuit memory includes a FLASH memory including a circuit for recording a word presented on its input without the possibility of recording simultaneously several words in parallel. The integrated circuit memory may include a buffer memory with a sufficient capacity to store a plurality of words, the output of which is coupled to the input of the FLASH memory. A circuit is also included for recording into the buffer memory a series of words to be recorded into the FLASH memory and recording into the FLASH memory the words first recorded into the buffer memory.
    Type: Grant
    Filed: December 14, 2000
    Date of Patent: January 4, 2005
    Assignee: STMicroelectronics S.A.
    Inventors: Sébastien Zink, Bruno Leconte, Paola Cavaleri
  • Patent number: 6836837
    Abstract: There is disclosed a technique for accessing a register file which comprises defining a first register address as a plurality of bits and using said first register address to access said register file generating a second register address by using a sequence of said plurality of bits with at least one of said plurality of bits supplied via a unitary operator, the unitary operator being effective to selectively alter the logical value of said bit depending on its logical value in the first register address, and using said second register address to access said register file. A computer system for carrying out such a technique is also enclosed.
    Type: Grant
    Filed: June 19, 2003
    Date of Patent: December 28, 2004
    Assignee: Broadcom Corporation
    Inventors: Mark Taunton, Sophie Wilson, Timothy Martin Dobson
  • Patent number: 6834335
    Abstract: An encoder and decoder provide coding of information communicated on buses. The encoder and decoder may use various combinations of techniques to reduce switching activity on an address bus.
    Type: Grant
    Filed: August 9, 2002
    Date of Patent: December 21, 2004
    Assignees: Fujitsu Limited, University of Southern California
    Inventors: Farzan Fallah, Yazdan Aghaghiri, Massoud Pedram
  • Patent number: 6829694
    Abstract: A reconfigurable parallel look-up table system includes a memory; a plurality of look-up tables stored in the memory; a row index register for holding the values to be looked up in the look-up tables; a column index register for storing a value representing the starting address of the look-up tables stored in the memory; and an address translation circuit responsive to the column index register and the row index register to simultaneously generate an address for each value in the row index register to locate in parallel the function of those values in each look-up table.
    Type: Grant
    Filed: April 24, 2002
    Date of Patent: December 7, 2004
    Assignee: Analog Devices, Inc.
    Inventors: Yosef Stein, Haim Primo
  • Patent number: 6820194
    Abstract: In one disclosed embodiment an instruction loop having at least one instruction is identified. For example, each instruction can be a VLIW packet comprised of several individual instructions. The instructions of the instruction loop are fetched from a program memory. The instructions are then stored in a register queue. For example, the register queue can be implemented with a head pointer which is adjusted to select a register in which to write each instruction that is fetched. It is then determined whether the processor requires execution of the instruction loop, for example, by checking a program counter (PC) value corresponding to each instruction. When the processor requires execution of the instruction loop, the instructions are output from the register queue. For example, the register queue can be implemented with an access pointer which is adjusted to select a register from which to output each instruction that is required.
    Type: Grant
    Filed: April 10, 2001
    Date of Patent: November 16, 2004
    Assignee: Mindspeed Technologies, Inc.
    Inventors: Sameer I. Bidichandani, Moataz A. Mohamed
  • Patent number: 6820186
    Abstract: Memory requests and responses thereto include a tag that has a shift value indicating the misalignment between the first byte of required packet data and the first byte of a line of data in memory. A packet buffer controller receiving data with an associated tag uses the shift value to shift the received line of data accordingly. The first line of data for the packet data payload is shifted accordingly and written into the packet buffer. Subsequent lines of data require masking the previous line of data except for the last N bytes where N equals the shift value. The shifted line of data is written over the previous line so that the lower order bytes of the shifted received line of data are written. Then the shifted line of data is written into the next line of the packet buffer.
    Type: Grant
    Filed: March 26, 2001
    Date of Patent: November 16, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas P. Webber, Hugh Kurth, Robert Dickson
  • Publication number: 20040215922
    Abstract: A method and apparatus is used select a multiplication constant for addressing a storage location with reduced processing requirements. The selection includes receiving a multiplication constant for use in an arithmetic operation to address a storage location, determining an upper limit multiplication constant compared with the received multiplication constant, counting the number of zero digits for each binary value contained in the range of binary values greater than the multiplication constant value and less than or equal to the upper limit multiplication constant and selecting the binary value from the range having the greatest number of zero digits as the modified multiplication constant.
    Type: Application
    Filed: April 24, 2003
    Publication date: October 28, 2004
    Inventors: J. Barry Shackleford, Motoo Tanaka
  • Patent number: 6807619
    Abstract: The cache arrangement includes a cache that may be organized as a plurality of memory banks in which each memory bank includes a plurality of slots. Each memory bank has an associated control slot that includes groups of extents of tags. Each cache slot has a corresponding tag that includes a bit value indicating the availability of the associated cache slot, and a time stamp indicating the last time the data in the slot was used. The cache may be shared by multiple processors. Exclusive access of the cache slots is implemented using an atomic compare and swap instruction. The time stamp of slots in the cache may be adjusted to indicate ages of slots affecting the amount of time a particular portion of data remains in the cache. Associated with each processor is a unique extent increment used to determine a next location for that particular processor when attempting to locate an available slot.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: October 19, 2004
    Assignee: EMC Corporation
    Inventors: Josef Ezra, Yedidia Atzmony
  • Patent number: 6799261
    Abstract: A memory interface device (100) providing a fractional address interface between a data processor (104) and a memory system (102) and a method for retrieving intermediate data values from a memory system using fractional addressing. The device includes an address generator (108) for generating first and second memory addresses, the first memory address being less than or equal to a specified fractional address, the second memory address being greater than or equal to the fractional address. The device also includes a memory access unit (110) coupled to the address generator (108) for retrieving first and second data values from the memory system (102) at the first and second memory addresses, respectively. The device also includes a data access unit (112) for interpolating between the first and second data values and passing the interpolated value to the data processor (104).
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: September 28, 2004
    Assignee: Motorola, Inc.
    Inventors: Philip E. May, Kent Donald Moat, Raymond B. Essick, IV, Silviu Chiricescu, Brian Jeffrey Lucas, James M. Norris, Michael Allen Schuette, Ali Saidi
  • Patent number: 6799246
    Abstract: A memory interface for connecting a bus to memory comprises an input, a buffer, an address input, a generator, and a writer. The input receives a plurality of data words from the bus. The buffer buffers the data words received from the bus. The address input receives from the bus addresses associated with the plurality of data words. The generator generates a series of addresses in the memory into which the buffered data words may be written. The series of addresses are derived from the received addresses. The writer writes the buffered data words into the memory at the generated addresses.
    Type: Grant
    Filed: December 16, 1997
    Date of Patent: September 28, 2004
    Assignee: Discovision Associates
    Inventors: Adrian P. Wise, Kevin Douglas Dewar, Anthony Mark Jones, Martin William Sotheran, Colin Smith, Helen Rosemary Finch, Anthony Peter J. Claydon, Donald W. Walker Patterson, Mark Barnes, Andrew Peter Kuligowski, William Philip Robbins, Nicholas Birch, David Andrew Barnes
  • Patent number: 6795873
    Abstract: The present invention provides a method and apparatus for a scheduling driver to implement a protocol using time estimates for use with a device that does not generate interrupts. An application calls the scheduling driver to start an Input/Output (I/O) request to a device. The scheduling driver determines if the device is busy. If the device is not busy, the scheduling driver provides an estimated processing time (EPT) for the I/O request to be completed to the application. In one embodiment, if the device is busy, the scheduling driver calculates an estimated amount of time left (EATL) until the device will be available to the application and provides this EATL to the application. When the device is not busy, the application sleeps for the estimated processing time (EPT) and calls the scheduling driver to obtain the I/O operation results. If the I/O request has been completed, the scheduling driver provides the I/O operation results to the application.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: September 21, 2004
    Assignee: Intel Corporation
    Inventors: David M. Barth, Brian D. Nelson
  • Patent number: 6788617
    Abstract: A device for generating memory addresses is provided that is suitable for generating memory addresses transposed in row/column directions with reference to a data successively stored therein along with a mobile station by using the same, and a method for writing/reading a data. The device includes a counter that generates 22n successive addresses in 2n bitstreams to provide row direction addresses, and a barrel shifter that shifts the generated 2n bitstreams by ‘n’ bits to provide column direction addresses. Thus, circuitry of a picture encoder of the mobile station or of an interleaver in a mobile communication system is reduced, and a faster operation speed is obtained.
    Type: Grant
    Filed: July 28, 2000
    Date of Patent: September 7, 2004
    Assignee: LG Information & Communications, Ltd.
    Inventor: Joo Heung Lee
  • Patent number: 6785798
    Abstract: An apparatus generates addresses for circular address buffers in a memory, in which a higher boundary of a circular buffer is implied from the current address. This approach is applied alone, and in combination with circular buffers which rely on an implied lower boundary to improve memory usage and flexibility in the design of circular buffers for integrated circuits. The dual mode address generator comprises inputs that receive a current address A, an address offset M, a buffer length L and a control signal; and logic configured to compute a first memory address for a buffer with an implied lower boundary and a second memory address for a buffer with an implied higher boundary in response to A, M, and L. One of the first and second memory addresses is provided in response to the control signal.
    Type: Grant
    Filed: August 10, 2001
    Date of Patent: August 31, 2004
    Assignee: Macronix International Co., Ltd.
    Inventor: Hong-Chi Chou
  • Patent number: 6782467
    Abstract: An apparatus comprising a control circuit and a generation circuit. The control circuit may be configured to generate a mask signal, a unique counter control signal, and an incremented state signal in response to an address signal and a counter control signal. The generation circuit may (i) comprise an internal counter register and (ii) be configured to generate an output address in response to the mask signal, the unique counter control signal, and the incremented state signal. The mask signal may be configured to selectively mask the internal counter register.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: August 24, 2004
    Assignee: Cypress Semiconductor Corp.
    Inventor: Stefan-Cristian Rezeanu
  • Patent number: 6782447
    Abstract: A device and corresponding programming instructions are provided that facilitate a circular addressing process. The device is configured to provide an address output that is constrained to lie within specified bounds. When a “circular increment” or “circular decrement” instruction is executed that would cause the address to exceed a bound, the address is reset to the other bound. In a preferred embodiment, the programming instruction also sets condition flags that indicate when the address is at each bound. By providing these “bounds” flags in conjunction with the circular addressing operation, multiple-word data items can be processed efficiently. A base-address of N contiguous words in a memory is loaded into the circular register, and a circular addressing instruction is used to access each word of the N contiguous words in sequence; a bounds flag is set when the last word of the multi-word data item is accessed.
    Type: Grant
    Filed: December 17, 1999
    Date of Patent: August 24, 2004
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Farrell L. Ostler, Antoine Farid Dagher
  • Patent number: 6775758
    Abstract: A computer system containing logic for processing a read block transaction from a PCI-X device. A technique is also disclosed for processing a read block transaction from a PCI-X device. The technique is defined by PCI-X specifications wherein the read block transaction is processed accordingly in a computer system. The technique determines whether the transaction is a read block and whether the transaction crosses a memory boundary. The technique also determines whether a page roll is required and administers one if it is required. Furthermore, the technique provides a means for reading and delivering the data to a PCI-X device.
    Type: Grant
    Filed: December 21, 2000
    Date of Patent: August 10, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Paras Shah
  • Patent number: 6775764
    Abstract: A SEARCH function preferably built into the instruction set of a microprocessor for quickly and efficiently searching a plurality of memory locations. Data from a significant number of memory locations is searched in a very short period of time, using a minimal number of instruction cycles.
    Type: Grant
    Filed: April 24, 2001
    Date of Patent: August 10, 2004
    Assignee: Cisco Technology, Inc
    Inventor: Kenneth W. Batcher
  • Patent number: 6760830
    Abstract: In one embodiment, a modulo addressing unit for a processor is described that includes a plurality of adders to generate an uncorrected target module address and at least one corrected target module address in parallel. A comparator selects one of the target module addresses a function of a base address (b) for a circular buffer, a length (L) of the circular buffer, an index address (I) and a modifier value (M). In one embodiment the comparator selects a first corrected target module address when I+M<B, a second corrected target module address when I+M>=B+L and an uncorrected module address when B<=I+M<B+L.
    Type: Grant
    Filed: December 29, 2000
    Date of Patent: July 6, 2004
    Assignees: Intel Corporation, Analog Devices Inc.
    Inventors: Ryo Inoue, Ravi Kolagotla, Raghavan Sudhakar
  • Publication number: 20040123067
    Abstract: A system and method for a processor to determine a memory page management implementation used by a memory controller without necessarily having direct access to the circuits or registers of the memory controller is disclosed. In one embodiment, a matrix of counters correspond to potential page management implementations and numbers of pages per block. The counters may be incremented or decremented depending upon whether the corresponding page management implementations and numbers of pages predict a page boundary whenever a long access latency is observed. The counter with the largest value after a period of time may correspond to the actual page management implementation and number of pages per block.
    Type: Application
    Filed: December 24, 2002
    Publication date: June 24, 2004
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Publication number: 20040123023
    Abstract: A content addressable memory (CAM) device includes a plurality of entries each having an associated counter. When a CAM entry matches a search word stored in the comparand register of the CAM device, the matching entry's counter may be incremented. Alternatively, if there are multiple matching entries, in some instances only one matching entry has its counter incremented. The counter value can be written or read as part of either the least significant or most significant bits of the CAM entry.
    Type: Application
    Filed: December 23, 2002
    Publication date: June 24, 2004
    Inventors: Alon Regev, Zvi Regev
  • Patent number: 6754790
    Abstract: A method is proposed for accessing the memory of a de-interleaving unit. The conventional access method has the drawback of ineffective use of the memory space of the de-interleaving unit, while the proposed method uses only about half the memory space for implementation. The proposed method utilizes a specially-formulated write-operation interleaving algorithm to write data into the memory of the de-interleaving unit, and subsequently utilizes a specially-formulated read-operation de-interleaving algorithm to read data from the memory of the de-interleaving unit.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: June 22, 2004
    Assignee: VIA Optical Solution, Inc.
    Inventor: Wen-Jeng Chang