×

Method and apparatus for a sparse distributed memory system

  • US 5,113,507 A
  • Filed: 05/03/1989
  • Issued: 05/12/1992
  • Est. Priority Date: 10/20/1988
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer memory system comprising:

  • a plurality of hard memory locations in number equal to K, where K is an integer greater than one, each hard memory location comprising M counters, C1 through CM, where M is an integer greater than zero;

    reference address means for storing a reference address received from a source external to said memory system, said reference address being a sequence of N bits, where N is an integer greater than zero;

    data register means for storing data as a sequence of M integers;

    processor means coupled to said reference address means, to said hard memory locations, and to said data register means, for determining for each reference address a subset of hard memory locations to be made available during read operations and during write operations, each such hard memory location that is made available hereinafter called an activated hard memory location, and for reading from and writing to said activated hard memory locations, said processor means coupled to said reference address means such that for each hard memory location said processor means receives a subset of said reference address bits equal in number to q, where q is an integer related to the proportion of the number of hard memory locations in said memory system that are to be accessed relative to the total number of hard memory locations in the memory system;

    said subset of reference address bits chosen by selecting for each hard memory location, q integers between 1 and N as selected coordinates, each selected coordinate corresponding to a bit position within said reference address, and for each selected coordinate for each hard memory location, assigning a zero or one, as an assigned value for that selected coordinate;

    said processor means for receiving said selected coordinates and said assigned values and in response to receiving said subset of reference address bits, for each of said selected coordinates for each of said hard memory locations, comparing the assigned value for the selected coordinate with the value of the corresponding bit in the subset of the reference address bits;

    said activated hard memory locations comprising those hard memory locations for which the assigned values for all selected coordinates are identical with the corresponding bits in the subset of the reference address bits; and

    said processor means during a write operation for combining data in said data register means with any data already located in said M counters in each of said activated hard memory locations, said M counters in each of said activated hard memory locations for storing said combined data; and

    accumulator means comprising a set of M accumulators, A1 through AM, with the ith accumulator, Ai, coupled to receive data from the ith counter, Ci, for each activated hard memory location, where i=1 through M, so that during a read operation each of said accumulators accumulates integers from said counters, the ith accumulator, Ai, receiving one integer from the ith counter for each activated hard memory location, thereby obtaining a value Vi in the ith accumulator, Ai.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×