发明名称 Systems for and methods of extending lifetime of non-volatile memory
摘要 Systems and Methods are provided for increasing the number of writes to a page of non-volatile memory before the page must be erased. According to an embodiment, instead of writing a dataword directly to memory, a codeword is written to the memory location. The codeword is selected to minimize overwrite (e.g., bit-flipping) and to maximize the spread of wear across memory cells. In accordance with various embodiments of the invention, coset coding is integrated with error correction encoding; and once the previous state of a page is determined, a coset representative is selected on the basis of maximizing the number of writes to the page before erasing.
申请公布号 US9632866(B2) 申请公布日期 2017.04.25
申请号 US201214430158 申请日期 2012.09.28
申请人 Duke University 发明人 Calderbank Arthur Robert;Jacobvitz Adam N.;Sorin Daniel J.
分类号 G06F11/10;G06F11/00;G11C29/52;G11C16/10;G11C7/10;G11C11/56;G11C13/00;G11C16/06;G11C16/34 主分类号 G06F11/10
代理机构 Talem IP Law, LLP 代理人 Talem IP Law, LLP
主权项 1. A method of managing memory, the method comprising: receiving a write address and write data to be written to a memory location corresponding to the write address; reading a current memory state of the memory location corresponding to the write address; and selecting a codeword for the write data to write to memory according to a metric minimizing overwrite to the memory location corresponding to the write address and maximizing spread of wear across memory cells of the memory location, wherein selecting the codeword for the write data to write to memory according to the metric minimizing overwrite to the memory location corresponding to the write address and maximizing spread of wear across memory cells of the memory location comprises: performing an error correction code (ECC) encoding of the write data to map the write data to an ECC codeword; creating a translate vector using the ECC codeword and data read from the memory location during reading of the current memory state; performing a matching process of the translate vector using a coset sub-code to provide a coset codeword; and performing a Boolean operation using the translate vector and the coset codeword as inputs to output an error vector providing the codeword for the write data, wherein performing the matching process of the translate vector using the coset sub-code to provide the coset codeword comprises: searching the coset sub-code for a representative vector having minimum Hamming weight to the translate vector.
地址 Durham NC US
您可能感兴趣的专利