# US 2005/0281116 A1 · Digital memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2005/0281116 A1
- Document ID: US20050281116A1
- Status: Published application
- Kind: A1
- Application number: 10/509,086
- Filed: 2002-10-14
- Published: 2005-12-22
- Earliest claimed: 2002-03-28
- Assignees: Cogniscience Limited
- Inventors: Stephen Furber
- Web page: https://patentgrep.com/patent/US20050281116A1

## CPC

- G11C 8/06: Address interface arrangements, e.g. address buffers
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A memory configuration for use in a computer system, the memory comprising a plurality of address decoders each of which is allocated an identifier having a predetermined number of bits, each bit having first and second selectable states, and a data memory having a plurality of word lines of predetermined length, each of the said address decoders being activatable to select one of the plurality of word lines, and the address decoders comprising means to receive an input address having a predetermined number of bits and means to compare the identifier of an address decoder with the input address wherein the memory further comprises means to activate an address decoder if at least a predetermined minimum number of bits set to the first selectable state in the input address correspond to bits set to the first selectable state in the decoder identifier.

## Claims

### Claim 1

A memory configuration for use in a computer system, the memory comprising a plurality of address decoders each of which is allocated an identifier having a predetermined number of bits, each bit having first and second selectable states, and a data memory having a plurality of word lines of predetermined length, each of the said address decoders being activatable to select one of the plurality of word lines, and the address decoders comprising means to receive an input address having a predetermined number of bits and means to compare the identifier of an address decoder with the input address wherein the memory further comprises means to activate an address decoder if at least a predetermined minimum number of bits set to the first selectable state in the input address correspond to bits set to the first selectable state in the decoder identifier.

### Claim 2 (depends on 1)

A memory configuration according to claim 1, wherein the means to compare the identifier of an address decoder with the input address considers positional correspondence between bits set to the first selectable sate in the input address and bits set to the first selectable state in the decoder identifiers.

### Claim 3 (depends on 1)

A memory configuration according to claim 1, wherein each address decoder identifier has an equal number of bits set to the first selectable state.

### Claim 4 (depends on 1)

A memory configuration according to claim 1, wherein the means to receive an input address is configured to receive addresses containing a predetermined number of bits set to the first selectable state.

### Claim 5 (depends on 3)

A memory configuration according to claim 3, wherein the predetermined number of bits set to the first selectable state in an input address is equal to the number of bits set to the first selectable state in each of the address decoder identifiers.

### Claim 6 (depends on 1)

A memory configuration according to claim 1, wherein the data memory comprises a plurality of single bit memories, such that each bit of each word line is stored in a single bit memory.

### Claim 7 (depends on 1)

A memory configuration according to claim 1, wherein the data memory comprises a data input line containing an equal number of bits to each of the plurality of word lines.

### Claim 8 (depends on 7)

A memory configuration according to claim 7, further comprising data writing means to copy data from the data input line to word lines activated by the address decoders.

### Claim 9 (depends on 7)

A memory configuration according to claim 7, wherein the data input line is configured to receive input data containing a predetermined number of bits set to the first selectable state.

### Claim 10 (depends on 1)

A memory configuration according to claim 1, further comprising means to sum values stored at each bit of word lines activated by an address decoder to generate an activation level value for each bit.

### Claim 11 (depends on 9)

A memory configuration according to claim 9 and, further comprising means to generate an output word containing the predetermined number of bits set to the first selectable state.

### Claim 12 (depends on 11)

A memory configuration according to claim 11, wherein the bits set to first selectable state in the output are the predetermined number of bits having the highest activation level.

### Claim 13 (depends on 1)

A memory configuration according to claim 1, wherein the memory is implemented using a plurality of artificial neurons connected together to form a neural network

### Claim 14 (depends on 13)

A memory configuration according to claim 13, wherein the plurality of address decoders are represented by a plurality of address decoder neurons, and the data memory is represented by a plurality of data neurons.

### Claim 15

A neural network memory configuration for use in a computer system, the memory comprising a plurality of address decoder neurons each of which is connected to a predetermined number of input neurons, and a data memory having a plurality data neurons, each of the said address decoder neurons being activatable to select some of the plurality of data neurons, and the address decoder neurons comprising means to receive a signal representing a firing of an input neuron to which it is connected, wherein an address decoder neuron comprises means to activate data neurons if firing signals are received from at least a predetermined minimum number of input neurons to which the address decoder neuron is connected.

