IP Library Granted Patent US 10,657,617
Granted Patent B1
US 10,657,617 · App. 16/199,898 · Granted May 19, 2020

Method and apparatus for memory access management for data processing

Inventors: Shige Wang (Northville, MI); Wei Tong (Troy, MI); Shuqing Zeng (Sterling Heights, MI); Roman L. Millett (Clinton Township, MI)
Assignee: GM Global Technology Operations LLC
G06T1/20G06F3/0604G06F3/0656G06F3/0671G06F9/3877G06F9/4881G06F9/544G06K9/6232G06T1/60G06T7/73G06T7/80
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 10,657,617
App. No.
16/199,898
Filed
Nov 26, 2018
Granted
May 19, 2020
Kind
B1
Art Unit
2613
USPC
345/501
Abstract

A method and system including a central processing unit (CPU), an accelerator, a communication bus and a system memory device for dynamically processing an image file are described. The accelerator includes a local memory buffer, a data transfer scheduler, and a plurality of processing engines. The data transfer scheduler is arranged to manage data transfer between the system memory device and the local memory buffer, wherein the data transfer includes data associated with the image file. The local memory buffer is configured as a circular line buffer, and the data transfer scheduler includes a ping-pong buffer for transferring output data from the one of the processing engines to the system memory device. The local memory buffer is configured to execute cross-layer usage of data associated with the image file.

Claims (36)

1. A system for dynamically processing a datafile, comprising:

a central processing unit (CPU), an accelerator, a communication bus, and a system memory device, wherein the system memory device is configured to store the datafile;

the accelerator including a local memory buffer, a data transfer scheduler, and a plurality of processing engines; and

the local memory buffer including an input buffer and an output buffer, wherein the input buffer is in communication with an input register set for one of the processing engines and the output buffer is in communication with an output register set for the one of the processing engines;

wherein the data transfer scheduler is arranged to manage data transfer between the system memory device and the local memory buffer, wherein the data transfer includes data associated with the datafile;

wherein the local memory buffer is configured as a circular line buffer;

wherein the data transfer scheduler includes a ping-pong buffer for transferring output data from the one of the processing engines to the system memory device; and

wherein the local memory buffer is configured to execute cross-layer usage of the data associated with the datafile.

2. The system of claim 1 , wherein the datafile comprises a bitmap image file including a field of view from a camera.

3. The system of claim 1 , wherein the data transfer scheduler configured to manage the data transfer between the system memory device and the local memory buffer comprises the data transfer scheduler configured to manage the data transfer that includes data associated with a portion of the datafile.

4. The system of claim 1 , wherein the local memory buffer configured as the circular line buffer comprises the local memory buffer configured to read and transfer a first quantity of rows of the datafile to the input buffer for processing by the one of the processing engines and concurrently update a next quantity of rows into the input buffer.

5. The system of claim 1 , wherein the ping-pong buffer for transferring the output data from the one of the processing engines to the system memory device comprises the output buffer being arranged as a double buffer including a first output buffer portion and a second output buffer portion, a first switch, a second switch, and a plurality of logic devices.

6. The system of claim 5 , wherein the plurality of logic devices are controlled to effect communication of the output data from the one of the processing engines to the first output buffer portion via the first switch coincident with the plurality of logic devices being controlled to effect communication from the second output buffer portion to the system memory device in a first iteration.

7. The system of claim 6 , wherein the plurality of logic devices are controlled to effect communication of the output data from the one of the processing engines to the second output buffer portion via the first switch coincident with the plurality of logic devices being controlled to effect communication from the first output buffer portion to the system memory device during a second, subsequent iteration.

8. The system of claim 7 , wherein the plurality of logic devices are controlled to effect the communication of the output data from the one of the processing engines to the second output buffer portion coincident with the plurality of logic devices being controlled to effect the communication from the first output buffer portion to the system memory device during the second, subsequent iteration only after the second output buffer completes the communication from the second output buffer portion to the system memory device and after the one of the processing engines generates the output data.

9. The system of claim 1 , wherein the datafile comprises a bitmap image file of a field of view that is captured by a camera, and

wherein the CPU employs the accelerator to extract a feature from the bitmap image file.

10. The system of claim 9 , wherein the system is in communication with a control system that is disposed to execute a control action, and,

wherein the control system is disposed to execute the control action based upon the feature that is extracted from the datafile.

11. A method for dynamically processing an image file employing a central processing unit (CPU), an accelerator, a communication bus and a system memory device configured to store the image file, wherein the accelerator includes a local memory buffer, a data transfer scheduler, and a plurality of processing engines, wherein the local memory buffer includes an input buffer and an output buffer, wherein the input buffer is in communication with an input register set for one of the processing engines and the output buffer is in communication with an output register set for the one of the processing engines, the method comprising:

arranging the data transfer scheduler to manage data transfer between the system memory device and the local memory buffer, wherein the data transfer includes data associated with the image file;

configuring the local memory buffer as a circular line buffer;

executing a ping-pong buffer in the data transfer scheduler to transfer output data from the one of the processing engines to the system memory device; and

configuring the local memory buffer to execute cross-layer usage of the data associated with the image file;

extracting, via the accelerator, a feature from the image file; and

executing, via a control system, a control action based upon the feature that is extracted from the image file.

12. The method of claim 11 , wherein the image file comprises a bitmap image file including a field of view from a camera.

13. The method of claim 11 , wherein arranging the data transfer scheduler to manage the data transfer between the system memory device and the local memory buffer comprises arranging the data transfer scheduler to manage the data transfer between the system memory device and the local memory buffer associated with a portion of the image file.

14. The method of claim 11 , wherein configuring the local memory buffer as the circular line buffer comprises configuring the local memory buffer to read and transfer a first quantity of rows of the image file to the input buffer for processing by the one of the processing engines and concurrently updating a next quantity of rows into the input buffer.

15. The method of claim 11 , wherein executing the ping-pong buffer in the data transfer scheduler to transfer the output data from the one of the processing engines to the system memory device comprises arranging the output buffer as a double buffer including a first output buffer portion and a second output buffer portion, a first switch, a second switch, and a plurality of logic devices.

16. The method of claim 15 , comprising controlling the plurality of logic devices to effect communication of the output data from the one of the processing engines to the first output buffer portion via the first switch coincident with controlling the plurality of logic devices to effect communication from the second output buffer portion to the system memory device in a first iteration.

17. The method of claim 16 , comprising controlling the plurality of logic devices to effect communication of the output data from the one of the processing engines to the second output buffer portion via the first switch coincident with controlling the plurality of logic devices to effect communication from the first output buffer portion to the system memory device during a second, subsequent iteration.

18. The method of claim 17 , comprising controlling the plurality of logic devices to effect the communication of the output data from the one of the processing engines to the second output buffer portion coincident with controlling the plurality of logic devices to effect the communication from the first output buffer portion to the system memory device during the second, subsequent iteration only after the second output buffer completes the communication from the second output buffer portion to the system memory device and after the one of the processing engines generates the output data.

19. The method of claim 11 , wherein the image file comprises a bitmap image file of a field of view that is captured by a camera, and

wherein the extracting comprises extracting the feature from the bitmap image file.

20. The method of claim 19 , comprising executing, via the control system, the control action based upon the feature that is extracted from the bitmap image file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: WANG, SHIGE; TONG, WEI; ZENG, SHUQING; MILLETT, ROMAN L.
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 047587/0080 →
Cited By (8)
US 12,210,401 US 12,249,189 US 12,443,387 US 12,450,010 US 12,497,055 US 12,518,570 US 12,579,413 US 12,720,232