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


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


5
Aaron K Olbrich: Method and apparatus for sorting disk access commands in a rotational position queue according to time differences between the commands. International Business Machines Corporation, Merchant Gould Smith Edell Welter & Schmidt P A, September 2, 1997: US05664143 (20 worldwide citation)

A method and apparatus for sorting a rotational position queue without sensing the rotational position of a recording media in a disk drive. Commands are accepted into a rotational position queue. A first command is selected and assigned the physical address of the last requested block of the first ...


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, Doug Prins: MLC self-RAID flash data protection scheme. Sandisk Enterprise IP, Morgan Lewis & Bockius, July 9, 2013: US08484533 (6 worldwide citation)

A two-dimensional self-RAID method of protecting page-based storage data in a MLC multiple-level-cell flash memory device. The protection scheme includes reserving one parity sector across each data page, reserving one parity page as the column parity, selecting a specific number of pages to form a ...


10
Aaron K Olbrich, Doug Prins: MLC self-RAID flash data protection scheme. Sandisk Enterprise IP, Morgan Lewis & Bockius, July 9, 2013: US08484534 (3 worldwide citation)

In a multiple level cell flash memory data storage device, a flash memory array has a plurality of blocks, where each block is an erase unit and has a plurality of pages, and a respective block includes a plurality of groups of pages. Each group of pages in the respective block includes an assigned ...