A computer model for a distributed associative memory has been developed based on Walsh-Hadamard functions. In this memory device, the information storage is distributed over the entire memory medium and thereby lends itself to parallel comparison of the input with stored data. These inherent economic storage and parallel processing capabilities may be found effective especially in real-time processing of large amount of information. However, overlaying different pieces of data in the same memory medium creates the problem of interference or crosstalk between stored data and may lead to recognition errors. In this paper, a crosstalk reduction technique utilizing the gradient descent procedure is developed first. This minimizes the memory processing error and enhances memory saving. Second, for an efficient implementation of the memory structure, these associative memories are configured in a hierarchical structure which not only expands storage capacity but also utilizes the speed of tree search. Finally, a self-correcting technique is developed which achieves error-free recognition of near neighbors for any training pattern even among the presence of crosstalk.