-
公开(公告)号:US11360903B2
公开(公告)日:2022-06-14
申请号:US17166939
申请日:2021-02-03
发明人: Roman Alexander Pletka , Timothy Fisher , Aaron Daniel Fry , Nikolaos Papandreou , Nikolas Ioannou , Sasa Tomic , Radu Ioan Stoica , Charalampos Pozidis , Andrew D. Walls
IPC分类号: G06F12/08 , G06F12/0871 , G06F12/02
摘要: A computer-implemented method, according to one approach, includes: determining a current read heat value of each logical page which corresponds to write requests that have accumulated in a destage buffer. Each of the write requests is assigned to a respective write queue based on the current read heat value of each logical page which corresponds to the write requests. Moreover, each of the write queues correspond to a different page stripe which includes physical pages, the physical pages included in each of the respective page stripes being of a same type. Other systems, methods, and computer program products are described in additional approaches.
-
公开(公告)号:US11182089B2
公开(公告)日:2021-11-23
申请号:US16459393
申请日:2019-07-01
发明人: Roman Alexander Pletka , Radu Ioan Stoica , Sasa Tomic , Nikolaos Papandreou , Nikolas Ioannou , Aaron Daniel Fry , Timothy Fisher , Charalampos Pozidis , Andrew D. Walls
摘要: A computer-implemented method, according to one embodiment, includes: determining whether a number of blocks included in a first ready-to-use (RTU) queue is in a first range of the first RTU queue. In response to determining that the number of blocks included in the first RTU queue is in the first range, a determination is made as to whether a number of blocks included in a second RTU queue is in a second range of the second RTU queue. Moreover, in response to determining that the number of blocks included in the second RTU queue is not in the second range, valid data is relocated from one of the blocks in a first pool which corresponds to the first RTU queue. The block in the first pool is erased, and transferred from the first pool to the second RTU queue which corresponds to a second pool.
-
公开(公告)号: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.
-
公开(公告)号:US11146293B2
公开(公告)日:2021-10-12
申请号:US16813921
申请日:2020-03-10
摘要: A memory system, Reed Solomon (“RS”) Decoder, and method for decoding Reed-Solomon codewords includes: a Syndrome Computation engine configured as a first stage of a pipeline for receiving the RS codeword and computing one or more Syndromes; an initialization unit for providing initialization values for a key equation solver engine that generates the errata locator polynomial and the errata magnitude polynomial configured as a second stage; and as a third stage a Chien Search engine for receiving the error locator polynomial and determining the one or more locations of the one or more erasures and random errors in the received RS codeword and an error-value evaluation (“EE”) engine for receiving the errata magnitude polynomial and determining the one or more magnitudes of the one or more erasures and random errors in the RS received codeword.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-