-
公开(公告)号:US20210042239A1
公开(公告)日:2021-02-11
申请号:US16534834
申请日:2019-08-07
发明人: Nikolas Ioannou , Nikolaos Papandreou , Roman Alexander Pletka , Sasa Tomic , Radu Ioan Stoica , Timothy Fisher , Aaron Daniel Fry , Charalampos Pozidis , Andrew D. Walls
IPC分类号: G06F12/1018 , G06F12/0891 , G06F12/02 , G06F3/06
摘要: A computer-implemented method, according to one embodiment, is for maintaining heat information of data while in a cache. The computer-implemented method includes: transferring data from non-volatile memory to the cache, such that the data is stored in a first page in the cache. Previous read and/or write heat information associated with the data is maintained by preserving one or more bits in a hash table which correspond to the data in the first page. Moreover, the data is destaged from the first page in the cache to the non-volatile memory, and the one or more bits in the hash table which correspond to the data are updated to reflect current read and/or write heat information associated with the data.
-
公开(公告)号:US20210011852A1
公开(公告)日:2021-01-14
申请号:US16508140
申请日:2019-07-10
发明人: Roman Alexander Pletka , Timothy Fisher , Aaron Daniel Fry , Nikolaos Papandreou , Nikolas Ioannou , Sasa Tomic , Radu Ioan Stoica , Charalampos Pozidis , Andrew D. Walls
IPC分类号: G06F12/0871 , G06F12/02
摘要: A computer-implemented method, according to one approach, includes: receiving write requests, accumulating the write requests in a destage buffer, and determining a current read heat value of each logical page which corresponds to the write requests. 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. Furthermore, data in the write requests is destaged from the write queues to their respective page stripes. Other systems, methods, and computer program products are described in additional approaches.
-
93.
公开(公告)号:US10831651B2
公开(公告)日:2020-11-10
申请号:US16020871
申请日:2018-06-27
发明人: Charles J. Camp , Timothy J. Fisher , Aaron D. Fry , Nikolas Ioannou , Ioannis Koltsidas , Roman A. Pletka , Sasa Tomic
IPC分类号: G06F12/02
摘要: A computer program product, according to one embodiment, includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. Moreover, the program instructions are readable and/or executable by a controller to cause the controller to perform a method which includes: assigning data having a first heat to a first data stream, assigning data having a second heat to a second data stream, and writing the data streams simultaneously, in parallel, to page-stripes having a same index across a series of planes of memory. The writing of the first data stream begins at an opposite end of the series of planes as the writing of the second data stream, the writing of the streams being toward one another. Other systems, methods, and computer program products are described in additional embodiments.
-
94.
公开(公告)号:US10824352B2
公开(公告)日:2020-11-03
申请号:US15833797
申请日:2017-12-06
摘要: A controller sets an error count margin for each of multiple units of a non-volatile memory and detects whether the error count margin of any of the multiple units has been exceeded. In response to detecting that the error count margin of a memory unit is exceeded, the controller determines whether calibration of the memory unit would improve a bit error rate of the memory unit sufficiently to warrant calibration. If so, the controller performs calibration of the memory unit. In some implementations, the controller refrains from performing the calibration in response to determining that calibration of the memory unit would not improve the bit error rate of the memory unit sufficiently to warrant calibration, but instead relocates a desired part or all valid data within the memory unit and, if all valid data has been relocated from it, erases the memory unit.
-
公开(公告)号:US10658054B2
公开(公告)日:2020-05-19
申请号:US16109689
申请日:2018-08-22
发明人: Nikolas Ioannou , Charalampos Pozidis , Nikolaos Papandreou , Roman Alexander Pletka , Sasa Tomic , Aaron D. Fry , Timothy Fisher
摘要: A method for optimizing a read threshold voltage shift value in a NAND flash memory may be provided. The method comprises selecting a group of memory pages, determining a current threshold voltage shift (TVS) value, and determining a negative and a positive threshold voltage shift offset value. Then, the method comprises repeating a loop process comprising reading all memory pages with different read TVS values, determining maximum raw bit error rates for the group of memory pages, determining a direction of change for the current TVS value, determining a new current TVS value by applying a function to the current TVS value using as parameters the current threshold voltage, the direction of change and the positive and the negative TVS value, until a stop condition is fulfilled such that a lowest possible number of read errors per group of memory pages is reached.
-
96.
公开(公告)号:US10656847B2
公开(公告)日:2020-05-19
申请号:US15976586
申请日:2018-05-10
发明人: Roman A. Pletka , Nikolaos Papandreou , Sasa Tomic , Nikolas Ioannou , Aaron D. Fry , Timothy Fisher
摘要: A controller performs background reads of multiple physical pages of a selected physical block of a non-volatile memory. The controller detects asymmetric transient errors in a physical page among the multiple physical pages based on a bit error rate (BER) observed in the background read of the physical page. In response to detecting the asymmetric transient errors, the controller mitigates the detected asymmetric transient errors by relocating valid logical pages of data from the physical page to another physical block of the non-volatile memory and by retaining valid logical pages of data programmed into other physical pages of the selected physical block.
-
公开(公告)号:US20200066361A1
公开(公告)日:2020-02-27
申请号:US16109689
申请日:2018-08-22
发明人: Nikolas Ioannou , Charalampos Pozidis , Nikolaos Papandreou , Roman Alexander Pletka , Sasa Tomic , Aaron D. Fry , Timothy Fisher
摘要: A method for optimizing a read threshold voltage shift value in a NAND flash memory may be provided. The method comprises selecting a group of memory pages, determining a current threshold voltage shift (TVS) value, and determining a negative and a positive threshold voltage shift offset value. Then, the method comprises repeating a loop process comprising reading all memory pages with different read TVS values, determining maximum raw bit error rates for the group of memory pages, determining a direction of change for the current TVS value, determining a new current TVS value by applying a function to the current TVS value using as parameters the current threshold voltage, the direction of change and the positive and the negative TVS value, until a stop condition is fulfilled such that a lowest possible number of read errors per group of memory pages is reached.
-
公开(公告)号:US10372519B2
公开(公告)日:2019-08-06
申请号:US15374662
申请日:2016-12-09
发明人: Charles J. Camp , Timothy J. Fisher , Aaron D. Fry , Nikolas Ioannou , Roman Pletka , Sasa Tomic
摘要: Non-volatile memory block management. A method according to one embodiment includes calculating an error count margin threshold for each of the at least some non-volatile memory blocks of a plurality of non-volatile memory blocks. A determination is made as to whether the error count margin threshold of any of the at least some of the non-volatile memory blocks has been exceeded. A memory block management function is triggered upon determining that the error count margin threshold of any of the at least some of the non-volatile memory blocks has been exceeded.
-
公开(公告)号:US10310938B2
公开(公告)日:2019-06-04
申请号:US15823891
申请日:2017-11-28
IPC分类号: G06F12/00 , G06F11/10 , G06F3/06 , G06F16/215
摘要: Techniques for data deduplication in a data storage system include comparing a first attribute of a received data page to first attributes of one or more stored data pages. In response to the first attribute matching one of the first attributes, a second attribute of the received data page is compared to second attributes of the one or more data pages. In response to the second attribute of the received data page matching one of the second attributes, a fingerprint of the received data page is compared to fingerprints of the one or more data pages. In response to the fingerprint of the received data page matching one of the fingerprints, the received data page is discarded and replaced with a reference to the corresponding data page already stored in the storage system. In response to first attribute, the second attribute, or the fingerprint of the received data page not matching, the received data page is stored.
-
公开(公告)号:US20190087268A1
公开(公告)日:2019-03-21
申请号:US15710881
申请日:2017-09-21
发明人: Ioannis Koltsidas , Nikolas Ioannou , Robert Haas , Charalampos Pozidis , Thomas D. Weigold , Thomas P. Parnell
摘要: The invention relates to a storage system comprising one or more storage controllers, two or more storage devices and two or more storage clients, the storage controllers, the storage devices and the storage clients being coupled via a network in order to exchange information between the storage controllers, said storage devices and said storage clients, wherein each storage client is adapted to provide data-path-storage commands to the storage devices via the network bypassing the storage controllers, wherein the storage system is adapted to provide data redundancy using a data redundancy scheme higher than RAID 1.
-
-
-
-
-
-
-
-
-