-
公开(公告)号:US10127166B2
公开(公告)日:2018-11-13
申请号:US14254525
申请日:2014-04-16
发明人: James G. Peterson
摘要: 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.
-
公开(公告)号:US10114576B2
公开(公告)日:2018-10-30
申请号:US14519843
申请日:2014-10-21
发明人: James G. Peterson
摘要: 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.
-
公开(公告)号:US10296220B2
公开(公告)日:2019-05-21
申请号:US15000995
申请日:2016-01-19
摘要: 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.
-
公开(公告)号:US11182212B2
公开(公告)日:2021-11-23
申请号:US16371110
申请日:2019-04-01
IPC分类号: G06F3/06 , G06F9/50 , G06F12/00 , G06F12/02 , G06F16/907 , G06F16/17 , G06F11/14 , G06F12/0802
摘要: 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.
-
公开(公告)号:US20190235925A1
公开(公告)日:2019-08-01
申请号:US16371110
申请日:2019-04-01
IPC分类号: G06F9/50 , G06F3/06 , G06F11/14 , G06F16/17 , G06F16/907 , G06F12/0802
CPC分类号: G06F3/0608 , G06F3/061 , G06F3/0619 , G06F3/064 , G06F3/0656 , G06F3/0659 , G06F3/0679 , G06F3/0688 , G06F9/5016 , G06F11/1471 , G06F12/00 , G06F12/0246 , G06F12/0802 , G06F16/1734 , G06F16/907 , G06F2212/7201 , G06F2212/7205
摘要: 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.
-
公开(公告)号:US09959059B2
公开(公告)日:2018-05-01
申请号:US14530525
申请日:2014-10-31
发明人: Evan Orme , James G. Peterson
CPC分类号: G06F11/1044 , G06F11/1016 , G06F11/1048 , G06F11/1072 , G06F12/0238 , G06F2212/1032 , G06F2212/152 , G06F2212/202 , G06F2212/214 , G06F2212/7205 , G11C16/16 , G11C29/52 , G11C2029/0409
摘要: 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.
-
公开(公告)号:US09798673B2
公开(公告)日:2017-10-24
申请号:US13831392
申请日:2013-03-14
发明人: James G. Peterson , Igor Sharovar , David Atkisson
IPC分类号: G06F12/10 , G06F12/1009 , G06F12/06
CPC分类号: G06F12/1009 , G06F12/0638 , G06F2212/1004 , G06F2212/2022
摘要: 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.
-
公开(公告)号:US09952781B2
公开(公告)日:2018-04-24
申请号:US14531891
申请日:2014-11-03
发明人: Evan Orme , James G. Peterson
CPC分类号: G06F11/1044 , G06F11/1016 , G06F11/1048 , G06F11/1072 , G06F12/0238 , G06F2212/1032 , G06F2212/152 , G06F2212/202 , G06F2212/214 , G06F2212/7205 , G11C16/16 , G11C29/52 , G11C2029/0409
摘要: 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.
-
-
-
-
-
-
-