Patents by Inventor Timothy Swatosh
Timothy Swatosh 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: 8898371Abstract: Described embodiments provide a media controller for a storage device having sectors, the sectors organized into blocks and superblocks. The media controller stores, on the storage device, logical-to-physical address translation data in N summary pages, where N corresponds to the number of superblocks of the storage device. A buffer layer module of the media controller initializes a summary page cache in a buffer. The summary page cache has space for M summary page entries, where M is less than or equal to N. For operations that access a summary page, the media controller searches the summary page cache for the summary page. If the summary page is stored in the summary page cache, the buffer layer module retrieves the summary page from the summary page cache. Otherwise, the buffer layer module retrieves the summary page from the storage device and stores the retrieved summary page to the summary page cache.Type: GrantFiled: April 29, 2010Date of Patent: November 25, 2014Assignee: LSI CorporationInventors: Randy Reiter, Timothy Swatosh, Pamela Hempstead, Michael Hicken
-
Patent number: 8762789Abstract: Described embodiments provide a media controller for processing a diagnostic request received from a diagnostic source. The received diagnostic request is parsed by a corresponding request handling module of the media controller, where each diagnostic source type has a corresponding request handling module. If the received diagnostic request requires allocation of buffer space, a common diagnostic handling module of the media controller allocates buffer space in a buffer for the received diagnostic request. The common diagnostic handling module is common for all diagnostic source types. The common diagnostic handling module provides the received diagnostic request to a corresponding one of a plurality of end diagnostic handling modules. The end diagnostic handling module performs the diagnostic tasks. If the received diagnostic request requires a transfer of data to the diagnostic source, the common diagnostic handling module performs the data transfer between the media controller and the diagnostic source.Type: GrantFiled: September 1, 2010Date of Patent: June 24, 2014Assignee: LSI CorporationInventors: Timothy Lund, Carl Forhan, Randal S. Rysavy, Timothy Swatosh
-
Patent number: 8555141Abstract: A flash-memory system is organized into a plurality of blocks and a plurality of pages in each block, each page having 2N data locations and K spare locations. At least one page in the memory has 2M user data sectors and each sector has 2N-M+L locations therein. Because L is at least 1 but less than 2N-M, user data is stored in the spare memory locations. By storing user data in spare locations that were previously off-limits to user data, enterprise-sized sectors can be efficiently stored in flash memories with little wasted memory, thereby making flash-memory systems compatible with existing hard-drive storage systems in enterprise system applications.Type: GrantFiled: June 4, 2009Date of Patent: October 8, 2013Assignee: LSI CorporationInventors: Michael Hicken, Timothy Swatosh, Martin Dell
-
Patent number: 8352690Abstract: Described embodiments provide a media controller that synchronizes data cached in a buffer and corresponding data stored in one or more sectors of a storage device. A buffer layer module of the media controller caches data transferred between the buffer and the storage device. One or more contiguous sectors are associated with one or more chunks. The buffer layer module updates a status corresponding to each chunk of the cached data and scans the status corresponding to a first chunk of cached data. If, based on the status, the first chunk of cached data is more recent than the corresponding data stored on the storage device, a media layer module synchronizes the data on the storage device with the cached data. The status corresponding to the group of one or more sectors is updated. The media layer module scans a next chunk of cached data, if present.Type: GrantFiled: March 24, 2010Date of Patent: January 8, 2013Assignee: LSI CorporationInventors: Carl Forhan, Timothy Swatosh, Pamela Hempstead, Timothy Lund, Michael Hicken
-
Patent number: 8301861Abstract: Described embodiments provide reconstruction of logical-to-physical address mapping data for one or more sectors of a storage device at startup of a media controller. The sectors of the storage device are organized into blocks and superblocks and the address mapping data is stored in a volatile memory. At a startup condition of the media controller, a buffer layer module of the media controller allocates space in the volatile memory for one or more logical-to-physical address mapping data structures. A media layer module of the media controller determines a block type of each block of the storage device and places each block of the storage device into corresponding groups based on the determined block type of each block. The one or more blocks of each group are processed, and one or more address mapping data structures for the storage device are constructed in the allocated space in the volatile memory.Type: GrantFiled: April 29, 2010Date of Patent: October 30, 2012Assignee: LSi CorporationInventors: Randy Reiter, Timothy Swatosh, Pamela Hempstead, Michael Hicken
-
Patent number: 8219776Abstract: Described embodiments provide logical-to-physical address translation for data stored on a storage device having sectors organized into blocks and superblocks. A flash translation layer maps a physical address in the storage device to a logical sector address. The logical sector address corresponds to mapping data that includes i) a page index, ii) a block index, and iii) a superblock number. The mapping data is stored in at least one summary page corresponding to the superblock containing the physical address. A block index and a page index of a next empty page in the superblock are stored in a page global directory corresponding to the superblock. A block index and a page index of the at least one summary page and the at least one active block table for each superblock are stored in at least one active block table of the storage device.Type: GrantFiled: December 21, 2009Date of Patent: July 10, 2012Assignee: LSI CorporationInventors: Carl Forhan, Pamela Hempstead, Michael Hicken, Randy Reiter, Timothy Swatosh
-
Patent number: 8166258Abstract: Described embodiments provide skip operations for transferring data to or from a plurality of non-contiguous sectors of a solid-state memory. A host layer module sends data to, and receives commands from, a communication link. Received commands are one of read requests or write requests, with commands including i) a starting sector address, ii) a skip mask indicating the span of all sector addresses in the request and the sectors to be transferred, iii) a total number of sectors to be transferred; and, for write requests, iv) the data to be written to the sectors. A buffer stores data for transfer to or from the solid-state memory. A buffer layer module i) manages the buffer, ii) segments the span of the request into a plurality of chunks, and iii) determines, based on the skip mask, a number of chunks to be transferred to or from the solid-state memory.Type: GrantFiled: July 24, 2009Date of Patent: April 24, 2012Assignee: LSI CorporationInventors: Timothy Lund, Carl Forhan, Timothy Swatosh, Pamela Hempstead, Michael Hicken, Bryan Holty, John Paradise
-
Publication number: 20110072194Abstract: Described embodiments provide logical-to-physical address translation for data stored on a storage device having sectors organized into blocks and superblocks. A flash translation layer maps a physical address in the storage device to a logical sector address. The logical sector address corresponds to mapping data that includes i) a page index, ii) a block index, and iii) a superblock number. The mapping data is stored in at least one summary page corresponding to the superblock containing the physical address. A block index and a page index of a next empty page in the superblock are stored in a page global directory corresponding to the superblock. A block index and a page index of the at least one summary page and the at least one active block table for each superblock are stored in at least one active block table of the storage device.Type: ApplicationFiled: December 21, 2009Publication date: March 24, 2011Inventors: Carl Forhan, Pamela Hempstead, Michael Hicken, Randy Reiter, Timothy Swatosh
-
Publication number: 20110072199Abstract: Described embodiments provide reconstruction of logical-to-physical address mapping data for one or more sectors of a storage device at startup of a media controller. The sectors of the storage device are organized into blocks and superblocks and the address mapping data is stored in a volatile memory. At a startup condition of the media controller, a buffer layer module of the media controller allocates space in the volatile memory for one or more logical-to-physical address mapping data structures. A media layer module of the media controller determines a block type of each block of the storage device and places each block of the storage device into corresponding groups based on the determined block type of each block. The one or more blocks of each group are processed, and one or more address mapping data structures for the storage device are constructed in the allocated space in the volatile memory.Type: ApplicationFiled: April 29, 2010Publication date: March 24, 2011Inventors: Randy Reiter, Timothy Swatosh, Pamela Hempstead, Michael Hicken
-
Publication number: 20110072209Abstract: Described embodiments provide a media controller for processing a diagnostic request received from a diagnostic source. The received diagnostic request is parsed by a corresponding request handling module of the media controller, where each diagnostic source type has a corresponding request handling module. If the received diagnostic request requires allocation of buffer space, a common diagnostic handling module of the media controller allocates buffer space in a buffer for the received diagnostic request. The common diagnostic handling module is common for all diagnostic source types. The common diagnostic handling module provides the received diagnostic request to a corresponding one of a plurality of end diagnostic handling modules. The end diagnostic handling module performs the diagnostic tasks. If the received diagnostic request requires a transfer of data to the diagnostic source, the common diagnostic handling module performs the data transfer between the media controller and the diagnostic source.Type: ApplicationFiled: September 1, 2010Publication date: March 24, 2011Inventors: Timothy Lund, Carl Forhan, Randal S. Rysavy, Timothy Swatosh
-
Publication number: 20110072196Abstract: Described embodiments provide a media controller that synchronizes data cached in a buffer and corresponding data stored in one or more sectors of a storage device. A buffer layer module of the media controller caches data transferred between the buffer and the storage device. One or more contiguous sectors are associated with one or more chunks. The buffer layer module updates a status corresponding to each chunk of the cached data and scans the status corresponding to a first chunk of cached data. If, based on the status, the first chunk of cached data is more recent than the corresponding data stored on the storage device, a media layer module synchronizes the data on the storage device with the cached data. The status corresponding to the group of one or more sectors is updated. The media layer module scans a next chunk of cached data, if present.Type: ApplicationFiled: March 24, 2010Publication date: March 24, 2011Inventors: Carl Forhan, Timothy Swatosh, Pamela Hempstead, Timothy Lund, Michael Hicken
-
Publication number: 20110072198Abstract: Described embodiments provide a media controller for a storage device having sectors, the sectors organized into blocks and superblocks. The media controller stores, on the storage device, logical-to-physical address translation data in N summary pages, where N corresponds to the number of superblocks of the storage device. A buffer layer module of the media controller initializes a summary page cache in a buffer. The summary page cache has space for M summary page entries, where M is less than or equal to N. For operations that access a summary page, the media controller searches the summary page cache for the summary page. If the summary page is stored in the summary page cache, the buffer layer module retrieves the summary page from the summary page cache. Otherwise, the buffer layer module retrieves the summary page from the storage device and stores the retrieved summary page to the summary page cache.Type: ApplicationFiled: April 29, 2010Publication date: March 24, 2011Inventors: Randy Reiter, Timothy Swatosh, Pamela Hempstead, Michael Hicken
-
Publication number: 20110022779Abstract: Described embodiments provide skip operations for transferring data to or from a plurality of non-contiguous sectors of a solid-state memory. A host layer module sends data to, and receives commands from, a communication link. Received commands are one of read requests or write requests, with commands including i) a starting sector address, ii) a skip mask indicating the span of all sector addresses in the request and the sectors to be transferred, iii) a total number of sectors to be transferred; and, for write requests, iv) the data to be written to the sectors. A buffer stores data for transfer to or from the solid-state memory. A buffer layer module i) manages the buffer, ii) segments the span of the request into a plurality of chunks, and iii) determines, based on the skip mask, a number of chunks to be transferred to or from the solid-state memory.Type: ApplicationFiled: July 24, 2009Publication date: January 27, 2011Inventors: Tim Lund, Carl Forhan, Timothy Swatosh, Pamela Hempstead, Michael Hicken, Bryan Holty, John Paradise
-
Publication number: 20100313097Abstract: A flash-memory system is organized into a plurality of blocks and a plurality of pages in each block, each page having 2N data locations and K spare locations. At least one page in the memory has 2M user data sectors and each sector has 2N-M+L locations therein. Because L is at least 1 but less than 2N-M, user data is stored in the spare memory locations. By storing user data in spare locations that were previously off-limits to user data, enterprise-sized sectors can be efficiently stored in flash memories with little wasted memory, thereby making flash-memory systems compatible with existing hard-drive storage systems in enterprise system applications.Type: ApplicationFiled: June 4, 2009Publication date: December 9, 2010Inventors: Michael Hicken, Timothy Swatosh, Martin Dell
-
Publication number: 20050234916Abstract: A method, apparatus and program storage device for providing control to a networked storage architecture is disclosed. A networked storage device is provided. Controllers are coupled to the at least one networked storage device for controlling input/output operations of the networked storage device. The networked storage device includes a file system for storing data provided by a first of the controllers for retrieval by the other controllers.Type: ApplicationFiled: April 7, 2004Publication date: October 20, 2005Inventors: Lyle Bergman, Dave Ebsen, Randal Rysavy, Timothy Swatosh, Jeffrey Williams
-
Patent number: 6105104Abstract: A method of mapping sequential logical data blocks to multiple disk surfaces. Data blocks are written to a predetermined number of adjacent tracks on each surface before performing a head switch to write data on another surface. The predetermined number of tracks are written on each surface in turn before performing a seek and head switch to continue writing on another predetermined number of tracks on each surface. After each head switch to continue writing from the radial position reached when writing the previous group of tracks, the direction of track incrementing or decrementing reverses so that the actuator moves back and forth in a "serpentine" manner.Type: GrantFiled: October 20, 1997Date of Patent: August 15, 2000Assignee: Western Digital CorporationInventors: James Edward Guttmann, Mark David Heminger, Michael Scott Hicken, Steven M. Howe, Timothy Swatosh
-
Patent number: 6092149Abstract: A magnetic disk drive with a caching system includes an intelligent interface to communicate with a host, a magnetic disk and a cache memory to buffer data transferred to and from the host. The caching system maximizes drive performance based on past access history. The caching system alters execution of commands by coalescing commands or executing internal commands in parallel. The caching system anticipates data requests by using a prefetch to store data that may be requested. The caching system divides the cache memory into segments to store multiple streams of data. The number of segments may be continuously adapted according to the types of access to maximize performance by maintaining a segment for each sequential stream of data. The caching system uses a dynamic priority list to determine segments to maintain and discard. Each segment is monitored to determine access types such as sequential, random, and repeating.Type: GrantFiled: May 28, 1997Date of Patent: July 18, 2000Assignee: Western Digital CorporationInventors: Michael Scott Hicken, Steven M. Howe, Daniel John Sokolov, Timothy Swatosh, Jeffrey L. Williams
-
Patent number: 5890211Abstract: A method of operating a disk drive having a cache provides for adapting the amount of prefetch. The drive also has an intelligent interface for communicating with a host, and a magnetic disk. The cache is divisible into a number of segments, and employs a cache control structure including a cache array with a cache array entry. When the drive receives a first command, the method provides a step of performing a scan of the cache to assign the first command to a segment. The method further includes the step of maintaining the cache array with a cache array entry for each one of the number of segments, where each cache array entry classifies a segment by a cache access type, wherein the cache access type is selected from a plurality of access types including sequential and random. The method further includes the step of determining a limit on the amount of prefetch based on the cache access type for the first command and a cache environment variable. The limit may be a minimum prefetch or a maximum prefetch.Type: GrantFiled: June 26, 1997Date of Patent: March 30, 1999Assignee: Western Digital CorporationInventors: Daniel John Sokolov, Timothy Swatosh