1
Aaron K Olbrich, Douglas A Prins: Flash memory controller having reduced pinout. Pliant Technology, Haynes and Boone, July 12, 2011: US07978516 (155 worldwide citation)

Disclosed is a flash memory controller connected to a flash memory module. The pin-out of the flash memory controller combines ready-busy and chip-select signals. In one embodiment, the flash memory module is made up of a set of banks, each consisting of a plurality of devices, with each bank sharin ...


2
Douglas A Prins, Aaron K Olbrich: System and method for performing host initiated mass storage commands using a hierarchy of data structures. Pliant Technology, Haynes and Boone, April 26, 2011: US07934052 (130 worldwide citation)

Disclosed is a mass storage system and method for breaking a host command into a hierarchy of data structures. Different types of data structures are designed to handle different phases of tasks required by the host command, and multiple data structures may be used to handle portions of the host com ...


3
Douglas A Prins, Gary S Dickinson, Gary E Schultz: System and method for generating unique sector identifiers for an identificationless disk format. QLogic Corporation, Fish & Richardson P C, May 6, 1997: US05627695 (58 worldwide citation)

A method and apparatus for determining the position of a head with respect to a rotating magnetic disk within a disk data storage device using standard signals output from a head/drive assembly (HDA). Servo zone detect pulses are used to determine the position of the read/write head with respect to ...


4
Aaron K Olbrich, Douglas A Prins: Patrol function used in flash storage controller to detect data errors. Sandisk Enterprise IP, Morgan Lewis & Bockius, August 14, 2012: US08245101 (45 worldwide citation)

A patrol function performed in a storage controller connected to a flash memory storage module. The function causes selected areas of the flash storage to be read for purposes of detecting and correcting errors.


5
Aaron K Olbrich, Douglas A Prins: Flash memory controller garbage collection operations performed independently in multiple flash memory groups. Sandisk Enterprise IP, Morgan Lewis & Bockius, February 26, 2013: US08386700 (35 worldwide citation)

A flash memory controller connected to multiple flash memory groups performs independent garbage collection operations in each group. For each group, the controller independently determines the amount of free space and performs garbage collection operations if the amount falls below a threshold.


6
Douglas A Prins, Aaron K Olbrich: Multiprocessor storage controller. Sandisk Enterprise IP, Morgan Lewis & Bockius, June 24, 2014: US08762620 (8 worldwide citation)

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 parall ...


7
Aaron K Olbrich, Douglas A Prins: Metadata rebuild in a flash memory controller following a loss of power. SANDISK ENTERPRISE IP, Morgan Lewis & Bockius, October 6, 2015: US09152556 (6 worldwide citation)

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.


8
Aaron K Olbrich, Douglas A Prins: Flash memory controller and system including data pipelines incorporating multiple buffers. Sandisk Enterprise IP, Morgan Lewis & Bockius, May 27, 2014: US08738841 (6 worldwide citation)

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.


9
Aaron K Olbrich, Douglas A Prins: Flash memory controller garbage collection operations performed independently in multiple flash memory groups. Sandisk Enterprise IP, Morgan Lewis & Bockius, September 10, 2013: US08533384 (3 worldwide citation)

A flash memory controller connected to multiple flash memory groups performs independent garbage collection operations in each group. For each group, the controller independently determines the amount of free space and performs garbage collection operations if the amount falls below a threshold.


10
Douglas A Prins: Systems, methods, and devices for multi-dimensional flash RAID data protection. SanDisk Enterprise IP, Morgan Lewis & Bockius, April 7, 2015: US09003264 (2 worldwide citation)

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 ...