### Claim 16

A method for operating a memory for use in a computer system, the memory comprising a plurality of address decoders each of which is allocated an identifier having a predetermined number of bits, each bit having first and second selectable states, and a data memory having a plurality of word lines of predetermined length, each of the said address decoders being activatable to select one of the plurality of word lines, wherein an input address having a predetermined number of bits is input to the address decoder, the identifier of an address decoder is compared with the input address and address decoders are activated if at least a predetermined minimum number of bits set to the first selectable state in the input address correspond to bits set to the first selectable state in the decoder identifier.

### Claim 17 (depends on 16)

A method according to claim 16, wherein input data is presented at a data input of the data memory and the data is written to word lines activated by the activated address decoders.

### Claim 18 (depends on 16)

A method according to claim 16, wherein the predetermined minimum number of bits is set such that fewer than 100 address decoders are activated by any valid input address.

### Claim 19 (depends on 18)

A method according to claim 18, wherein the predetermined minimum number of bits is set such that fewer than 50 address decoders are activated by any valid input address.

### Claim 20 (depends on 19)

A method according to claim 19, wherein the predetermined minimum number of bits is set such that fewer than 20 and more than 11 address decoders are activated by any valid input address.

### Claim 21

A method for optimising the operation of a computer memory which comprises a plurality of address decoders each of which is allocated an identifier having a predetermined number of bits, each bit having first and second selectable states, and a data memory having a plurality of word lines of predetermined length, each of the said address decoders being activatable to select one of the plurality of word lines, the memory further comprising means to receive an input address, and means to activate one or more of the address decoders if a comparison between a decoder identifier and the input address exceeds a predetermined comparison threshold;
the method comprising determining an operationally beneficial number of address decoders to be activated in response to a valid input address, and configuring the comparison threshold such that a valid input address will activate a number of address decoders substantially equal to the operationally beneficial number of address decoders to be activated.

### Claim 22 (depends on 21)

A method according to claim 21, wherein the comparison compares the number of bits set to the first selectable state in the input address with the number of bits set to the first selectable state in each of the address decoder identifiers.

### Claim 23 (depends on 21)

A method according to claim 21 or, wherein the operationally beneficial number is determined so as to allow maximum error free data recovery from the data memory.

### Claim 24 (depends on 23)

A method according to, claim 23, wherein the operationally beneficial number is determined using a function of the form:
w=f(h, Pc, D, d)
where:
w is the operationally beneficial number of address decoders to be activated;
h is the probability of an arbitrary bit in the data memory being set to the first selectable state;
D is the number of bits in each word line, and each word line has d bits set to the first selectable state; and
Pc is the probability of a bit being correctly recovered from the data store;

### Claim 25 (depends on 24)

A method according to claim 24, wherein the function is:
h
-
w
·
w
=
ln
⁡
(
1
-
h
)
ln
⁡
(
P
c
)
·
W
·
D
d
·
(
D
-
d
)

### Claim 26 (depends on 21)

A method according to claim 21, wherein the operationally beneficial number of address decoders to be activated is determined so as to allow maximum error free data recovery, while allowing some data to be recovered with errors.

### Claim 27 (depends on 26)

A method according to claim 26, wherein the operationally beneficial number is determined using a function of the form:
w=f(h, D, d)
where:
w is the operationally beneficial number of address decoders to be activated;
h is the probability of an arbitrary bit in the data memory being set to the first selectable state;
D is the number of bits in each word line, and each word line has d bits set to the first selectable state.

### Claim 28 (depends on 27)

A method according to claim 27, wherein the function is:
(
h
-
w
-
1
)
w
=
-
(
D
-
d
)
·
ln
⁢
⁢
h

### Claim 29 (depends on 21)

A method according to claim 21, wherein the operationally beneficial number w is set so as to have a value no less than that given by the equation:
(
h
-
w
-
1
)
w
=
-
(
D
-
d
)
·
ln
⁢
⁢
h
and no more than that given by the equation:
h
-
w
·
w
=
ln
⁡
(
1
-
h
)
ln
⁡
(
P
c
)
·
W
·
D
d
·
(
D
-
d
)

### Claim 30 (depends on 16)

A carrier medium carrying computer readable code means to cause a computer to execute procedure in accordance with the method of claim 16.

### Claim 31 (depends on 16)

A computer program for carrying out the method of claim 16.

### Claim at position 32

32-34. (canceled)
