# US 2020/0401545 A1 · Bus system and method of controlling the same

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

- Number: US 2020/0401545 A1
- Document ID: US20200401545A1
- Status: Published application
- Kind: A1
- Application number: 16/900,213
- Filed: 2020-06-12
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Daisuke Shiraishi; Wataru Ochiai
- Web page: https://patentgrep.com/patent/US20200401545A1

## CPC

- G06F 13/4031: {with arbitration}
- G06F 13/161: {with latency improvement}
- G06F 13/1668: {Details of memory controller}
- G11C 11/4096: Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A bus system comprises a master, a first slave, a second slave, and a bus. The master is configured to be able to issue a second request to the second slave after issuing a first request to the first slave and before receiving a response to the first request. The bus comprises: a determination unit configured to, upon receiving the second request, determine whether to permit a transfer of the second request to the second slave; and a suspending unit configured to suspend the transfer of the second request to the second slave while it is determined by the determination unit that the transfer is not permitted. The determination unit determines whether or not the transfer is permitted based on a notification from the first slave regarding processing of the first request.

## Claims

### Claim 1

A bus system comprising a master, a first slave, a second slave, and a bus operable to connect the master, the first slave, and the second slave, wherein
the master is configured to be able to issue a second request to the second slave after issuing a first request to the first slave and before receiving a response to the first request,
the bus comprises:
a determination unit configured to, upon receiving the second request, determine whether to permit a transfer of the second request to the second slave; and
a suspending unit configured to suspend the transfer of the second request to the second slave while it is determined by the determination unit that the transfer is not permitted, and
wherein the determination unit determines whether or not the transfer is permitted based on a notification from the first slave regarding processing of the first request.

### Claim 2 (depends on 1)

The bus system according to claim 1, wherein
the first slave is configured to, when a return timing of a first response for the first request is finalized, transmit finalization information indicating that the first response for the first request is finalized to the determination unit as the notification,
in a case of receiving the finalization information from the first slave, the determination unit calculates a return timing of the first response and a return timing of a second response to the second request based on given information, and in a case where it is guaranteed that the return timing of the second response comes after the return timing of the first response, the transfer is permitted.

### Claim 3 (depends on 2)

The bus system according to claim 2, wherein the given information comprises:
first information on a latency from transmission of the finalization information by the first slave until when the first slave is to return the first response, and
second information on a latency from when the transfer is permitted by the determination unit to until when the second slave is to return the second response.

### Claim 4 (depends on 3)

The bus system according to claim 3, wherein the bus comprises:
a first storage unit configured to store the first information; and
a second storage unit configured to store the second information.

### Claim 5 (depends on 3)

The bus system according to claim 3, wherein
the first slave is configured to determine the first information based on third information about the latency from when the first slave starts processing the first request to when the first slave is to return the first response and fourth information about a timing constraint related to the processing, and to transmit the first information to the bus by including the first information in the finalization information, and
the bus comprises a storage unit configured to store the second information.

### Claim 6 (depends on 1)

The bus system according to claim 1, wherein
the first slave is configured to, when the return timing of the first response to the first request being earlier than the return timing of the second response to the second request is finalized, transmit, as the notification, finalization information indicating that this finalization has been made to the determination unit, and
in a case where the determination unit receives the finalization information from the first slave, the determination unit permits the transfer.

### Claim 7 (depends on 1)

The bus system according to claim 1, wherein
the determination unit permits the transfer in a case where it is not necessary to guarantee that the return timing of the response to the second request comes after the return timing of the response to the first request.

### Claim 8 (depends on 1)

The bus system according to claim 1, wherein
the first slave and the second slave are DRAM controllers, and
the first request and the second request are both a read of data from a DRAM, or both a write of data to a DRAM.

### Claim 9

A method of controlling a bus system comprising a master, a first slave, a second slave, and a bus operable to connect the master, the first slave, and the second slave, wherein
the master is configured to be able to issue a second request to the second slave after issuing a first request to the first slave and before receiving a response to the first request,
upon receiving the second request, the bus determines whether to permit a transfer of the second request to the second slave,
the bus suspends the transfer of the second request to the second slave while it is determined that the transfer is not permitted, and
it is determined whether or not the transfer is permitted based on a notification from the first slave regarding processing of the first request.
