# US 8,751,692 B2 · Data transfer apparatus, data transfer method, and storage medium

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

- Number: US 8,751,692 B2
- Document ID: US8751692B2
- Status: Granted
- Kind: B2
- Application number: 13/633,519
- Filed: 2012-10-02
- Published: 2013-04-25
- Granted: 2014-06-10
- Earliest claimed: 2011-10-21
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Masanori Fukada
- Web page: https://patentgrep.com/patent/US8751692B2

## CPC

- G06F 13/28: using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data transfer apparatus includes an acquisition unit configured to acquire a first list indicating arrangement information of transfer source data, a second list indicating arrangement information of transfer destination data, a third list indicating arrangement information of data to be inserted, and a fourth list which includes a deletion offset address indicating a deletion start position and a data size of data to be deleted; a control unit configured to select a necessary list from the first to fourth lists, and generate data to be transferred from a transfer source to a transfer destination; and a transfer unit configured to transfer the data to the transfer destination.

## Claims

### Claim 1

A data transfer apparatus comprising:
an acquisition unit configured to acquire, from another apparatus, a first list indicating arrangement information of transfer source data, a second list indicating arrangement information of transfer destination data, a third list indicating arrangement information of data to be inserted, and a fourth list which includes a deletion offset address indicating a deletion start position and a data size of data to be deleted;
a selection unit configured to select a necessary list from the first to fourth lists acquired by said acquisition unit based on a request from said another apparatus;
a control unit configured to generate data to be transferred from a transfer source to a transfer destination using the selected list by the selection unit; and
a transfer unit configured to transfer the data generated by said control unit to the transfer destination.

### Claim 2 (depends on 1)

The apparatus according to claim 1, wherein said control unit generates the data by reading data arranged in an address area of the transfer source according to the arrangement information of the first list, and writing the data in an address area of the transfer destination according to the arrangement information of the second list.

### Claim 3 (depends on 2)

The apparatus according to claim 2, wherein when a received transfer request contains data update designation, said control unit generates data by reconstructing the arrangement information of the first list according to contents of the update designation.

### Claim 4 (depends on 3)

The apparatus according to claim 3, wherein when the update designation designates to insert data, said control unit specifies a data insertion position in the first list using an insertion offset address indicating an insertion start position and included in the third list.

### Claim 5 (depends on 1)

The apparatus according to claim 1, wherein
the first list includes units, each of which consists of a physically discontinuous address area where the transfer source data is arranged, and a data size of the data read from the address area, and
the second list includes units, each of which consists of a physically discontinuous address area of the transfer destination where the data is arranged, and a data size of the data written from the address area.

### Claim 6 (depends on 4)

The apparatus according to claim 4, wherein the third list includes units, each of which consists of an address at which insertion source data is arranged, a data size of the insertion source data read from the address, and the insertion offset address indicating the insertion start position.

### Claim 7 (depends on 6)

The apparatus according to claim 6, wherein said control unit reconstructs the arrangement information of the first list by setting an address in the third list at an insertion position in the first list.

### Claim 8 (depends on 6)

The apparatus according to claim 6, wherein when an address of data read by said control unit reaches the insertion offset address, said control unit interrupts a data read operation according to the first list, and reads insertion data according to an address of the third list.

### Claim 9 (depends on 8)

The apparatus according to claim 8, wherein upon completion of transfer of insertion data with a data size according to the third list, said control unit resumes the data read operation according to the first list, which has been interrupted.

### Claim 10 (depends on 3)

The apparatus according to claim 3, wherein when the update designation designates to delete data, said control unit specifies a data deletion position in the first list using the deletion offset address.

### Claim 11 (depends on 10)

The apparatus according to claim 10, wherein said control unit reconstructs the arrangement information of the first list by modifying a data size of the first list using the data size of the data to be deleted.

### Claim 12 (depends on 10)

The apparatus according to claim 10, wherein when an address of data read by said control unit reaches the deletion offset address, said control unit does not generate data with a data size of the fourth list.

### Claim 13

A data transfer method for a data transfer apparatus, comprising:
an acquisition step of acquiring, from another apparatus, a first list indicating arrangement information of transfer source data, a second list indicating arrangement information of transfer destination data, a third list indicating arrangement information of data to be inserted, and a fourth list which includes a deletion offset address indicating a deletion start position and a data size of data to be deleted;
a selection step of selecting a necessary list from the first to fourth lists acquired in the acquisition step based on a request from the another apparatus;
a control step of generating data to be transferred from a transfer source to a transfer destination using the selected list in the selection step; and
a transfer step of transferring the data generated in the control step to the transfer destination.

### Claim 14

A non-transitory computer readable storage medium storing a program for causing a computer to execute a data transfer method comprising:
an acquisition step of acquiring, from another apparatus, a first list indicating arrangement information of transfer source data, a second list indicating arrangement information of transfer destination data, a third list indicating arrangement information of data to be inserted, and a fourth list which includes a deletion offset address indicating a deletion start position and a data size of data to be deleted;
a selection step of selecting a necessary list from the first to fourth lists acquired in the acquisition step based on a request from the another apparatus;
a control step of generating data to be transferred from a transfer source to a transfer destination using the selected list in the selection step; and
a transfer step of transferring the data generated in the control step to the transfer destination.
