-
公开(公告)号: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.
-
公开(公告)号: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.
-
-
-
-
-
-
-