17. The memory controller according to claim 11 , wherein the encoding circuitry is configured to encode the component code words so that each of the component code words comprises multiple bit groups, each shared by one or more component code words.
11. A memory controller, comprising: a processor configured to store data in a memory; and encoding circuitry, which is coupled to the processor and is configured to encode the data prior to storage of the data in the memory, so as to produce a composite code word of a composite code, wherein the composite code word consists of N component code words, wherein each component code word is encoded in accordance with a respective underlying component code, and wherein at least a given component code word shares bits with all other N−1 component code words of the composite code word.