Patents by Inventor James G. Peterson
James G. Peterson 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: 9952781Abstract: A storage controller identifies a storage location within a storage division that corresponds to a high error rate. In response, the storage controller may refresh data stored on the storage division by relocating data from the storage division and/or initializing (e.g., erasing) the storage division. In some embodiments, the storage division is selectively refreshed by relocating data from the storage location(s) having high error rates, while deferring a full relocation of other data from the storage division. The storage division may be selectively refreshed based on reliability characteristics of the storage division, such as the remaining data retention time calculated for the storage division.Type: GrantFiled: November 3, 2014Date of Patent: April 24, 2018Assignee: SanDisk Technologies LLCInventors: Evan Orme, James G. Peterson
-
Patent number: 9798673Abstract: Techniques are disclosed relating to storing translations in memory that are usable to access data on a recording medium. In one embodiment, a request is sent for a memory allocation within a non-pageable portion of a memory in a computer system. Responsive to the request, allocated memory is received. Translations usable to map logical addresses to physical addresses within a storage device are stored within the allocated memory. In some embodiments, the translations are usable to access an area within the storage device used to store pages evicted from the memory. In one embodiment, a size of the memory allocation is determined based on a size of the area. In another embodiment, a size of the memory allocation is determined based on a size of a partition including the area. In some embodiments, the storage device is a solid-state storage array.Type: GrantFiled: March 14, 2013Date of Patent: October 24, 2017Assignee: SanDisk Technologies LLCInventors: James G. Peterson, Igor Sharovar, David Atkisson
-
Publication number: 20170143296Abstract: In part, the disclosure relates to computer-based methods, devices, and systems suitable for detecting a delivery catheter using intravascular data. In one embodiment, the delivery catheter is used to position the intravascular data collection probe. The probe can collect data suitable for generating one or more representations of a blood vessel with respect to which the delivery catheter can be detected.Type: ApplicationFiled: December 18, 2015Publication date: May 25, 2017Applicant: LIGHTLAB IMAGING, INC.Inventors: James G. Peterson, Christopher E. Griffin, Sonal Ambwani
-
Publication number: 20160335766Abstract: The disclosure relates, in part, to computer-based visualization of stent position within a blood vessel. A stent can be visualized using intravascular data and subsequently displayed as stent struts or portions of a stent as a part of a one or more graphic user interface(s) (GUI). In one embodiment, the method includes steps to distinguish stented region(s) from background noise using an amalgamation of angular stent strut information for a given neighborhood of frames. The GUI can include views of a blood vessel generated using distance measurements and demarcating the actual stented region(s), which provides visualization of the stented region. The disclosure also relates to display of intravascular diagnostic information such as indicators. An indicator can be generated and displayed with images generated using an intravascular data collection system. The indicators can include one or more viewable graphical elements suitable for indicating diagnostic information such as stent information.Type: ApplicationFiled: May 17, 2016Publication date: November 17, 2016Applicant: LightLab Imaging, Inc.Inventors: Sonal Ambwani, Christopher E. Griffin, James G. Peterson, Satish Kaveti, Joel M. Friedman
-
Patent number: 9342256Abstract: Techniques are disclosed relating to handling snapshot data for a storage device. In one embodiment, a computing system maintains information that indicates the state of data associated with an application at a particular point in time. In this embodiment, the computing system assigns an epoch number to a current epoch, where the current epoch is an interval between the particular point in time and a future point in time. In this embodiment, the computing system writes, during the current epoch, a block of data to the storage device. In this embodiment, the writing the block of data includes storing the epoch number with the block of data.Type: GrantFiled: March 14, 2013Date of Patent: May 17, 2016Assignee: SANDISK TECHNOLOGIES, INC.Inventors: James G. Peterson, Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian
-
Publication number: 20160132243Abstract: Data of a vector storage request pertaining to one or more disjoint, non-adjacent, and/or non-contiguous logical identifier ranges are stored contiguously within a log on a non-volatile storage medium. A request consolidation module modifies one or more sub-requests of the vector storage request in response to other, cached storage requests. Data of an atomic vector storage request may comprise persistent indicators, such as persistent metadata flags, to identify data pertaining to incomplete atomic storage requests. A restart recovery module identifies and excludes data of incomplete atomic operations.Type: ApplicationFiled: January 19, 2016Publication date: May 12, 2016Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20160110125Abstract: A storage controller identifies a storage division comprising unreadable data. In response, the storage controller relocates readable data (if any) from the identified storage division. The storage controller may be further configured to associate the unreadable data with a logical address, and to record persistent metadata to indicate that the logical address is mapped to unreadable, corrupt data. The storage controller may clear the corruption indicator from the logical address. The logical address may be cleared in response to determining that the unreadable data is invalid and/or available from another source.Type: ApplicationFiled: October 31, 2014Publication date: April 21, 2016Applicant: FUSION-IO, INC.Inventors: Evan Orme, James G. Peterson
-
Publication number: 20160110249Abstract: A storage controller identifies a storage location within a storage division that corresponds to a high error rate. In response, the storage controller may refresh data stored on the storage division by relocating data from the storage division and/or initializing (e.g., erasing) the storage division. In some embodiments, the storage division is selectively refreshed by relocating data from the storage location(s) having high error rates, while deferring a full relocation of other data from the storage division. The storage division may be selectively refreshed based on reliability characteristics of the storage division, such as the remaining data retention time calculated for the storage division.Type: ApplicationFiled: November 3, 2014Publication date: April 21, 2016Applicant: Fusion-IO, Inc.Inventors: Evan Orme, James G. Peterson
-
Patent number: 9274937Abstract: Data of a vector storage request pertaining to one or more disjoint, non-adjacent, and/or non-contiguous logical identifier ranges are stored contiguously within a log on a non-volatile storage medium. A request consolidation module modifies one or more sub-requests of the vector storage request in response to other, cached storage requests. Data of an atomic vector storage request may comprise persistent indicators, such as persistent metadata flags, to identify data pertaining to incomplete atomic storage requests. A restart recovery module identifies and excludes data of incomplete atomic operations.Type: GrantFiled: December 21, 2012Date of Patent: March 1, 2016Assignee: Longitude Enterprise Flash S.a.r.l.Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20160026408Abstract: Embodiments are disclosed relating to garbage collecting storage blocks in a storage device. In one embodiment, data is selected for relocation from a storage block in a storage device during reclaiming of the storage block. The data may be selected based on metadata that identifies whether data is valid at a time when the reclaiming is initiated. In some embodiments, prior to relocating data from the storage block, the metadata is captured from a data structure that identifies whether data on the storage device is valid. In one embodiment, a determination of whether the selected data has become invalid due to other data that is stored during the reclaiming is made. In some embodiments, in response to determining that the selected data has become invalid, the selected data is specified as invalid in the data structure.Type: ApplicationFiled: October 21, 2014Publication date: January 28, 2016Applicant: FUSION-IO, INC.Inventor: James G. Peterson
-
Patent number: 9223662Abstract: Apparatuses, systems, methods, and computer program products for auto-commit memory are presented. A monitor module determines that a triggering event for an auto-commit memory has occurred. An identification module identifies a triggered commit action for an auto-commit memory. An auto-commit memory module performs a triggered commit action for an auto-commit memory in response to a triggering event occurring.Type: GrantFiled: August 27, 2013Date of Patent: December 29, 2015Assignee: SanDisk Technologies, Inc.Inventors: David Flynn, David Nellans, John Strasser, James G. Peterson, Robert Wipfel
-
Patent number: 9195396Abstract: Techniques are disclosed relating to determining statistics associated with the storage of data on a medium. In one embodiment, a computing system maintains a management statistic for a storage device, and uses the management statistic as a proxy for a workload statistic for a storage block within the storage device. In some embodiments, the storage block is a first storage block included within a second storage block of the storage device. In one embodiment, the management statistic is a timestamp indicative of when a write operation was performed for the second storage block; the workload statistic is a write frequency of the first storage block. In one embodiment, the management statistic is a number of read operations performed for the second storage block; the using includes deriving, based on the number of read operation, a read frequency for the first storage block as the workload statistic.Type: GrantFiled: March 14, 2013Date of Patent: November 24, 2015Assignee: SanDisk Technologies, Inc.Inventors: James G. Peterson, Swaminathan Sundararaman
-
Patent number: 9170897Abstract: A storage controller may be configured to assess the reliability of a solid-state storage medium. The storage controller may be further configured to project, forecast, and/or estimate storage reliability at a future time. The projection may be based on a currently reliability metric of the storage and a reliability model. The portions or sections of the solid-state storage media may be retired in response the projected reliability metric failing to satisfy a reliability threshold. The reliability threshold may be based on data correction and/or reconstruction characteristics. The projected reliability metrics of a plurality of erase blocks of a storage division may be combined, and one or more of the erase blocks may be retired in response to determining that the combined reliability metric projection fails to satisfy the reliability threshold.Type: GrantFiled: December 21, 2012Date of Patent: October 27, 2015Assignee: SANDISK TECHNOLOGIES, INC.Inventors: Warner Losh, James G. Peterson
-
Publication number: 20140351526Abstract: Techniques are disclosed relating to processing data in a storage controller. In one embodiment, a method includes receiving data at a storage controller of a storage device. The method further includes processing data units of the data in parallel via a plurality of write pipelines in the storage controller. The method further includes writing the data units to a storage medium of the storage device. In some embodiments, the method may include inserting header information into the data for a plurality of data units before processing, and the header information may include sequence information. In some embodiments, writing the data units may include writing according to a sequence determined prior to processing the data units.Type: ApplicationFiled: April 16, 2014Publication date: November 27, 2014Applicant: Fusion-io, Inc.Inventor: James G. Peterson
-
Publication number: 20140281333Abstract: Techniques are disclosed relating to storing translations in memory that are usable to access data on a recording medium. In one embodiment, a request is sent for a memory allocation within a non-pageable portion of a memory in a computer system. Responsive to the request, allocated memory is received. Translations usable to map logical addresses to physical addresses within a storage device are stored within the allocated memory. In some embodiments, the translations are usable to access an area within the storage device used to store pages evicted from the memory. In one embodiment, a size of the memory allocation is determined based on a size of the area. In another embodiment, a size of the memory allocation is determined based on a size of a partition including the area. In some embodiments, the storage device is a solid-state storage array.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Igor Sharovar, David Atkisson
-
Publication number: 20140281307Abstract: Techniques are disclosed relating to handling snapshot data for a storage device. In one embodiment, a computing system maintains information that indicates the state of data associated with an application at a particular point in time. In this embodiment, the computing system assigns an epoch number to a current epoch, where the current epoch is an interval between the particular point in time and a future point in time. In this embodiment, the computing system writes, during the current epoch, a block of data to the storage device. In this embodiment, the writing the block of data includes storing the epoch number with the block of data.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian
-
Publication number: 20140281260Abstract: Techniques are disclosed relating to determining statistics associated with the storage of data on a medium. In one embodiment, a computing system maintains a management statistic for a storage device, and uses the management statistic as a proxy for a workload statistic for a storage block within the storage device. In some embodiments, the storage block is a first storage block included within a second storage block of the storage device. In one embodiment, the management statistic is a timestamp indicative of when a write operation was performed for the second storage block; the workload statistic is a write frequency of the first storage block. In one embodiment, the management statistic is a number of read operations performed for the second storage block; the using includes deriving, based on the number of read operation, a read frequency for the first storage block as the workload statistic.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Swaminathan Sundararaman
-
Patent number: 8725934Abstract: A method and apparatus for storing data packets in two different logical erase blocks pursuant to an atomic storage request is disclosed. Each data packet stored in response to the atomic storage request comprises persistent metadata indicating that the data packet pertains to an atomic storage request. In addition, a method and apparatus for restart recovery is disclosed. A data packet preceding an append point is identified as satisfying a failed atomic write criteria, indicating that the data packet pertains to a failed atomic storage request. One or more data packets associated with the failed atomic storage request are identified and excluded from an index of a non-volatile storage media.Type: GrantFiled: December 22, 2011Date of Patent: May 13, 2014Assignee: Fusion-io, Inc.Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Michael Zappe
-
Publication number: 20140006685Abstract: A storage controller is configured to implement an atomic storage operation comprising a plurality of separate storage operations on a non-volatile storage medium. The storage controller may store persistent indicators to identify data that pertains to the atomic storage operation. An invalid shutdown may occur before the atomic storage operation is complete. A restart and recovery operation comprises a first scan of the non-volatile storage medium to identify data of the failed atomic storage operation. A physical trim note is stored on the non-volatile storage medium to identify the data of the failed atomic storage operation. The data may be identified by media address. Storage metadata is reconstructed in a second scan, which excludes the data and/or operations of the failed atomic storage operation.Type: ApplicationFiled: June 29, 2012Publication date: January 2, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Ashish Batwara, Nisha Talagala, Michael Zappe
-
Publication number: 20130346793Abstract: Apparatuses, systems, methods, and computer program products for auto-commit memory are presented. A monitor module determines that a triggering event for an auto-commit memory has occurred. An identification module identifies a triggered commit action for an auto-commit memory. An auto-commit memory module performs a triggered commit action for an auto-commit memory in response to a triggering event occurring.Type: ApplicationFiled: August 27, 2013Publication date: December 26, 2013Applicant: Fusion-io, Inc.Inventors: David Flynn, David Nellans, John Strasser, James G. Peterson, Robert Wipfel