Patents by Inventor Steve Morley

Steve Morley has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10846005
    Abstract: Techniques are disclosed for determining ownership of a data segment. The techniques include providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities. The techniques also include maintaining a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count representing a sum of first values that identify the respective storage entities associated with each reference of the data segment, (ii) a second count representing a sum of second values that derive from key values of the respective storage entities associated with each reference of the data segment, and (iii) a third count representing a number of references of the data segment by the respective storage entities. The techniques also include determining whether the said storage entity exclusively owns the data segment based on the plurality of counts and a key value of one of the respective storage entities.
    Type: Grant
    Filed: February 1, 2019
    Date of Patent: November 24, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Vamsi K. Vankamamidi, Steve Morley, Daniel Cummins, William Davenport
  • Publication number: 20200249858
    Abstract: Techniques are disclosed for determining ownership of a data segment. The techniques include providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities. The techniques also include maintaining a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count representing a sum of first values that identify the respective storage entities associated with each reference of the data segment, (ii) a second count representing a sum of second values that derive from key values of the respective storage entities associated with each reference of the data segment, and (iii) a third count representing a number of references of the data segment by the respective storage entities. The techniques also include determining whether the said storage entity exclusively owns the data segment based on the plurality of counts and a key value of one of the respective storage entities.
    Type: Application
    Filed: February 1, 2019
    Publication date: August 6, 2020
    Inventors: Vamsi K. Vankamamidi, Steve Morley, Daniel Cummins, William Davenport
  • Patent number: 10235203
    Abstract: An improved technique involves processing a workflow in stages, and processing all requests in a queue for a given stage before moving onto the next stage. Along these lines, each request received by a storage processor is assigned to a core and placed in a first queue for that core. Within that core, a single system thread executes first instructions for a task, e.g., checking the storage cache for the requested data from a request, and then transfers the request to a second queue. Rather than perform additional tasks to completely satisfy the request, however, the thread executes the first instructions for a prespecified number of requests in the first queue. Only when the thread has executed instructions for the prespecified number of requests, the thread begins execution of second instructions for requests in the second queue, and work on the next task begins.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: March 19, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Daniel Cummins, David W. Harvey, Steve Morley
  • Publication number: 20080005467
    Abstract: Software that writes to storage disks using a differently sized sector format than that of the storage disks can require sector edges to be read from sectors of the disks before the write operation can occur. Write operations can consequently incur a performance penalty by having to pre-read sector edges. A sector-edge cache avoids this performance penalty by storing sector edges obtained from the sectors during previously executed read and write operations. Instead of having to pre-read a sector edge from disk during a write operation, an input/output controller can examine the sector-edge cache to determine if each appropriate sector edge is already present and then combine new data with that cached sector edge. RAID-5 implementations, which use a read-modify-write process to perform write operations, benefit from sector caches by reading and caching sector edges during the read phase so that no additional pre-reads are needed during the write phase.
    Type: Application
    Filed: September 14, 2007
    Publication date: January 3, 2008
    Applicant: EMC CORPORATION
    Inventors: Steve Morley, Joel Young
  • Publication number: 20060224823
    Abstract: Software that writes to storage disks using a differently sized sector format than that of the storage disks can require sector edges to be read from sectors of the disks before the write operation can occur. Write operations can consequently incur a performance penalty by having to pre-read sector edges. A sector-edge cache avoids this performance penalty by storing sector edges obtained from the sectors during previously executed read and write operations. Instead of having to pre-read a sector edge from disk during a write operation, an input/output controller can examine the sector-edge cache to determine if each appropriate sector edge is already present and then combine new data with that cached sector edge. RAID-5 implementations, which use a read-modify-write process to perform write operations, benefit from sector caches by reading and caching sector edges during the read phase so that no additional pre-reads are needed during the write phase.
    Type: Application
    Filed: March 30, 2005
    Publication date: October 5, 2006
    Applicant: EMC Corporation
    Inventors: Steve Morley, Joel Young
  • Patent number: 6865650
    Abstract: A system and method for storing data, the system having one or more storage devices, caches data from a sender into a first random-access structure located in a first cache level, caches data from the first cache level into a log structure located in a second cache level, and stores data from CL into a second random-access structure located in a storage level, wherein CL is the first cache level or the second cache level. In further embodiments of the invention, the second cache level caches in the log structure parity data for the data cached in the log structure. In a still further embodiment of the invention, the storage level stores in the second random-access structure parity data for the data stored in the second random-access structure.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: March 8, 2005
    Assignee: EMC Corporation
    Inventors: Steve Morley, Robert C. Solomon, David DesRoches, John Percy
  • Patent number: 6611852
    Abstract: A system and method for cleaning a log structure, the log structure including one or more segments, each segment including live data, orders the one or more segments into a hot list according to age, with the youngest segment at the beginning of the hot list and the oldest segment at the end of the hot list, the youngest segment being the most recently used segment and the oldest segment being the least recently used segment, pushes one or more of the oldest segments in the hot list to a cleaning matrix, the cleaning matrix grouping segments according to age and percent of live data in the segment, traverses the cleaning matrix looking for a segment, determines whether enough live data has been found to write a complete segment, sequentially repeats the previous two processes until enough live data has been found to write a complete segment, reads data from the one or more found segments, and writes the read live data into an unused segment.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: August 26, 2003
    Assignee: EMC Corporation
    Inventors: Steve Morley, Robert C. Solomon, David DesRoches, John Percy
  • Patent number: 6584544
    Abstract: An apparatus and method for preparing a disk for use in a disk array, the disk array including an input/output control processor, the disk including sectors, the sectors including a data area and a metadata area, the method comprising defining a range of sectors to prepare for use in the disk array, sending a command to the disk from the input/output control processor, the command instructing the disk to write a block of initial state data to each sector in a group of sectors on the disk, the group of sectors on the disk located within the range of sectors on the disk, and writing the block of initial state data to each of the sectors on the disk. The block of initial state data comprises a bit stream of data for writing to the data area and the metadata area of each sector.
    Type: Grant
    Filed: July 12, 2000
    Date of Patent: June 24, 2003
    Assignee: EMC Corporation
    Inventors: Steve Morley, Bruce Harmon, Don Hon
  • Patent number: 6507890
    Abstract: A system and method for expanding a log structure in a disk array, the disk array being expanded from M-width to N-width, the disk array including a storage level, the log structure including one or more sequential used segments, the one or more sequential used segments including live data, locates one or more sequential used segments, writes live data from the one or more located segments to the storage level, enlarges the size of the one or more located segments from M-width to N-width, and places the one or more enlarged segments on a first free segment list.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: January 14, 2003
    Assignee: EMC Corporation
    Inventors: Steve Morley, Robert C. Solomon, David DesRoches, John Percy