Patents by Inventor Timothy R Feldman

Timothy R Feldman 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).

  • Publication number: 20150106568
    Abstract: A data storage device includes one or more storage media that include multiple physical storage locations. The device also includes at least one cache memory having a logical space that includes a plurality of separately managed logical block address (LBA) ranges. Additionally, a controller is included in the device. The controller is configured to receive data extents addressed by a first LBA and a logical block count. The controller is also configured to identify at least one separately managed LBA range of the plurality of separately managed LBA ranges in the at least one cache memory based on LBAs associated with at least some of the received data extents. The controller stores the at least some of the received data extents in substantially monotonically increasing LBA order in at least one physical storage location, of the at least one cache memory, assigned to the identified at least one LBA range.
    Type: Application
    Filed: December 18, 2014
    Publication date: April 16, 2015
    Inventors: Timothy R. Feldman, Andrew M. Kowles, Mark Allen Gaertner, Brian T. Edgar
  • Publication number: 20150084552
    Abstract: A system that includes a first data storage element actuated by a first electric motor. The system also includes a second data storage element actuated by a second electric motor. An electrical connector assembly transfers electrical energy from a back electromotive force generated in the first electric motor, by movement of the first data storage element, to the second electric motor to thereby energize the second electric motor.
    Type: Application
    Filed: September 24, 2013
    Publication date: March 26, 2015
    Inventors: Timothy R. Feldman, John W. Shaw
  • Patent number: 8976478
    Abstract: Systems and methods are disclosed for performing band rewrites on shingled storage media based on error scan counts. In one embodiment, a device may comprise a data storage medium including a first band and a processor. The first band may include a plurality of tracks storing data in a shingled manner where a first track at least partially overlaps a second track. The processor may be configured to receive a write command directed to the first band, increment a first rewrite count of the first band based on the write command, and when the first rewrite count exceeds a first rewrite threshold, perform a read-modify-write (RMW) operation for all of the first band. In some embodiments, a device may maintain write counts for sections of a band, and perform RMW operations on less than all of the band.
    Type: Grant
    Filed: October 10, 2013
    Date of Patent: March 10, 2015
    Assignee: Seagate Technology LLC
    Inventors: Peter S Harllee, III, Timothy R Feldman, Jian Qiang, Utt Heng Kan, Wen Xiang Xie, Winahyu Aji Bimas, Poh Seng Lim
  • Publication number: 20140379973
    Abstract: The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory channel is disclosed that includes multiple memory units, with each memory unit comprising multiple garbage collection units. The memory channel also includes a controller that is communicatively coupled to the multiple memory units. The controller selects a memory unit of the multiple memory units for garbage collection based on a calculated number of memory units, of the multiple memory units, to garbage collect.
    Type: Application
    Filed: September 11, 2014
    Publication date: December 25, 2014
    Inventors: Timothy R. Feldman, Jonathan W. Haines, Wayne H. Vinson
  • Patent number: 8909888
    Abstract: Method and apparatus for securely erasing data from a non-volatile memory, such as but not limited to a flash memory array. In accordance with various embodiments, an extended data set to be sanitized from the memory is identified. The extended data set includes multiple copies of data having a common logical address and different physical addresses within the memory. The extended data set is sanitized in relation to a characterization of the data set. The data sanitizing operation results in the extended data set being purged from the memory and other previously stored data in the memory being retained.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: December 9, 2014
    Assignee: Seagate Technology LLC
    Inventors: Ryan James Goss, David Scott Seekins, Jonathan W. Haines, Timothy R. Feldman
  • Patent number: 8874872
    Abstract: The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory channel is disclosed that includes multiple memory units, with each memory unit comprising multiple garbage collection units. The memory channel also includes a controller that is communicatively coupled to the multiple memory units. The controller selects a memory unit of the multiple memory units for garbage collection based on a calculated number of memory units, of the multiple memory units, to garbage collect.
    Type: Grant
    Filed: January 21, 2011
    Date of Patent: October 28, 2014
    Assignee: Seagate Technology LLC
    Inventors: Timothy R. Feldman, Jonathan W. Haines, Wayne H. Vinson
  • Patent number: 8756399
    Abstract: Method and apparatus for mutably associating logical block addresses to physical blocks. A physical storage space is apportioned into one or more bands. A logical block address (LBA) from a logical space is assigned to one of the bands, and the LBA is mutably associated with a particular physical block (sector) at an associated physical block address (PBA) within the assigned band. Such mutable association preferably includes the writing of user data associated with the LBA to the associated physical sector. During a subsequent operation, user data associated with the LBA can be stored in a second physical sector in the assigned band. The physical storage space preferably comprises a magnetic recording medium, and some or all of the bands preferably utilize overlapping tracks. The logical space is preferably divided into sets of sequential LBAs, with non-adjacent sets assigned to the same band. Map data are used to track sector allocation status in each band.
    Type: Grant
    Filed: January 25, 2006
    Date of Patent: June 17, 2014
    Assignee: Seagate Technology LLC
    Inventor: Timothy R. Feldman
  • Patent number: 8745353
    Abstract: The present disclosure describes various techniques resolving block boundary issues and reconstructing logical blocks in a block access storage device when there are resulting mismatches between logical and physical block sizes or alignments, such that logical blocks span multiple physical block boundaries in irregular ways. In one example, a method comprises the following features: receiving logical block addresses that are associated with a sequence of logical blocks; and locating a first portion of a logical block within a first physical block that is stored in a block access storage device based upon a logical block address of the logical block, wherein the logical block is part of the sequence of logical blocks, and wherein at least two logical blocks within the sequence of logical blocks have different sizes.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: June 3, 2014
    Assignee: Seagate Technology LLC
    Inventors: Timothy R. Feldman, Wayne H. Vinson, Jonathan W. Haines
  • Patent number: 8364929
    Abstract: A storage device, e.g., an SSD, is configured to enable spanning for a logical block between pages of the device. In one example, a device includes a data storage module to receive data to be stored, wherein the data comprises a plurality of logical blocks, and wherein a size of the plurality of logical blocks exceeds a size of a first page of the device, and a spanning determination module to determine whether to partition one of the plurality of logical blocks into a first partition and a second partition, wherein the data storage module is configured to partition the one of the plurality of logical blocks into the first partition and the second partition and to store the first partition in the first page and the second partition in a second, different page when the spanning determination module determines to partition the one of the plurality of logical blocks.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: January 29, 2013
    Assignee: Seagate Technology LLC
    Inventors: Jonathan W. Haines, Wayne H. Vinson, Timothy R. Feldman
  • Publication number: 20120278564
    Abstract: Method and apparatus for securely erasing data from a non-volatile memory, such as but not limited to a flash memory array. In accordance with various embodiments, an extended data set to be sanitized from the memory is identified. The extended data set includes multiple copies of data having a common logical address and different physical addresses within the memory. The extended data set is sanitized in relation to a characterization of the data set. The data sanitizing operation results in the extended data set being purged from the memory and other previously stored data in the memory being retained.
    Type: Application
    Filed: April 29, 2011
    Publication date: November 1, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Ryan James Goss, David Scott Seekins, Jonathan W. Haines, Timothy R. Feldman
  • Patent number: 8301830
    Abstract: A method for managing wear levels in a storage device having a plurality of data blocks, the method comprising moving data to data blocks having higher erasure counts based on a constraint on static wear levelness that tightens over at least a portion of the lives of the plurality of data blocks.
    Type: Grant
    Filed: October 12, 2011
    Date of Patent: October 30, 2012
    Assignee: Seagate Technology LLC
    Inventors: Timothy R. Feldman, Jonathan W. Haines
  • Publication number: 20120260047
    Abstract: Implementations described and claimed herein provide a method and system for managing execution of commands for a storage device, the method comprising determining a plurality of commands to be executed for the storage device and while a storage device is executing at least one command, determining an execution order for at least two of the plurality of commands. Alternate implementation described and claimed herein provide a computer readable memory for storing a data structure, the data structure comprising a cost table comprising a number of cells, each cell containing one or more cost values related to one of a plurality of traversals between two locations on a storage device wherein each of the plurality of traversals is related to completion of one of a plurality of commands and a benefit array comprising a number of cells, each cell containing a benefit value related to completion of one of the plurality of commands.
    Type: Application
    Filed: April 6, 2011
    Publication date: October 11, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan W. Haines, Timothy R. Feldman, Wayne H. Vinson
  • Publication number: 20120191937
    Abstract: The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory channel is disclosed that includes multiple memory units, with each memory unit comprising multiple garbage collection units. The memory channel also includes a controller that is communicatively coupled to the multiple memory units. The controller selects a memory unit of the multiple memory units for garbage collection based on a calculated number of memory units, of the multiple memory units, to garbage collect.
    Type: Application
    Filed: January 21, 2011
    Publication date: July 26, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Timothy R. Feldman, Jonathan W. Haines, Wayne H. Vinson
  • Publication number: 20120102276
    Abstract: A storage device controller may segregate data units that are typically accessed together to a common storage unit. In one example, a storage device includes a control unit configured to receive a plurality of logical blocks to be stored in the storage device, wherein a first set of addresses comprises logical block addresses (LBAs) of the plurality of logical blocks, and a non-volatile memory configured to store logical blocks in a plurality of storage units, wherein one of the plurality of storage units includes logical blocks corresponding to a second set of addresses. The control unit may determine an intersection of the first set of addresses with the second set of addresses and to store each of the logical blocks having LBAs in the determined intersection of addresses in a common storage unit of the storage device, wherein the common storage unit comprises one of the plurality of storage units.
    Type: Application
    Filed: February 15, 2011
    Publication date: April 26, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan Williams Haines, Timothy R. Feldman
  • Publication number: 20120102297
    Abstract: A storage device controller may segregate data units that are typically accessed together to a common storage unit. In one example, a storage device includes a control unit configured to receive a plurality of logical blocks to be stored in the storage device, wherein a first set of addresses comprises logical block addresses (LBAs) of the plurality of logical blocks, and a non-volatile memory configured to store logical blocks in a plurality of storage units, wherein one of the plurality of storage units includes logical blocks corresponding to a second set of addresses. The control unit may determine an intersection of the first set of addresses with the second set of addresses and to store each of the logical blocks having LBAs in the determined intersection of addresses in a common storage unit of the storage device, wherein the common storage unit comprises one of the plurality of storage units.
    Type: Application
    Filed: February 15, 2011
    Publication date: April 26, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan Williams Haines, Timothy R. Feldman
  • Patent number: 8134791
    Abstract: A method of identifying a string or chain of efficient or “good enough” disc operations for processing (a pseudo optimal chain) is provided. A “pseudo optimal chain” comprises a string or chain of operations that, while not necessarily the optimal string or chain, provides an efficient sequence of operations that can be determined by comparing individual operations to predetermined selection criteria. In contrast to a true optimization technique that can require computing up to N! combinations for N operations, the string or chain of efficient or “good enough” disc operations allows for relatively simpler computations.
    Type: Grant
    Filed: February 4, 2010
    Date of Patent: March 13, 2012
    Assignee: Seagate Technology LLC
    Inventors: Jonathan W. Haines, Timothy R. Feldman
  • Publication number: 20110283048
    Abstract: This disclosure is related to systems and methods for a structured mapping system for a memory device, such as a solid state data storage device. In one example, a data storage device may include a multi-level address mapping system. The multi-level address mapping system may be implemented completely independent of a host computer and a host computer operating system. Also, the multi-level mapping system may be stored to allow each level, or subsets of each level, to be re-written independently of the other levels or the other subsets.
    Type: Application
    Filed: May 11, 2010
    Publication date: November 17, 2011
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Timothy R. Feldman, Brett A. Cook, Jonathan W. Haines, Wayne H. Vinson
  • Publication number: 20110283044
    Abstract: A data storage device comprising at least one non-volatile storage medium having a plurality of data blocks, and a controller configured to allocate at least one of the data blocks for a writing operation based at least in part on data integrities of the data blocks.
    Type: Application
    Filed: May 11, 2010
    Publication date: November 17, 2011
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Edwin S. Olds, Timothy R. Feldman, Joshua B. Tinker, Lace J. Herman
  • Patent number: 8051241
    Abstract: A method for managing wear levels in a storage device having a plurality of data blocks, the method comprising moving data to data blocks having higher erasure counts based on a constraint on static wear levelness that tightens over at least a portion of the lives of the plurality of data blocks.
    Type: Grant
    Filed: May 7, 2009
    Date of Patent: November 1, 2011
    Assignee: Seagate Technology LLC
    Inventors: Timothy R. Feldman, Jonathan W. Haines
  • Publication number: 20110264843
    Abstract: An example method includes providing at least two data storage areas in a memory, providing a first amount of over-provisioning for a first of the at least two data storage areas and a second amount of over-provisioning for a second of the at least two data storage areas, categorizing data based on a characteristic of the data, and storing the data in one of the at least two data storage areas based on the categorization.
    Type: Application
    Filed: April 22, 2010
    Publication date: October 27, 2011
    Applicant: Seagate Technology LLC
    Inventors: Jonathan W. Haines, Timothy R. Feldman, Wayne H. Vinson, Ryan J. Goss, Kevin Gomez, Mark Allen Gaertner