Associative memory is a neural network used to save collection of input and output data at its layers. Each output data is produced coincide with a given input. It can be useful as an artificial memory in many applications like (military, medical, data security systems, error detection and correction systems …etc.). There are two matters which limit the uses of associative memory; the limited storage capacity, and the error occurred in the reading of output data. A modified strategy is suggested to overcome these limitations by introducing a new algorithm to the design of the associative memory. This method provides a software solution to the problems. The obtained results from the test examples proved that the proposed associative memory net could train and recall unlimited patterns in different sizes efficiently and without any errors.