Patents by Inventor Douglas A. Prins

Douglas A. Prins 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: 10500898
    Abstract: A three-wheeled all-terrain vehicle or push chair utilizes an innovative front wheel mount, employing a side-mounted caster mechanism, for improving its pushability and steerability. Because of this approach, lifting is not required to steer the chair, and any size or type and width of wheel can be used. As a result, the invention provides a new class of all-terrain product for the disabled adult market and a rugged, truly off-road runner/jogger/hiker stroller for the young child market.
    Type: Grant
    Filed: April 26, 2018
    Date of Patent: December 10, 2019
    Assignee: Off Road Access, LLC
    Inventor: Douglas A. Prins
  • Patent number: 9753649
    Abstract: Systems, methods and/or devices are used to enable tracking intermix of writes and un-map commands across power cycles. In one aspect, the method includes (1) receiving, at a storage device, a plurality of commands from a host, the storage device including non-volatile memory, (2) maintaining a log corresponding to write commands and un-map commands from the host, (3) maintaining a mapping table in volatile memory, the mapping table used to translate logical addresses to physical addresses, (4) saving the mapping table, on a scheduled basis that is independent of the un-map commands, to the non-volatile memory of the storage device, (5) saving the log to the non-volatile memory, and (6) upon power up of the storage device, rebuilding the mapping table from the saved mapping table in the non-volatile memory of the storage device and from the saved log in the non-volatile memory of the storage device.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: September 5, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich, Huapeng Guan, Graeme Weston-Lewis, Anand Kulkarni, Yipei Yu
  • Patent number: 9483210
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: November 1, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 9448743
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Grant
    Filed: April 25, 2014
    Date of Patent: September 20, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Publication number: 20160117099
    Abstract: Systems, methods and/or devices are used to enable tracking intermix of writes and un-map commands across power cycles. In one aspect, the method includes (1) receiving, at a storage device, a plurality of commands from a host, the storage device including non-volatile memory, (2) maintaining a log corresponding to write commands and un-map commands from the host, (3) maintaining a mapping table in volatile memory, the mapping table used to translate logical addresses to physical addresses, (4) saving the mapping table, on a scheduled basis that is independent of the un-map commands, to the non-volatile memory of the storage device, (5) saving the log to the non-volatile memory, and (6) upon power up of the storage device, rebuilding the mapping table from the saved mapping table in the non-volatile memory of the storage device and from the saved log in the non-volatile memory of the storage device.
    Type: Application
    Filed: March 16, 2015
    Publication date: April 28, 2016
    Inventors: Douglas A. Prins, Aaron K. Olbrich, Huapeng Guan, Graeme Weston-Lewis, Anand Kulkarni, Yipei Yu
  • Publication number: 20160034227
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Application
    Filed: October 7, 2015
    Publication date: February 4, 2016
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 9239783
    Abstract: A storage controller has multiple processors, divided into groups, each of which handles a different stage of a pipelined process of performing host reads and writes. In some embodiments, the storage controller operates with a flash memory module, and includes a first processor group, a second processor group and a third processor group, each having one or more processors for handling a different stage of a pipelined execution of host storage commands. With respect to a first host command, a first processor of the first processor group, a first processor of the second processor group, and a first processor of the third processor group comprise a first pipeline, and with respect to a second host command, a second processor of the first processor group, a second processor of the second processor group, and a second processor of the third processor group comprise a second pipeline.
    Type: Grant
    Filed: May 14, 2013
    Date of Patent: January 19, 2016
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 9158677
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Grant
    Filed: May 3, 2013
    Date of Patent: October 13, 2015
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 9152556
    Abstract: A method of rebuilding metadata in a flash memory controller following a loss of power is provided. The method includes reading logical address information associated with an area of flash memory, and using time stamp information to determine if data stored in the flash memory area are valid.
    Type: Grant
    Filed: December 11, 2013
    Date of Patent: October 6, 2015
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 9003264
    Abstract: A method for recovering corrupted data stored in persistent memory provides protection against, at least, loss of a single block, loss of a single page, as well as a high number of random retention errors. In some implementations, each data element in a quadrant of the persistent memory is protected by a row check word and a diagonal check word. Each row check word includes a value resulting from a mathematical operation performed on a respective row set comprising a set of data elements and each diagonal check word in the quadrant includes a value resulting from a mathematical operation performed on a respective diagonal set comprising a set of data elements distributed over the banks, blocks and pages in the quadrant so that failure of any one page, block or die in the quadrant does not result in the loss of any data in the quadrant.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: April 7, 2015
    Assignee: SanDisk Enterprise IP LLC
    Inventor: Douglas A. Prins
  • Patent number: 8959282
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: February 17, 2015
    Assignee: SanDisk Enterprise IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 8959283
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: February 17, 2015
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Publication number: 20140237168
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Application
    Filed: April 25, 2014
    Publication date: August 21, 2014
    Applicant: SanDisk Enterprise IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 8775717
    Abstract: A controller designed for use with a flash memory storage module, including a crossbar switch designed to connect a plurality of internal processors with various internal resources, including a plurality of internal memories. The memories contain work lists for the processors. In one embodiment, the processors communicate by using the crossbar switch to place tasks on the work lists of other processors.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: July 8, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 8762620
    Abstract: A storage controller containing multiple processors. The processors are divided into groups, each of which handles a different stage of a pipelined process of performing host reads and writes. In one embodiment, the storage controller operates with a flash memory module, and includes multiple parallel pipelines that allow plural host commands to be handled simultaneously.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: June 24, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 8751755
    Abstract: A volatile memory associated with a mass storage controller and a flash memory module. The volatile memory includes a number of tables containing information related to the flash memory storage, including a table storing physical flash memory addresses and a plurality of tables containing metadata.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: June 10, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 8738841
    Abstract: A storage controller connected to a flash memory storage module, the controller and module including multiple sets of buffers. The buffers are part of one or more pipelines through which data is moved between the storage module and one or more hosts.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: May 27, 2014
    Assignee: Sandisk Enterprise IP LLC.
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Publication number: 20140108715
    Abstract: A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
    Type: Application
    Filed: December 20, 2013
    Publication date: April 17, 2014
    Applicant: SanDisk Enterprise IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Publication number: 20140101378
    Abstract: A method of rebuilding metadata in a flash memory controller following a loss of power is provided. The method includes reading logical address information associated with an area of flash memory, and using time stamp information to determine if data stored in the flash memory area are valid.
    Type: Application
    Filed: December 11, 2013
    Publication date: April 10, 2014
    Applicant: SanDisk Enterprise IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 8621137
    Abstract: A method of rebuilding metadata in a flash memory controller following a loss of power. The method includes reading logical address information associated with an area of flash memory, and using time stamp information to determine if data stored in the flash memory area is valid.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: December 31, 2013
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Aaron K. Olbrich, Douglas A. Prins