Patents by Inventor Brett Alan Cook

Brett Alan Cook 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: 9514055
    Abstract: This disclosure is related to distributed media cache for data storage systems, such as disc drives, flash devices, or hybrid devices. In one example, a data storage device comprises a data storage medium and a controller adapted to selectively divide a media cache into a plurality of physically separate media cache portions on the data storage medium based on a physical attribute of the data storage medium and to store data received from a host system into the media cache portions.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: December 6, 2016
    Assignee: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook
  • Patent number: 9274712
    Abstract: The disclosure is related to systems and methods of controlling wear of a memory. In a particular embodiment, a system is disclosed that comprises a memory and a performance governor circuit coupled to the memory. The performance governor circuit is adapted to control a wear of the memory as a function of time.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: March 1, 2016
    Assignee: Seagate Technology LLC
    Inventors: Timothy Richard Feldman, Jonathan Williams Haines, Brett Alan Cook
  • Publication number: 20140181380
    Abstract: The disclosure is related to systems and methods of controlling wear of a memory. In a particular embodiment, a system is disclosed that comprises a memory and a performance governor circuit coupled to the memory. The performance governor circuit is adapted to control a wear of the memory as a function of time.
    Type: Application
    Filed: February 25, 2014
    Publication date: June 26, 2014
    Applicant: Seagate Technology LLC
    Inventors: Timothy Richard Feldman, Jonathan Williams Haines, Brett Alan Cook
  • Patent number: 8732389
    Abstract: The disclosure is related to systems and methods of controlling wear of a memory. In a particular embodiment, a system is disclosed that comprises a memory and a performance governor circuit coupled to the memory. The performance governor circuit is adapted to control a wear of the memory as a function of time.
    Type: Grant
    Filed: June 23, 2009
    Date of Patent: May 20, 2014
    Assignee: Seagate Technology LLC
    Inventors: Timothy Richard Feldman, Jonathan Williams Haines, Brett Alan Cook
  • Patent number: 8560770
    Abstract: The present disclosure provides a data storage system. In one example, the data storage system includes a data storage media component having a plurality of data storage locations. A first set of the plurality of data storage locations are allocated for a main data storage area. The data storage system also includes a controller configured to define a write cache for the main data storage area by selectively allocating a second set of the plurality of data storage locations.
    Type: Grant
    Filed: November 13, 2009
    Date of Patent: October 15, 2013
    Assignee: Seagate Technology LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Luke William Friendshuh, Mark Allen Gaertner
  • Patent number: 8443165
    Abstract: An exemplary method includes receiving a command for storing data to a plurality of data storage resources, storing the data in a set of buffer storage locations, defining a plurality of jobs for the command, each of the plurality of jobs having an associated data operation with at least one of the data storage resources, and reallocating a subset of the buffer storage locations that stored the data for a completed job prior to completion of at least one other job.
    Type: Grant
    Filed: May 8, 2012
    Date of Patent: May 14, 2013
    Assignee: Seagate Technology LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Timothy Richard Feldman, Paul Michael Wiggins
  • Publication number: 20120221826
    Abstract: An exemplary method includes receiving a command for storing data to a plurality of data storage resources, storing the data in a set of buffer storage locations, defining a plurality of jobs for the command, each of the plurality of jobs having an associated data operation with at least one of the data storage resources, and reallocating a subset of the buffer storage locations that stored the data for a completed job prior to completion of at least one other job.
    Type: Application
    Filed: May 8, 2012
    Publication date: August 30, 2012
    Applicant: Seagate Technology LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Timothy Richard Feldman, Paul Michael Wiggins
  • Patent number: 8195909
    Abstract: The present disclosure provides a method in a data storage system. The method includes defining a plurality of jobs for a command received from a host. Each of the plurality of jobs is associated with one or more of a plurality of data storage resources of the data storage system. The plurality of jobs have a defined order that is a function of addresses of data in the plurality of data storage resources. The method also includes issuing the plurality of jobs to the associated data storage resources and receiving information from the data storage resources for the plurality of jobs. The information is received by a controller of the data storage system for the jobs in an order that is different than the defined order. The method includes transmitting the received information to the host for the plurality of jobs in the defined order.
    Type: Grant
    Filed: October 5, 2009
    Date of Patent: June 5, 2012
    Assignee: Seagate Technology LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Timothy Richard Feldman, Paul Michael Wiggins
  • Patent number: 8009471
    Abstract: A method includes programming a non-volatile memory. The memory includes a plurality of cells, wherein each cell is configured to store a plurality of values, wherein each of value is represented by N digits where N is an integer greater than 1, wherein each of the plurality of cells is further configured to store electric charge representing a plurality of voltage levels, and wherein each of the plurality of voltage levels represents one of the plurality of values. Programming comprises providing the plurality of voltage levels into a first group of voltage levels and a second group of voltage levels in one of the plurality of cells, wherein a highest voltage level of the first group is less than or substantially equal to a lowest voltage level of the second group, and storing, in the first group of voltage levels, electric charge representing a value comprising, at most, N-1 digits.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: August 30, 2011
    Assignee: Seagate Technology LLC
    Inventors: Jonathan W. Haines, Tong Shirh Stone, Brett Alan Cook
  • Publication number: 20110161557
    Abstract: This disclosure is related to distributed media cache for data storage systems, such as disc drives, flash devices, or hybrid devices. In one example, a data storage device comprises a data storage medium and a controller adapted to selectively divide a media cache into a plurality of physically separate media cache portions on the data storage medium based on a physical attribute of the data storage medium and to store data received from a host system into the media cache portions.
    Type: Application
    Filed: December 31, 2009
    Publication date: June 30, 2011
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook
  • Publication number: 20110141833
    Abstract: A method includes programming a non-volatile memory. The memory includes a plurality of cells, wherein each cell is configured to store a plurality of values, wherein each of value is represented by N digits where N is an integer greater than 1, wherein each of the plurality of cells is further configured to store electric charge representing a plurality of voltage levels, and wherein each of the plurality of voltage levels represents one of the plurality of values. Programming comprises providing the plurality of voltage levels into a first group of voltage levels and a second group of voltage levels in one of the plurality of cells, wherein a highest voltage level of the first group is less than or substantially equal to a lowest voltage level of the second group, and storing, in the first group of voltage levels, electric charge representing a value comprising, at most, N?1 digits.
    Type: Application
    Filed: December 15, 2009
    Publication date: June 16, 2011
    Applicant: Seagate Technology LLC
    Inventors: Jonathan W. Haines, Tong Shirh Stone, Brett Alan Cook
  • Publication number: 20110119442
    Abstract: The present disclosure provides a data storage system. In one example, the data storage system includes a data storage media component having a plurality of data storage locations. A first set of the plurality of data storage locations are allocated for a main data storage area. The data storage system also includes a controller configured to define a write cache for the main data storage area by selectively allocating a second set of the plurality of data storage locations.
    Type: Application
    Filed: November 13, 2009
    Publication date: May 19, 2011
    Applicant: Seagate Technology LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Luke William Friendshuh, Mark Allen Gaertner
  • Publication number: 20110082985
    Abstract: The present disclosure provides a method in a data storage system. The method includes defining a plurality of jobs for a command received from a host. Each of the plurality of jobs is associated with one or more of a plurality of data storage resources of the data storage system. The plurality of jobs have a defined order that is a function of addresses of data in the plurality of data storage resources. The method also includes issuing the plurality of jobs to the associated data storage resources and receiving information from the data storage resources for the plurality of jobs. The information is received by a controller of the data storage system for the jobs in an order that is different than the defined order. The method includes transmitting the received information to the host for the plurality of jobs in the defined order.
    Type: Application
    Filed: October 5, 2009
    Publication date: April 7, 2011
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Jonathan Williams Haines, Brett Alan Cook, Timothy Richard Feldman, Paul Michael Wiggins
  • Publication number: 20100325340
    Abstract: The disclosure is related to systems and methods of controlling wear of a memory. In a particular embodiment, a system is disclosed that comprises a memory and a performance governor circuit coupled to the memory. The performance governor circuit is adapted to control a wear of the memory as a function of time.
    Type: Application
    Filed: June 23, 2009
    Publication date: December 23, 2010
    Applicant: Seagate Technology LLC
    Inventors: Timothy Richard Feldman, Jonathan Williams Haines, Brett Alan Cook
  • Patent number: 7477469
    Abstract: Method and apparatus for actively protecting a device from damage due to an impact or other acceleration condition. An active protection system is provided with a sensor which outputs an acceleration signal in relation to an acceleration state of the device. A circuit processes the acceleration signal in relation to a configuration control input indicative of an operational environment in which the device is operated, and a protection mechanism configures the device in relation to the processed acceleration signal. A configuration control module preferably supplies the configuration control input as a user selectable or host input. Preferably, protection mechanism places the device in a protective state to protect against damage due to an imminent impact, such as from a free fall condition. The processing preferably comprises adaptive filtering of the acceleration signal and the application of one or more thresholds to detect said imminent impact.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: January 13, 2009
    Assignee: Seagate Technology LLC
    Inventors: Brett Alan Cook, James Carl Hatfield, Jr., Jonathan Williams Haines, JyeKai K. Chang
  • Publication number: 20070253093
    Abstract: Method and apparatus for actively protecting a device from damage due to an impact or other acceleration condition. An active protection system is provided with a sensor which outputs an acceleration signal in relation to an acceleration state of the device. A circuit processes the acceleration signal in relation to a configuration control input indicative of an operational environment in which the device is operated, and a protection mechanism configures the device in relation to the processed acceleration signal. A configuration control module preferably supplies the configuration control input as a user selectable or host input. Preferably, protection mechanism places the device in a protective state to protect against damage due to an imminent impact, such as from a free fall condition. The processing preferably comprises adaptive filtering of the acceleration signal and the application of one or more thresholds to detect said imminent impact.
    Type: Application
    Filed: November 28, 2006
    Publication date: November 1, 2007
    Applicant: Seagate Technology LLC
    Inventors: Brett Alan Cook, James Carl Hatfield, Jonathan Williams Haines, Jyekai k Chang
  • Patent number: 6757781
    Abstract: A method and system for managing the transfer of data into and out of a buffer in a disc drive is disclosed. The operation of the vectored buffer management (VBM) system is administered by a software-based control module. The control module creates and maintains a buffer table by dividing the buffer table into buffer sectors. The buffer sectors are further arranged into buffer segments, or circularly linked lists upon which the buffer table is partitioned. The control module effectuates the transfer by implementing an application module across the buffer table. Once the application module is arbitrarily positioned at an index sector by the control module, data transfer is accomplished when the application module walks through a particular buffer segment identified by the index sector. Specific control of the application module across a buffer segment is administered through host and disc address pointers, which are coupled to host and disc next pointers, respectively.
    Type: Grant
    Filed: December 7, 2001
    Date of Patent: June 29, 2004
    Assignee: Seagate Technology LLC
    Inventors: Steven Scott Williams, Brett Alan Cook, Gregory Paul Moller, Jonathan Williams Haines
  • Publication number: 20030149815
    Abstract: A method and system for managing the transfer of data into and out of a buffer in a disc drive is disclosed. The operation of the vectored buffer management (VBM) system is administered by a software-based control module. The control module creates and maintains a buffer table by dividing the buffer table into buffer sectors. The buffer sectors are further arranged into buffer segments, or circularly linked lists upon which the buffer table is partitioned. The control module effectuates the transfer by implementing an application module across the buffer table. Once the application module is arbitrarily positioned at an index sector by the control module, data transfer is accomplished when the application module walks through a particular buffer segment identified by the index sector. Specific control of the application module across a buffer segment is administered through host and disc address pointers, which are coupled to host and disc next pointers, respectively.
    Type: Application
    Filed: December 7, 2001
    Publication date: August 7, 2003
    Applicant: Seagate Technology LLC
    Inventors: Steven Scott Williams, Brett Alan Cook, Gregory Paul Moller, Jonathan Williams Haines
  • Patent number: 6330640
    Abstract: A method and system for managing the transfer of data into and out of a buffer in a disc drive is disclosed. The operation of the vectored buffer management (VBM) system is administered by a software-based control module. The control module creates and maintains a buffer table by dividing the buffer table into buffer sectors. The buffer sectors are further arranged into buffer segments, or circularly linked lists upon which the buffer table is partitioned. The control module effectuates the transfer by implementing an application module across the buffer table. Once the application module is arbitrarily positioned at an index sector by the control module, data transfer is accomplished when the application module walks through a particular buffer segment identified by the index sector. Specific control of the application module across a buffer segment is administered through host and disc address pointers, which are coupled to host and disc next pointers, respectively.
    Type: Grant
    Filed: October 26, 2000
    Date of Patent: December 11, 2001
    Assignee: Seagate Technology LLC
    Inventors: Steven Scott Williams, Brett Alan Cook, Gregory Paul Moller, Jonathan Williams Haines