# US 2014/0153341 A1 · Sequential access memory with master-slave latch pairs and method of operating

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

- Number: US 2014/0153341 A1
- Document ID: US20140153341A1
- Status: Published application
- Kind: A1
- Application number: 13/693,808
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: NVIDIA Corporation
- Applicants: Nvidia Corporation
- Inventors: Robert A. Alfieri
- Web page: https://patentgrep.com/patent/US20140153341A1

## CPC

- G11C 7/1087: {Data input latches}
- G06F 30/327: Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
- G11C 19/00: Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 7/106: {Data output latches}
- G11C 7/22: Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A synchronous sequential latch array generated by an automated system for generating master-slave latch structures is disclosed. A master-slave latch structure includes N/2 rows of master-slave latch pairs, an N/2-to-1 multiplexer and control logic. N is equal to the number of latches that are included in the latch array.

## Claims

### Claim 1

A synchronous sequential access latch array generated by an automated system for generating master-slave latch structures, said latch array comprising:
N/2 rows of master-slave pairs wherein N is equal to the number of addresses that are included in said latch array;
an N/2 to 1 multiplexer coupled to said N/2 rows of master-slave pairs; and
control logic.

### Claim 2 (depends on 1)

The latch array of claim 1 wherein said automated system is a logic gate synthesis system that automatically generates master-slave latch structures.

### Claim 3 (depends on 2)

The latch array of claim 2 wherein said logic gate synthesis system is invoked from a logic gate synthesis system that generates FIFO structures based on configuration parameter settings.

### Claim 4 (depends on 1)

The latch array of claim 1 wherein said control logic is configured to implement data flow to fill latch pairs of respective rows in sequence from row 1 to row N.

### Claim 5 (depends on 1)

The latch array of claim 1 wherein said control logic is configured to implement data flow to fill the master latch of respective rows in sequence from row 1 to row N.

### Claim 6 (depends on 1)

The latch array of claim 1 wherein said control logic is operable wherein data received by said latch array flows from a master latch in a first half of a clock cycle to a slave latch in a second half of a subsequent clock cycle.

### Claim 7 (depends on 1)

The latch array of claim 1 wherein master and slave latches of said latch array comprise random access memory (RAM) addresses.

### Claim 8 (depends on 1)

The latch array of claim 1 wherein master and slave latches of said latch array are separately enabled.

### Claim 9 (depends on 1)

The latch array of claim 1 providing fully-registered flow control.

### Claim 10 (depends on 1)

The latch array of claim 1 being a flow control component of a graphics processing unit (GPU).

### Claim 11

A method of operating a sequential access memory comprising a master-slave latch pair array, the method comprising:
in a second half of a clock cycle, receiving data into an empty and open master latch in a first row of said master-slave latch pair array, if master-slave latch pairs of other rows are empty or if master-slave latch pairs of other rows are full,
or receiving data into an empty master latch of a subsequent row of said master-slave latch pair array if a master latch and a slave latch of a row or rows preceding said subsequent row are full;
in a first half of a cycle subsequent to a clock cycle in which data is received by a master latch in a row of said master-slave latch pair array, receiving data into a slave latch of said row of said master-slave latch pair array; and
providing access to said data received by said slave latch of said row of said master-slave latch pair array.

### Claim 12 (depends on 11)

The method of claim 11 wherein slave latches of said sequential access memory are maintained open and data received by said slave latches flow from master latches of said sequential access memory into said slave latches uninhibited.

### Claim 13 (depends on 11)

The method of claim 11 wherein said sequential access memory has N/2 rows where N is equal to the number of addresses in said sequential access memory.

### Claim 14 (depends on 11)

The method of claim 11 wherein said providing access to said data comprises using an N/2:1 multiplexor.

### Claim 15 (depends on 11)

The method of claim 11 wherein said sequential access memory provides fully registered flow control.

### Claim 16 (depends on 11)

The method of claim 11 wherein said sequential access memory is a FIFO buffer.

### Claim 17 (depends on 11)

The method of claim 11 wherein said sequential access memory is a part of a GPU.

### Claim 18

A method of operating a sequential access memory comprising a master-slave latch pair array, the method comprising:
receiving data into respective master latches in a second half of first respective clock cycles, wherein data that is received in said second half of said first respective clock cycles is allowed to flow uninhibited from respective master latches to respective corresponding slave latches;
receiving data into respective master latches in a second half of second respective clock cycles; and
providing access to data in said respective corresponding slave latches.

### Claim 19 (depends on 18)

The method of claim 18 wherein said sequential access memory has N/2 rows where N is equal to the number of latches in said sequential access memory.

### Claim 20 (depends on 18)

The method of claim 18 said providing access to said data comprises using an N/2:1 multiplexor.
