H03M13/6566

Memory system and operating method thereof

A memory system includes a memory device; and a controller suitable for encoding a message, storing the encoded message in the memory device and decoding the encoded message, wherein the controller is suitable for generating a message matrix including predetermined row codes and predetermined column codes symmetrical to the predetermined row codes, with the message or the encoded message using a block-wise concatenated Bose-Chadhuri-Hocquenghem (BCH) code with a symmetrical structure.

ERROR CORRECTING CODE TESTING

Various additional and alternative aspects are described herein. In some aspects, the present disclosure provides a method of testing error-correcting code (ECC) logic. The method includes receiving data for storage in a memory. The method further includes receiving an address indicating a location in the memory to store the data. The method further includes determining if the received address matches at least one of one or more test addresses. The method further includes operating the ECC logic in a normal mode when the received address does not match at least one of the one or more test addresses. The method further includes operating the ECC logic in a test mode when the received address does match at least one of the one or more test addresses.

Memory device error check and scrub mode and error transparency
10127101 · 2018-11-13 · ·

An error check and scrub (ECS) mode enables a memory device to perform error checking and correction (ECC) and count errors. An associated memory controller triggers the ECS mode with a trigger sent to the memory device. The memory device includes multiple addressable memory locations, which can be organized in segments such as wordlines. The memory locations store data and have associated ECC information. In the ECS mode, the memory device reads one or more memory locations and performs ECC for the one or more memory locations based on the ECC information. The memory device counts error information including a segment count indicating a number of segments having at least a threshold number of errors, and a maximum count indicating a maximum number of errors in any segment.

DETERMINING CODEBOOKS FOR DIFFERENT MEMORY AREAS OF A STORAGE DEVICE

A storage device may program data differently for different memory areas of a memory. In some embodiments, the storage device may use different codebooks for different memory areas. In other embodiments, the storage device may modify bit orders differently for different memory areas. What codebook the storage device uses or what bit order modification the storage device performs for a particular memory area may depend on the bad storage locations specific to that memory area. Where different codebooks are used, optimal codebooks may be selected from a library, or codebooks may be modified based on the bad storage locations of the memory areas.

USE OF MULTIPLE CODEBOOKS FOR PROGRAMMING DATA IN DIFFERENT MEMORY AREAS OF A STORAGE DEVICE

A storage device may program data differently for different memory areas of a memory. In some embodiments, the storage device may use different codebooks for different memory areas. In other embodiments, the storage device may modify bit orders differently for different memory areas. What codebook the storage device uses or what bit order modification the storage device performs for a particular memory area may depend on the bad storage locations specific to that memory area. Where different codebooks are used, optimal codebooks may be selected from a library, or codebooks may be modified based on the bad storage locations of the memory areas.

BIT-ORDER MODIFICATION FOR DIFFERENT MEMORY AREAS OF A STORAGE DEVICE

A storage device may program data differently for different memory areas of a memory. In some embodiments, the storage device may use different codebooks for different memory areas. In other embodiments, the storage device may modify bit orders differently for different memory areas. What codebook the storage device uses or what bit order modification the storage device performs for a particular memory area may depend on the bad storage locations specific to that memory area. Where different codebooks are used, optimal codebooks may be selected from a library, or codebooks may be modified based on the bad storage locations of the memory areas.

TIERED ERROR CORRECTION CODE (ECC) OPERATIONS IN MEMORY

Apparatuses and methods for performing an error correction code (ECC) operation are provided. One example method can include performing a first error code correction (ECC) operation on a portion of data, performing a second ECC operation on the portion of data in response to the first ECC operation failing, and performing a third ECC operation on the portion of data in response to the second ECC operation failing.

Memory system configured to avoid memory access hazards for LDPC decoding

Techniques are disclosed relating to resolving memory access hazards. In one embodiment, an apparatus includes a memory and circuitry coupled to or comprised in the memory. In this embodiment, the circuitry is configured to receive a sequence of memory access requests for the memory, where the sequence of memory access requests is configured to access locations associated with entries in a matrix. In this embodiment, the circuitry is configured with memory access constraints for the sequence of memory access requests. In this embodiment, the circuitry is configured to grant the sequence of memory access requests subject to the memory access constraints, thereby avoiding memory access hazards for a sequence of memory accesses corresponding to the sequence of memory access requests.

Writing copies of objects in enterprise object storage systems

Various implementations disclosed herein enable writing a number of copies of object data or parity data associated with a data segment to a storage system. For example, in various implementations, a method of writing a number of copies of object data or parity data associated with a data segment is performed by a first storage entity of the storage system. In various implementations, the first storage entity includes a non-transitory computer readable storage medium and one or more processors. In various implementations, the method includes obtaining a data segment from an ingest entity in response to a request to write a number of copies of object data or parity data, determining whether the request is to write object data or parity data, and in response to determining that the request is to write object data, writing the number of copies of object data according to a shared resource utilization threshold.

DISPERSED STORAGE WRITE PROCESS WITH LOCK/PERSIST

A method begins by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) determining that dispersed error encoded data slices stored in a plurality of distributed storage units of the DSN are to be updated and then sending a plurality of lock requests respectively to the plurality of distributed storage units. The method continues with the processing modules receiving a response from a write threshold number of distributed storage units of the plurality of distributed storage units that a lock request has been granted by each of the write threshold number of distributed storage units and then sending a persist message to each of the write threshold number of distributed storage units from which the lock request has been granted.