Patent ID: 6158042
Filing Date: 2000-12-05
Classification: G06F

Abstract:
A method of controlling a plurality of memory elements of a mass storage system, the method comprising determining the distribution of data and copying and replacing the data on the memory elements with a copy and swap operation, said copy and swap operation including counting the number of bits which are set to binary ""1"" in a word of length 2.sup.n, and counting the number of bits includes the following steps:a) reading the word from the data stream;b) generating a first mask of length 2.sup.n having alternating sequences of ""1""'s and ""0""'s, each sequence having a length ""x"", the length ""x"" initially having a value of 1;c) generating a second mask of length 2.sup.n by forming the complement of the first mask;d) performing logical AND operations using the word and each of the first and second masks to generate first and second intermediate words, respectively;e) shifting ""x"" number of bit positions that one of the first and second intermediate words which has been ANDed with one of the first and second masks and having a ""0"" in its least significant bit position, to generate a shifted intermediate word;f) arithmetically adding the shifted intermediate word and the other of the first and second intermediate words to generate a bit-counted word of length 2.sup.n representing the number of bits in the word set to binary ""1"" from the bit-counted word;g) generating a new value ""y"" which is equal to doubling the value of ""x""; andh) repeating steps b) through g) if ""y"" does not equal