Patents Examined by Jesse Diller
  • Patent number: 7526628
    Abstract: The present invention finds the optimum organization of compiled code within an application to ensure maximal cache efficiency. A configuration file specifies predefined cache, optimization, and application parameters. The cache parameters include a cache size, cache line size, set associativity, address-to-cache-line mapping algorithm, and set replacement algorithm. The optimization parameters specify the minimum acceptable efficiency level. The application parameters include a list of object modules and functions within those modules. All possible orderings of the modules are stepped through to determine where the specified functions fall within the cache given the location of the function within the module. The function locations in each permutation of the orderings are analyzed to find a solution that matches or beats the optimization parameters.
    Type: Grant
    Filed: October 3, 2006
    Date of Patent: April 28, 2009
    Assignee: Broadcom Corporation
    Inventors: David Michael Pullen, Michael Antony Sieweke
  • Patent number: 7500066
    Abstract: A multiprocessing apparatus includes a memory and a plurality (M) of processors coupled to share the memory. Access to the memory is time-division multiplexed among the plurality of processors. In one embodiment, a selected processor retrieves M words of instruction forming K instructions during a given clock cycle. The selected processor executes M?K NOP instructions if K<M.
    Type: Grant
    Filed: April 30, 2005
    Date of Patent: March 3, 2009
    Assignee: Tellabs Operations, Inc.
    Inventors: Thayl D. Zohner, Lawrence D. Weizeorick, Keith M. Ellens
  • Patent number: 7490196
    Abstract: A magnetic tape apparatus for backup stores data provided from a computer on a magnetic tape. A writing circuit writes data provided from the computer on the magnetic tape, and switches a writing destination for data from the magnetic tape to a memory module when it is determined that data cannot be written on the magnetic tape, and writes address information and data following the data written on the magnetic tape onto the storage medium. The address information indicates a position on the magnetic tape where writing data should originally be written. A reading circuit determines a timing at which a reading source for data is switched from the magnetic tape to the storage medium according to the address information of data written on the memory module, and reads data from the magnetic tape to switch the reading source for data to the storage medium at the determined timing.
    Type: Grant
    Filed: December 17, 2002
    Date of Patent: February 10, 2009
    Assignee: NEC Corporation
    Inventor: Satoshi Unno
  • Patent number: 7480760
    Abstract: A system and method to minimize the number of erase cycles performed on a flash memory device to extend its useful life. A flash memory device has several areas where data is stored. Each area is referred to as a block. Memory usage is rotated between blocks to evenly distribute erase cycles.
    Type: Grant
    Filed: December 17, 2003
    Date of Patent: January 20, 2009
    Assignee: Wegener Communications, Inc.
    Inventors: Sacha Bernstein, Anthony L. Gelsomini
  • Patent number: 7447858
    Abstract: There is provided a storage system suitable for an open system which has advanced security functions for logical devices. In a storage system such as a RAID system, 6 types of access attributes which are Readable/Writable, Read Only, Unreadable/Unwritable, Read Capacity 0, Inquiry Restricted, and S-vol Disable, can be set for each logical device. Read Capacity 0 makes a response “capacity 0” upon inquiries from hosts about capacity. Inquiry Restricted does not permit the hosts to recognize logical devices. S-vol Disable does not permit pair forming for duplication of a logical device with another device as the destination of copying. Upon receipt of commands from hosts of the open system, the storage system changes command processes and responses, depending on the difference in operation system, vendor, version, or the like, between hosts.
    Type: Grant
    Filed: August 24, 2006
    Date of Patent: November 4, 2008
    Assignee: Hitachi, Ltd.
    Inventors: Yasuyuki Nagasoe, Hisao Homma
  • Patent number: 7437530
    Abstract: A system and method for mapping file block numbers (FBNs) to logical block addresses (LBAs) is provided. The system and method performs the mapping of FBNs to LBAs in a file system layer of a storage operating system, thereby enabling the use of clients in a storage environment that have not been modified to incorporate mapping tables. As a result, a client may send data access requests to the storage system utilizing FBNs and have the storage system perform the appropriate mapping to LBAs.
    Type: Grant
    Filed: April 24, 2003
    Date of Patent: October 14, 2008
    Assignee: Network Appliance, Inc.
    Inventor: Vijayan Rajan
  • Patent number: 7424579
    Abstract: A parallel hardware-based multithreaded processor is described. The processor includes a general purpose processor that coordinates system functions and a plurality of microengines that support multiple hardware threads. The processor-also includes a memory control system that has a first memory controller that sorts memory references based on whether the memory references are directed to an even bank or an odd bank of memory and a second memory controller that optimizes memory references based upon whether the memory references are read references or write references.
    Type: Grant
    Filed: September 21, 2005
    Date of Patent: September 9, 2008
    Assignee: Intel Corporation
    Inventors: William R. Wheeler, Bradley Burres, Matthew J. Adiletta, Gilbert Wolrich
  • Patent number: 7424593
    Abstract: In one embodiment of the present invention, a memory storage system for storing information organized in sectors within a nonvolatile memory bank is disclosed. The memory bank is defined by sector storage locations spanning across one or more rows of a nonvolatile memory device, each the sector including a user data portion and an overhead portion. The sectors being organized into blocks with each sector identified by a host provided logical block address (LBA). Each block is identified by a modified LBA derived from the host-provided LBA and said virtual PBA, said host-provided LBA being received by the storage device from the host for identifying a sector of information to be accessed, the actual PBA developed by said storage device for identifying a free location within said memory bank wherein said accessed sector is to be stored.
    Type: Grant
    Filed: April 13, 2006
    Date of Patent: September 9, 2008
    Assignee: Micron Technology, Inc.
    Inventors: Petro Estakhri, Berhanu Iman
  • Patent number: 7412562
    Abstract: A disk cache may include a volatile memory such as a dynamic random access memory and a nonvolatile memory such as a polymer memory. When a cache line needs to be allocated on a write, the polymer memory may be allocated and when a cache line needs to be allocated on a read, the volatile memory may be allocated.
    Type: Grant
    Filed: October 17, 2005
    Date of Patent: August 12, 2008
    Assignee: Intel Corporation
    Inventor: John I. Garney
  • Patent number: 7383376
    Abstract: An apparatus and methods store data in a magnetic random access memory (MRAM) in a fast and efficient manner. Embodiments advantageously decrease the number of clock cycles required to store data by eliminating at least one wait state in a transition from a read state to a write state. Embodiments advantageously enhance the throughput of the MRAM and a related digital circuit, such as a computer system, which advantageously enhances the operating speed of the digital circuit.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: June 3, 2008
    Assignee: Micron Technology, Inc.
    Inventor: Richard W. Swanson
  • Patent number: 7383410
    Abstract: A method, system, and language to express storage requirements. The language provides keywords and rules corresponding to commands for configuring a set of storage devices to provide requested capabilities of a logical volume. The language also has keywords and constructs for defining capabilities. The language supports direct inheritance of a capability, where a template specifies another template that contains rules to be used to provide a given capability. The language also supports indirect inheritance of a capability, where a template requires a capability but does not provide an implementation of the capability. In addition, the language is processed to “merge” rules by selecting a single storage device that conforms to more than one rule when possible. Merging rules enables a minimum number of storage devices to be used to meet a given logical volume configuration and set of capabilities.
    Type: Grant
    Filed: December 20, 2002
    Date of Patent: June 3, 2008
    Assignee: Symantec Operating Corporation
    Inventors: Chirag Deepak Dalal, Vaijayanti Rakshit Bharadwaj, Pradip Madhukar Kulkarni, Ronald S. Karr
  • Patent number: 7366870
    Abstract: By the same method as that of making data access to a data storage area in an online state, it is performed to access a data storage area other than the data storage area. A plurality of logical volumes carried by a disk array apparatus includes an online volume that is in an online state to a host and an offline state that is in an offline state to the host. The host transmits an access command including target information designating a target volume to the disk array apparatus as an access command to a starting volume other than the target volume. The disk array apparatus receives the access command to the starting volume and offers the data access to the target volume on the basis of the target information carried by that access command to the host.
    Type: Grant
    Filed: February 21, 2006
    Date of Patent: April 29, 2008
    Assignee: Hitachi, Ltd.
    Inventors: Akihiro Mori, Kiyohisa Miyamoto, Masashi Kimura
  • Patent number: 7363535
    Abstract: A system is described in which a plurality of host computers are coupled to a storage system for storing and retrieving data in the storage system. The storage system includes individually addressable units of storage such as volumes or logical unit numbers. A security management system controls access to each of the individually addressable units of storage based upon the identification of the host permitted to access that unit of storage.
    Type: Grant
    Filed: October 5, 2006
    Date of Patent: April 22, 2008
    Assignee: Hitachi, Ltd.
    Inventor: Yuichi Taguchi
  • Patent number: 7353323
    Abstract: A method is provided for simultaneously updating the contents of multiple memory devices in a computer system. The contents of each of the memory devices are organized as a series of blocks. One of the memory devices is selected as a current device. A determination is then made as to whether the blocks of the current device need to be updated. The blocks of the current device are updated until a memory wait state is generated by the current device. In response to the memory wait state being generated by the current device, a determination is made as to whether the blocks contained in any of the other memory devices remain to be updated. If there are blocks in any of the other memory devices remaining to be updated, a next memory device is identified having blocks to be updated. The identified memory device is then selected as the current device. Finally, the steps of the method are repeated for each current device until all of the blocks contained in each of the multiple memory devices have been updated.
    Type: Grant
    Filed: March 18, 2003
    Date of Patent: April 1, 2008
    Assignee: American Megatrends, Inc.
    Inventor: Feliks Polyudov
  • Patent number: 7353356
    Abstract: A FIFO circuit includes a write counter circuit, a memory circuit, a read counter circuit and a selector circuit. The write counter circuit counts a write clock signal during a valid period of input data, and outputs a write counter value. The memory circuit stores the input data in response to the write counter value. The read counter circuit counts a read clock signal when a decision is made that the memory circuit includes data that has not yet been read out, and outputs a read counter value. The read selector circuit reads data from the memory circuit in response to the read counter value. A small scale FIFO circuit can be obtained.
    Type: Grant
    Filed: August 19, 2002
    Date of Patent: April 1, 2008
    Assignee: Renesas Technology Corp.
    Inventor: Hiroshi Shirota
  • Patent number: 7346744
    Abstract: According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. Mechanisms for improving the accuracy of information available to a cache coherence controller are provided in order to allow the cache coherence controller to reduce the number of transactions in a multiple cluster system. Non-change probes and augmented non-change probe responses are provided to acquire state information in remote clusters without affecting the state of the probed memory line. Augmented probe responses associated with shared and invalidating probes are provided to update state information in a coherence directory during read and read/write probe requests.
    Type: Grant
    Filed: May 9, 2003
    Date of Patent: March 18, 2008
    Assignee: Newisys, Inc.
    Inventor: David Brian Glasco
  • Patent number: 7346746
    Abstract: A system with multiple processors sharing a single memory module without noticeable performance degradation is described. The memory module is divided into n independently addressable banks, where n is at least 2 and mapped such that sequential addresses are rotated between the banks. A bank may be further divided into a plurality of blocks. A cache is provided to enable a processor to fetch from memory a plurality of data words from different memory banks to reduce memory latency caused by memory contention.
    Type: Grant
    Filed: April 26, 2002
    Date of Patent: March 18, 2008
    Assignee: Infineon Technologies Aktiengesellschaft
    Inventors: Raj Kumar Jain, Rudi Frenzel
  • Patent number: 7340577
    Abstract: A method and system for efficiently executing reads after writes in a memory. The system includes a memory controller and a memory core interfacing with the memory controller. The memory operates with a read data latency and a similar write data latency, and the memory immediately processes a read in a read-after-write situation. The system further includes a control circuit for controlling the memory and detecting an address collision between the read and a previously issued write and, in response thereto, stalling the memory by delaying issuance of the read to the memory until after the previously issued write completes.
    Type: Grant
    Filed: May 29, 2002
    Date of Patent: March 4, 2008
    Assignee: NVIDIA Corporation
    Inventors: James M. Van Dyke, John S. Montrym
  • Patent number: 7320048
    Abstract: A first-in, first-out (FIFO) unit switches between strobe sources. The FIFO uses a multiplexer to switch between two or more strobes so that different data strobes may be used with the FIFO to strobe in the data. In one implementation, the FIFO uses four data latches to strobe in data bits and output a pair of data bits onto the internal bus each half clock cycle.
    Type: Grant
    Filed: September 5, 2006
    Date of Patent: January 15, 2008
    Assignee: Broadcom Corporation
    Inventor: James D. Kelly
  • Patent number: 7308525
    Abstract: A method of storing data by providing a flash memory device including a plurality of memory cells; each of the memory cells is capable of storing data bits. First data bits are stored into memory cells used for storing M bits per cell, the memory cells are allocated to a page of the memory. Second data bits are stored into other memory cells, the other memory cells used for storing N bits per cell are allocated to the page and upon storing of the first data bits and upon storing the second data bits, the page uses at the same time at least one of the memory cells with M bits per cell and at least one of the other memory cells with N bits per cell with N less than M.
    Type: Grant
    Filed: March 28, 2005
    Date of Patent: December 11, 2007
    Assignee: Sandisk IL Ltd.
    Inventors: Menahem Lasser, Mark Murin