Abstract:
Described herein is a method for constructing a multipurpose error-control code for multilevel memory cells operating with a variable number of storage levels, in particular for memory cells the storage levels of which can assume the values of the set nullba1, baaa2, . . . , ba1a2. . . ahnull, with b, a1, . . . , ah positive integers; the error-control code encoding information words, formed by k q-ary symbols, i.e., belonging to an alphabet containing q different symbols, with qnullnullba1, ba1a2, . . . , ba1a2ahnull, in corresponding code words formed by n q-ary symbols, with qnullba1a2ah, and having an error-correction capacity t, each code word being generated through an operation of multiplication between the corresponding information word and a generating matrix. The construction method comprises the steps of: acquiring the values of k, t, ba1, ba1a2, . . . , ba1a2. . .ah, which constitute the design specifications of said error-control code; calculating, as a function of qnullba1, k and t, the minimum value of n such that the Hamming limit is satisfied; calculating the maximum values {circumflex over (n)} and {circumflex over (k)} respectively of n and k that satisfy the Hamming limit for qnullba1, t and ({circumflex over (n)}-{circumflex over (k)})null(n-k); determining, as a function of t, the generating matrix of the abbreviated error-control code (n-k) on the finite-element field GF(ba1); constructing binary polynomial representations of the finite-element fields GF(ba1) GF(ba1a2), . . . , GF(ba1a2. . . ah); identifying, using the aforesaid exponential representations, the elements of the finite-element field GF(ba1a2ah), which are isomorphic to the elements of the finite-element fields GF(ba1), GF(ba1a2), . . . , GF(ba1a2. . . ah-1); establishing biunique correspondences between the elements of the finite-element fields GF(ba1), GF(ba1a2), . . . , GF(ba1a2. . . ah1) and the elements of the finite-element field GF(ba1a2ah) that are isomorphic to them; and replacing each of the elements of said generating matrix with the corresponding isomorphic element of the finite-element field GF(ba1a2. . . ah), thus obtaining a multipurpose generating matrix defining, together with the aforesaid biunique correspondences, a multipurpose error-control code that can be used with memory cells the storage levels of which can assume the values of the set nullba1, ba1a2, . . . , ba1a2. . . ahnullnull.