Patent classifications
G06F11/1008
SYSTEM CONTROLLER AND SYSTEM GARBAGE COLLECTION METHOD
A flash array provided in embodiments includes a controller and a solid state disk group. The controller counts a data volume of invalid data included in each of a plurality of stripes, and select at least one target stripe from the plurality of stripes. The target stripe is a stripe that includes a maximum volume of invalid data among the plurality of stripes. Then, the controller instructs the solid state disk group to move valid data in the target stripe, and instructs the solid state disk group to delete a correspondence between a logical address of the target stripe and an actual address of the target stripe. This can reduce write amplification, thereby prolonging a life span of the solid state disk.
INTELLIGENT POST-PACKAGING REPAIR
Techniques are provided for storing a row address of a defective row of memory cells to a bank of non-volatile storage elements (e.g., fuses or anti-fuses). After a memory device has been packaged, one or more rows of memory cells may become defective. In order to repair (e.g., replace) the rows, a post-package repair (PPR) operation may occur to replace the defective row with a redundant row of the memory array. To replace the defective row with a redundant row, an address of the defective row may be stored (e.g., mapped) to an available bank of non-volatile storage elements that is associated with a redundant row. Based on the bank of non-volatile storage elements the address of the defective row, subsequent access operations may utilize the redundant row and not the defective row.
Wear leveling for random access and ferroelectric memory
Methods, systems, and devices related to wear leveling for random access and ferroelectric memory are described. Non-volatile memory devices, e.g., ferroelectric random access memory (FeRAM) may utilize wear leveling to extend life time of the memory devices by avoiding reliability issues due to a limited cycling capability. A wear-leveling pool, or number of cells used for a wear-leveling application, may be expanded by softening or avoiding restrictions on a source page and a destination page within a same section of memory array. In addition, error correction code may be applied when moving data from the source page to the destination page to avoid duplicating errors present in the source page.
ERROR IDENTIFICATION IN EXECUTED CODE
The present disclosure includes apparatuses, methods, and systems for error identification on executed code. An embodiment includes memory and circuitry configured to read data stored in a secure array of the memory, identify a different memory having an error correcting code (ECC) corresponding to the read data of the memory, execute an integrity check to compare the ECC to the read data of the memory; and take an action in response to the comparison of the read data of the memory and the ECC, wherein the comparison indicates that the ECC identified an error in the read data of the memory.
Techniques for utilizing volatile memory buffers to reduce parity information stored on a storage device
Disclosed are techniques for managing parity information for data stored on a storage device. A method can be implemented at a computing device communicably coupled to the storage device, and include (1) receiving a request to write data into a data band of the storage device, (2) writing the data into stripes of the data band, comprising, for each stripe of the data band: (i) calculating first parity information for the data written into the stripe, (ii) writing the first parity information into a volatile memory, and (iii) in response to determining that a threshold number of stripes have been written: converting the first parity information into smaller second parity information, and (3) in response to determining that the data band is read-verified: (i) converting the second parity information into smaller third parity information, and (ii) storing the smaller third parity information into a parity band of the storage device.
SELECTIVELY STORING PARITY DATA IN DIFFERENT TYPES OF MEMORY
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.
WRITE OPERATIONS TO MEMORY
Concepts for partial write operations to memory are presented. Such concepts employ an XOR operation to generate error checking bits that are then used for error checking of data bits for writing to the memory.
Systems and methods for adaptive data storage
A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising two or more solid-state storage elements. The data segments may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The data arrangement may determine input/output performance characteristics. An optimal adaptive data storage configuration may be based on read and/or write patterns of storage clients, read time, stream time, and so on. Data of failed storage elements may be reconstructed by use of parity data and/or other ECC codewords stored within the array.
Memory controller, memory system, and memory control method
According to one embodiment, a nonvolatile memory includes a plurality of memory areas and controller circuit including an error correction code encoder. The error correction code encoder encodes a first data to generate a first parity in a first operation and encodes a second data to generate a second parity in a second operation. The controller circuit writes the first data and the first parity into a first memory area among the plurality of memory areas and writes the second data and the second parity into a second memory area among the plurality of memory areas. The size of the second data is smaller than the size of the first data and the size of the second parity is equal to the size of the first parity.
Visualization and manipulation of micro-scale calorimeter chamber data matrices
A method for microscale calorimeter chamber data manipulation and visualization includes receiving a dataset from a microscale calorimeter chamber. The dataset is indicative of heat release rates for a test material as a function of a temperature applied by the microscale calorimeter chamber to the test material. The method further includes generating a baseline for correcting the heat release rates for the test material based on a selected temperature interval of the dataset. The method also includes generating a modified dataset that includes modified heat release rate values for the test material based on the baseline. The method includes generating a graphical user interface and displaying, via the graphical user interface, a graphical depiction of the modified dataset.