Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application...

26
Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National Chiao Tung University [email protected]

Transcript of Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application...

Page 1: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

Shih-Fan, Peng 2013

IEE5008 –Autumn 2013Memory Systems

DRAM Controller for Video Application

Shih-Fan, PengDepartment of Electronics Engineering

National Chiao Tung [email protected]

Page 2: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Outline IntroductionTraditional ControllerDRAM Memory Controller for Video ApplicationConclusionReference

2

Page 3: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

DRAM WORK

3

Page 4: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

DRAM WORK(cont.)

4

Page 5: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

DRAM Organization

5

Page 6: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Introduction

What is DRAM Memory Controller?

Manage the movement of data in and out of DRAM devices

Error detection and correction

6

Page 7: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Abstract DRAM Memory Controller

7

Page 8: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Address Mapping (Translation)Translation a given physical address in to indices in

a DRAM memory systemChannel ID, rank ID, bank ID, row ID, column ID

Mapping scheme is often coupled to the row-buffer-management policy

Ex: memory request sequenceMapping to different rows of the same bankMapping to different rows of different bank

8

Page 9: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Write cachingWrite requests are typically non-critical in terms of

latencyDefer write requests and allow read requests to

proceed aheadBut sometime it is not good

Read requests must be checked against the address of cached writes

Controller must ensure the correctness of memory-access order

9

Page 10: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Request Queue OrganizationsPlace the commands into single queue or multiple

queuePrioritize commands on many different factor

Priority of the request, availability of resources to a given queue, bank address of the request, age of request…..

Ex: per-bank queuing organizationBase on bank address

10

Page 11: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Refresh ManagementDRAM must be refreshed to ensure the integrity of

the dataEx: pseudo-static DRAM

Temperature-compensated self-refresh is usedIf request collides with refresh action, assert a wait

signal used in low frequency

Separate refresh to each bank

11

Page 12: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Method: Optimized the data arrangementMinimize the number of overhead cycles needed for

row-activationsConsider the feature of SDRAM and memory-

access patterns of video-processing applicationVideo-processing algorithms usually uses multi-

dimensional arrays and nested loops

12

Page 13: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng 13

Timing diagram of two consecutive read cycle

Page 14: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Row changes for logical array with (1,128) window

Consider a 2-D array of 8X8 dataCause seven row changes→more latency and

power consumption

14

Page 15: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Row changes for logical array with (8,16) window

A logical array is portioned into a set of rectangles called windows

Each window is stored in a row of SDRAM

15

Page 16: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Condition for Minimal Overhead Cycles

Condition: two banks, the horizontal size of windows is greater than the loop bound

16

Page 17: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Method: History-based predictive approach(HDTV)What if the row address differs from the previous

one?Page missAdditional cycles cannot be hidden

What can do for it?Statically schedule the address sequenceControl the memory operation modeBut if it is irregular?

17

Page 18: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

History-based predictive approach If trp can be overlapped to burst accesses or data transfer

between the memory controller and the processorEffective latency=tRCD + tCL

Use the past history of memory reference Predict next access (built a two-bit counter for each

row)If history predicts to same row

Bank remain in row active stateIf not

Change to idle state

18

Page 19: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Two-bit saturated up/down counter(per-row)

SH,WH→auto-precharge is not issuedSM,WM→auto-precharge is issued

19

Page 20: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Method: Burst Terminates Burst and Anticipative Row Activation In video application, most bandwidth is consumed

by 2-D block dataBlock data may consist of several non-sequential

accessesData length is inconstant

20

Page 21: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Organization of Address BusAllocate and address space larger than the physical

addressSeamless transfer Mode Control Information (MCI)

to memory controllerBurst access operation is pre-calculated by

embedded address generator(EAG)MCI=Mode Select (MS)& Stride control (SC)

21

Page 22: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Organization of Address Bus

22

Page 23: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

BTB and ARA

23

Page 24: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

ConclusionOptimize data arrangement

Select the suitable window sizeHistory-based predictive approach

Predict the successive memory accessBTB and ARA

Provide the parallel access of different banks

24

Page 25: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng

Reference [1] H. Kim and I. C. Park, “High Performance and Low Power Memory Interface Architecture for Video

Processing Applications”, IEEE Transaction on Circuits and Systems for Video Technology, vol.11, pp. 1160 – 1170, 2001.

[2] J. Zhu, L. Hou, W. Wu, R. Wang, C. Huang, and J. Li, “High performance synchronous DRAMs controller in H.264 HDTV decoder,” in Proc. International Conference on Solid State and Integrated Circuits Technology, vol. 3, pp. 1621 – 1624, 2004.

[3] S. I. Park, Y. Yi, and I. C Park, “High Performance Memory Mode Control for HDTV Decoders,” IEEE Transactions on Consumer Electronics, vol. 49, no. 4, pp. 1348 – 1353, November, 2003.

[4] H-Y Kang, K-A Jeong, J-Y Bae, Y-S Lee, and S-H Lee, “MPEG4 AVC/H.264 Decoder with Scalable Bus Architecture and Dual Memory Controller,” in Proc. ISCAS, vol. 2, pp. 145 – 148, May, 2004.

[5] K. B. Lee, T. C. Lin, and C. W Jen, “An Efficient Qual ity- Aware Memory Controller for Multimedia Platform SoC,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 15, no. 5, pp. 620 – 633, May 2005.

[6]G. Hyun, Y. Jin, J. Jung, S. Kim, “A Synchronous DRAM Controller of an H.264/AVC Encoder” International SoC Design Conference, Vol. 02, pp. II-113 - II-116,2008

[7]Textbook: Memory Systems: Cache, DRAM, Disk chapter 13

25

Page 26: Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.

NCTU IEE5008 Memory Systems 2013Shih-Fan, Peng 26

Thank you for your listening