-
公开(公告)号:US11157379B2
公开(公告)日:2021-10-26
申请号:US16669209
申请日:2019-10-30
发明人: Roman Alexander Pletka , Aaron Daniel Fry , Sasa Tomic , Nikolaos Papandreou , Nikolas Ioannou , Radu Ioan Stoica , Timothy Fisher
摘要: A computer-implemented method, according to one embodiment, is for wear leveling blocks of memory. The computer-implemented method includes: determining the health of blocks of memory which are configured in multi-bit-per-cell mode. The blocks configured in multi-bit-per-cell mode are in a second pool, while blocks that are configured in single-level cell (SLC) mode are in a first pool. Moreover, the computer-implemented method is performed in some approaches with a proviso that the health of a block of memory is not determined while the block is configured in SLC mode. Moreover, health values are assigned to the blocks of memory in the second pool based on the health of the respective block. Each of the health values is further correlated with a respective data temperature.
-
公开(公告)号:US11120882B2
公开(公告)日:2021-09-14
申请号:US16112157
申请日:2018-08-24
发明人: Nikolas Ioannou , Charalampos Pozidis , Sasa Tomic , Nikolaos Papandreou , Roman A. Pletka , Aaron D. Fry , Timothy Fisher
摘要: A method of optimizing a read threshold voltage shift value for non-volatile memory units organized as memory pages may be provided. An ECC check is performed for active page reads. The method comprises, as part of the read operation, determining a status of the memory page, and reading a memory page with a current threshold voltage shift (TVS) value. Additionally, the method comprises, upon determining that a read memory page command passed an ECC check, returning corrected data read, and upon determining that the read memory page did not pass the ECC check, adjusting the current TVS value based on the status of the memory page to be read. Furthermore, the method comprises, while the read memory pages continues to not pass the ECC check, repeating the adjusting the current TVS value and the determining that the read memory page passes ECC check until a stop condition is met.
-
公开(公告)号:US11048571B2
公开(公告)日:2021-06-29
申请号:US16218159
申请日:2018-12-12
发明人: Nikolas Ioannou , Nikolaos Papandreou , Roman A. Pletka , Sasa Tomic , Charalampos Pozidis , Aaron D. Fry , Timothy J. Fisher , Kevin E. Sallese
摘要: A computer-implemented method, according to one embodiment, includes: receiving a multi-page read request and predicting whether using a multi-plane read operation to read pages of storage space in memory which correspond to the multi-page read request will result in a bit error rate that is in a predetermined range. In response to predicting that using the multi-plane read operation to read the pages will not result in a bit error rate that is in the predetermined range, a threshold voltage shift (TVS) value is computed for the multi-plane read operation. Furthermore, the pages are read using the multi-plane read operation with the computed TVS. Other systems, methods, and computer program products are described in additional embodiments.
-
公开(公告)号:US11023150B2
公开(公告)日:2021-06-01
申请号:US16459408
申请日:2019-07-01
发明人: Roman Alexander Pletka , Aaron Daniel Fry , Timothy Fisher , Sasa Tomic , Nikolaos Papandreou , Nikolas Ioannou , Radu Ioan Stoica , Charalampos Pozidis , Andrew D. Walls
摘要: A computer-implemented method, according to one embodiment, includes: maintaining a block switching metric for each block of memory in the storage system. A determination is made as to whether a first block in a first pool should be transferred to a second pool according to a block switching metric which corresponds to the first block. In response to determining that the first block in the first pool should be transferred to the second pool according to the block switching metric which corresponds to the first block, the first block is erased. The first block is then transferred from the first pool to a second RTU queue which corresponds to the second pool. A second block in the second pool is also erased and transferred from the second pool to a first RTU queue which corresponds to the first pool.
-
公开(公告)号:US20210133110A1
公开(公告)日:2021-05-06
申请号:US16669287
申请日:2019-10-30
发明人: Sasa Tomic , Radu Ioan Stoica , Nikolaos Papandreou , Nikolas Ioannou , Roman Alexander Pletka , Aaron Daniel Fry , Timothy Fisher
IPC分类号: G06F12/0882 , G06F12/02 , G06F3/06 , G06F9/50
摘要: A computer-implemented method, according to one embodiment, includes: determining whether a number of blocks included in a RTU queue associated with a first block pool is in a first predetermined range. In response to determining that the number of blocks included in the RTU queue is not in the first predetermined range, a determination is made as to whether a current I/O workload is in a second predetermined range. In response to determining that the current I/O workload is in the second predetermined range, for each block in the first block pool having a desired amount of metadata associated with the pages in the given block: a subset of pages in the given block are selected and data is relocated therefrom to a block in the second block pool.
-
公开(公告)号:US20210133070A1
公开(公告)日:2021-05-06
申请号:US16669209
申请日:2019-10-30
发明人: Roman Alexander Pletka , Aaron Daniel Fry , Sasa Tomic , Nikolaos Papandreou , Nikolas Ioannou , Radu Ioan Stoica , Timothy Fisher
摘要: A computer-implemented method, according to one embodiment, is for wear leveling blocks of memory. The computer-implemented method includes: determining the health of blocks of memory which are configured in multi-bit-per-cell mode. The blocks configured in multi-bit-per-cell mode are in a second pool, while blocks that are configured in single-level cell (SLC) mode are in a first pool. Moreover, the computer-implemented method is performed in some approaches with a proviso that the health of a block of memory is not determined while the block is configured in SLC mode. Moreover, health values are assigned to the blocks of memory in the second pool based on the health of the respective block. Each of the health values is further correlated with a respective data temperature.
-
公开(公告)号:US20210132800A1
公开(公告)日:2021-05-06
申请号:US16669190
申请日:2019-10-30
发明人: Nikolaos Papandreou , Roman Alexander Pletka , Aaron Daniel Fry , Timothy Fisher , Nikolas Ioannou , Charalampos Pozidis , Radu Ioan Stoica , Sasa Tomic
摘要: A computer-implemented method, according to one embodiment, is for managing block calibration operations. The computer-implemented method includes: determining a type of calibration procedure to apply to a block of memory, and assigning the calibration type to the block. A calibration level to assign to the block is also determined, and thereafter the calibration level is assigned to the block. Moreover, the block is assigned to one of two or more calibration queues based on the calibration type and calibration level associated with the block. A different priority level is assigned to each of the calibration queues, and the priority levels determine an order in which blocks assigned to the calibration queues are calibrated.
-
公开(公告)号:US20210124643A1
公开(公告)日:2021-04-29
申请号:US16663196
申请日:2019-10-24
发明人: Nikolas Ioannou , Timothy Fisher , Roman Alexander Pletka , Nikolaos Papandreou , Radu Ioan Stoica , Sasa Tomic , Aaron Daniel Fry
摘要: A computer-implemented method, according to one embodiment, is for selectively storing parity data in different types of memory which include a higher performance memory and a lower performance memory. The computer-implemented method includes: receiving a write request, and determining whether the write request includes parity data. In response to determining that the write request includes parity data, a determination is made as to whether a write heat of the parity data is in a predetermined range. In response to determining that that write heat of the parity data is in the predetermined range, another determination is made as to whether the parity data has been read since a last time the parity data was updated. Furthermore, in response to determining that the parity data has been read since a last time the parity data was updated, the parity data is stored in the higher performance memory.
-
公开(公告)号:US10956049B2
公开(公告)日:2021-03-23
申请号:US16439122
申请日:2019-06-12
发明人: Sasa Tomic , Roman Alexander Pletka , Nikolas Ioannou , Nikolaos Papandreou , Aaron D. Fry , Timothy Fisher , Radu Ioan Stoica
摘要: A non-volatile memory includes a plurality of physical blocks of storage each including a respective plurality of cells, where each of the plurality of cells is individually capable of storing multiple bits of data. A controller assigns physical blocks among the plurality of physical blocks to a first pool containing physical blocks operating in a first (e.g., QLC) mode for storing a greater number of bits per cell and assigns other physical blocks among the plurality of physical blocks to a second pool containing physical blocks operating in a second (e.g., SLC) mode for storing a lesser number of bits per cell. The controller transfers physical blocks between the first pool and the second pool based on at least bit error rates measured for the transferred physical blocks.
-
公开(公告)号:US10884914B2
公开(公告)日:2021-01-05
申请号:US15047901
申请日:2016-02-19
发明人: Razik S. Ahmed , Charles J. Camp , Timothy J. Fisher , Aaron D. Fry , Nikolas Ioannou , Jason Ma , Matthew R. Orr , Roman A. Pletka , Lincoln T. Simmons , Sasa Tomic
摘要: A technique for garbage collection in a storage system includes generating regrouping metadata for one or more pages of at least two logical erase blocks (LEB). The regrouping metadata indicates an associated stream for each of the pages. Multiple of the LEBs that include valid pages associated with a first stream are selected, based on the regrouping metadata, for regrouping. The valid pages associated with the first stream from the selected LEBs are regrouped into a new LEB.
-
-
-
-
-
-
-
-
-