Patents Assigned to ECCS, Inc.
  • Patent number: 5895485
    Abstract: A method and device for writing blocks from a client to a storage device. First and second caches are provided between the client and the storage device. An I/O management process accepts a write request from the client. If the write request is a write-back request, the I/O management process stores the blocks in the first cache, and transferring the blocks from the first cache to the second cache. If, on the other hand, the write request is not a write-back request, a write-through request is performed in which blocks are stored in the first cache, stored in the storage device, but not stored in the second cache. When the blocks are flushed from the first cache to store the blocks on the storage device, the dirty map of the cache header corresponding to the blocks is cleared from the second cache.
    Type: Grant
    Filed: February 24, 1997
    Date of Patent: April 20, 1999
    Assignee: ECCS, Inc.
    Inventors: Barbara Loechel, Federico Giovannetti
  • Patent number: 5895488
    Abstract: Methods and apparatus for managing a cache which includes a number of dirty lines in which (a) the percentage of dirty lines in the cache is determined, (b) the cache is flushed if the determined percentage of dirty lines exceeds a predetermined threshold, (c) whether a state of a system is idle is determined based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second, and (d) if the state of the system is determined to be idle, a line of the cache is flushed.
    Type: Grant
    Filed: February 24, 1997
    Date of Patent: April 20, 1999
    Assignee: ECCS, Inc.
    Inventor: Barbara Loechel
  • Patent number: 5815648
    Abstract: A method for changing the cache mode of a volume in response to user commands or detection of a failure within the storage system. Specifically, the method applies the new cache mode to all newly issued I/O requests, while retaining the old cache mode for previously unfinished or queued I/O requests. The method incorporates a cache mode field to the I/O request data structure. The cache mode field specifies the cache mode to be used for that I/O request. The method initializes the I/O request cache mode field with the value of the cache mode field of the corresponding target volume. When the cache mode of a volume is changed, all subsequent I/O requests to the volume are tagged with the new cache mode in their cache mode field. However, previous I/0 requests will retain the former cache mode and will be completed using the former cache mode.
    Type: Grant
    Filed: November 14, 1995
    Date of Patent: September 29, 1998
    Assignee: ECCS, Inc.
    Inventor: Federico Antonio Giovannetti
  • Patent number: 5812753
    Abstract: A method of initializing or reconstructing data redundancy within a array of storage elements. Specifically, the method is performed by the array management software, either as part of the array controller or a host computer performing array controller functions, such that, for a new array, the data therein is made consistent (e.g., XOR consistent using parity data) and, for an array with a recently replaced storage element, data is reconstructed within the new storage element. In either case, after executing the inventive routine, the array is fault tolerant and the data is consistent in accordance with the technique used to generate fault tolerance.
    Type: Grant
    Filed: October 13, 1995
    Date of Patent: September 22, 1998
    Assignee: ECCS, Inc.
    Inventor: Enzo Chiariotti
  • Patent number: 5778430
    Abstract: A computer disk cache management method and apparatus which employs a least-recently-used with aging method to determine a best candidate for replacement as a result of a cache miss. A hash function takes as its input a block number and outputs a hash index into a hash table of pointers. Each pointer in the hash table points to a doubly-linked list of headers, with each header having a bit map wherein the bits contained in the map identify whether a particular block of data is contained within the cache. An ordered binary tree (heap) identifies candidates for replacement such that the best candidate for replacement is located at the root of the heap. After every access to a cache line, the heap is locally reorganized based upon a frequency of use and an age of the cache line, such that the least-frequently-used and/or oldest cache line is at the root of the heap.
    Type: Grant
    Filed: April 19, 1996
    Date of Patent: July 7, 1998
    Assignee: ECCS, Inc.
    Inventors: Mark Ish, Federico Giovannetti
  • Patent number: 5687390
    Abstract: A queuing architecture within a RAID controller that manages a multi-threaded SCSI environment. The architecture resides within a RAID controller that communicates with a plurality of independent, SCSI disk drives (or other storage elements). The RAID controller accepts disk I/O requests from one or more host computers. The architecture dynamically allocates multiple disk I/O requests to various request queues until the disk drive that will handle the request is available for access. Multiple requests are executed in parallel on various ones of the disk drives.
    Type: Grant
    Filed: November 14, 1995
    Date of Patent: November 11, 1997
    Assignee: ECCS, Inc.
    Inventor: Ben H. McMillan, Jr.
  • Patent number: D377478
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: January 21, 1997
    Assignee: ECCS, Inc.
    Inventor: Friedrich G. Geck
  • Patent number: D377482
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: January 21, 1997
    Assignee: ECCS, Inc.
    Inventor: Friedrich G. Geck