IP Library › Granted Patent US 9,298,613
Granted Patent B2
US 9,298,613 · App. 14/144,682 · Granted Mar 29, 2016

Integrated circuit for computing target entry address of buffer descriptor based on data block offset, method of operating same, and system including same

Inventors: Seong Woon Kim (Suwon-si, KR); Kwan Ho Kim (Suwon-si, KR); Seok Min Kim (Suwon-si, KR); Tae Sun Kim (Seongnam-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/06G06F12/0292
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,298,613
App. No.
14/144,682
Granted
Mar 29, 2016
Kind
B2
Abstract

A method of operating an integrated circuit is provided. The method includes receiving a data block offset from a second storage device, obtaining a target entry address using the data block offset, and reading an entry among a plurality of entries comprised in a buffer descriptor stored in a first storage device based on the target entry address. The method also includes reading data from a data buffer among a plurality of data buffers included in the first storage device using a physical address included in the entry and transmitting the data to the second storage device.

Claims (49)

1. A method of operating an integrated circuit, the method comprising:

receiving a data block offset from a second storage device;

obtaining a target entry address of a buffer descriptor stored in a first storage device, by using the data block offset; and

reading an entry, among a plurality of entries comprised in the buffer descriptor, based on the target entry address,

wherein the obtaining the target entry address comprises:

calculating an integer quotient of the data block offset divided by a data buffer size; and

calculating the target entry address using ESA=BD+Q×ES, where the ESA is the target entry address, BD is a start address of the buffer descriptor, Q is the integer quotient, and the ES is a size of each of the entries.

2. The method of claim 1 , further comprising reading data from a data buffer among a plurality of data buffers comprised in the first storage device using a physical address comprised in the entry and transmitting the data to the second storage device.

3. The method of claim 2 , wherein further comprising reading another entry, among the plurality of entries, corresponding to another data buffer to read another data from the other data buffer during the reading data from the data buffer.

4. The method of claim 1 , further comprising setting values, each of which indicates a size of a data buffer and is comprised in one of the entries, to be the same using a register.

5. The method of claim 1 , further comprising:

receiving read data together with the data block offset; and

writing the read data to a data buffer among a plurality of data buffers comprised in the first storage device using a physical address comprised in the entry.

6. The method of claim 1 , wherein the first storage device is implemented within the integrated circuit.

7. The method of claim 1 , further comprising:

receiving a data size together with the data block offset;

calculating an adjacent entry address of the target entry address based on the target entry address and a ratio of the data size to a size of a data buffer; and

reading data from a data buffer among a plurality of data buffers comprised in the first storage device based on a physical address comprised in the entry read based on the target entry address and transmitting the data to the second storage device while reading an adjacent entry based on the adjacent entry address.

8. The method of claim 1 , further comprising:

receiving a data size and read data together with the data block offset;

calculating an adjacent entry address of the target entry address based on the target entry address and a ratio of the data size to a size of a data buffer; and

writing the read data to a data buffer among a plurality of data buffers comprised in the first storage device based on a physical address comprised in the entry read based on the target entry address while reading an adjacent entry based on the adjacent entry address.

9. A method of operating an integrated circuit, the method comprising:

receiving, from a second storage device, one data packet which comprises first information about data blocks in the second storage device and second information about data to be written to the second storage device;

calculating a number of data writing operations and a target entry address using the second information and the first information, respectively;

reading data stored in a storage, corresponding to the target entry address, in a first storage device, and writing the read data to a data block in the second storage device; and

reading another data stored in another storage, adjacent to the storage, in the first storage device, and writing the other read data to another data block in the second storage device,

wherein the reading and writing the other data is repeated without receiving, from the second storage device, an additional data packet comprising the first and second information,

wherein the first information comprises a data block offset, and

wherein the calculating the target entry address comprises,

calculating an integer quotient of the data block offset divided by a data buffer size; and

calculating the target entry address using ESA=BD+Q×ES, where the ESA is the target entry address, BD is a start address of the buffer descriptor, Q is the integer quotient, and the ES is a size of each of the entries.

10. The method of claim 9 , wherein the second information comprises a size of the data to be written to the second storage device, and

wherein the number of data writing operations corresponds to the size of the data to be written to the second storage device.

11. The method of claim 10 , wherein the number of data writing operations is calculated by dividing the size of the data to be written to the second storage device by a size of the storage in the first storage device.

12. An integrated circuit comprising:

a control logic circuit configured to obtain a target entry address using a data block offset received from a second storage device; and

a first direct memory access (DMA) controller configured to read an entry among a plurality of entries comprised in a buffer descriptor stored in a first storage device based on the target entry address,

wherein the control logic circuit calculates an integer quotient of the data block offset divided by a data buffer size and calculates the target entry address using ESA=BD+Q×ES, where ESA is the target entry address, BD is a start address of the buffer descriptor, Q is the integer quotient, and the ES is a size of each of the entries.

13. The integrated circuit of claim 12 , wherein the first DMA controller accesses a data buffer among a plurality of data buffers comprised in the first storage device using a physical address comprised in the entry to perform one of a write operation and a read operation.

14. The integrated circuit of claim 12 , further comprising a second DMA controller configured to read data from a data buffer among a plurality of data buffers comprised in the first storage device using a physical address comprised in the entry and transmit the data to the second storage device.

15. The integrated circuit of claim 12 , further comprising a second DMA controller configured to write read data to a data buffer among a plurality of data buffers comprised in the first storage device using a physical address comprised in the entry when the read data is received together with the data block offset.

16. The integrated circuit of claim 12 , wherein the integrated circuit is a universal flash storage (UFS) host controller interface defined in JEDEC JESD223.

17. The integrated circuit of claim 12 , wherein the buffer descriptor is a physical region description table (PRDT) defined in JEDEC JESD223.

18. An application processor comprising:

the integrated circuit of claim 12 ; and

a controller controlling the integrated circuit.

19. The method of claim 1 , each of the plurality of entries comprises a physical address, the physical address indicating a data buffer region start address and an integer multiple of the data buffer size.

20. The method of claim 12 , each of the plurality of entries comprises a physical address, the physical address indicating a data buffer region start address and an integer multiple of the data buffer size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2013
From: KIM, SEONG WOON; KIM, KWAN HO; KIM, SEOK MIN; KIM, TAE SUN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 031861/0621 →
Priority Claims (1)
KR 10-2013-0022168 · Feb 28, 2013 · national
Continuity (1)
Related Publication 20140244908A1 · Aug 28, 2014