seminar ppt

29
SEMINAR ON CONTENT ADDRESSABLE MEMORY (CAM) PRESENTED BY AJIN R

Transcript of seminar ppt

Page 1: seminar ppt

SEMINAR ON

CONTENT ADDRESSABLE MEMORY(CAM)

PRESENTED BYAJIN R

Page 2: seminar ppt

OBJECTIVESTo familiarise with structure,features and

working of CAMTypes of CAM and CAM cells.Applications of CAM.Working of CAM as search engines in

Networking.Future scopes of CAM.

Page 3: seminar ppt

INTRODUCTIONMemory devices store and

retrieve data by addressing specific memory location.

The time required to find an item stored in memory an be reduced if the item is identified by its content rather than by its address.

Content-addressable memories (CAMs) are hardware search engines that are much faster than algorithmic approaches for search-intensive applications.

Page 4: seminar ppt

ILLUSTRATION OF CAM

m m

n

encoder

2n rows

m bits

contentaddressablememorycell array

Page 5: seminar ppt

What is CAM? Content Addressable Memory is

a special kind of memory! Read operation in traditional

memory:Input is address location of the

content that we are interested in it.

Output is the content of that address.

In CAM it is the reverse:Input is associated with

something stored in the memory.

Output is location where the associated content is stored

1 0 1 X X

0 1 1 0 X

0 1 1 X X

1 0 0 1 1

0 1 1 0 1

0 0

0 1

1 0

1 1

0 1

Content AddressableMemory

1 0 1 X X

0 1 1 0 X

0 1 1 X X

1 0 0 1 1

0 1

0 0

0 1

1 0

1 1

0 1 1 0 X

Traditional Memory

Page 6: seminar ppt

CAM Features CAM Cascading:

We can cascade up to 8 pieces without incurring performance penalty in search time (72 bits x 512K).

We can cascade up to 32 pieces with performance degradation (72 bits x 2M).

Terminology: Initializing the CAM: writing the table into the memory. Learning: updating specific table entries. Writing search key to the CAM: search operation

Handling wider keys: Most CAM support 72 bit keys. They can support wider keys in native hardware.

Shorter keys: can be handled at the system level more efficiently.

Page 7: seminar ppt

Simplified CAM Block Diagram The search word is broadcast on the search lines. Match line indicates if there were a match btw. the search and stored word. Encoder specifies the match location. If multiple matches, a priority encoder selects the first match. Hit signal specifies if there is no match. The length of the search word is long ranging from 36 to 144 bits. Table size ranges: a few hundred to 32K. Address space : 7 to 15 bits

Source: K. Pagiamtzis, A. Sheikholeslami, “Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey,” IEEE J. of Solid-state circuits. March 2006

Page 8: seminar ppt

CAM Basics The search-data word is

loaded into the search-data register.

All match-lines are pre-charged to high (temporary match state).

Search line drivers broadcast the search word onto the differential search lines.

Each CAM core compares its stored bit against the bit on the corresponding search-lines.

Match words that have at least one missing bit, discharge to ground.

Page 9: seminar ppt

CAM for Routing Table ImplementationCAM can be used as a search engine.We want to find matching contents in a database or

Table.Example Routing Table

Page 10: seminar ppt

CAM StructureThe comparand bus is 72 bytes

wide bidirectional.Command bus enables

instructions to be loaded to the CAM.

There is global mask registers which can remove specific bits and a mask register that is present in each location of memory.

The output port is 24 bytes wide.Flag and control signals specify

status of the banks of the memory.

Page 11: seminar ppt

CAM Memory Size Largest available around 18 Mbit

(single chip).

Rule of thumb: Largest CAM chip is about half the largest available SRAM chip. A typical CAM cell consists of two

SRAM cells.

Exponential growth rate on the size Source: K. Pagiamtzis, A. Sheikholeslami, “Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey,” IEEE J. of Solid-state circuits. March 2006

Page 12: seminar ppt

Type of CAMs Binary CAM (BCAM) only stores 0s and 1s

Applications: MAC table consultation. Ternary CAM (TCAM) stores 0s, 1s and don’t cares.

Application: in QoS, IP routing, Artificial Neural Networking.

Available sizes: 1Mb, 2Mb, 4.7Mb, 9.4Mb, and 18.8Mb.

CAM entries are structured as multiples of 36 bits rather than 32 bits.

Page 13: seminar ppt

Binary CAM CellConventional binary CAM

(BCAM) cell will simply have a storage circuitry(an SRAM or DRAM cell).

Comparator logic provides match information for searches performed.

XOR gate is used to compare stored data and search data.

match information= ! (B XOR S).

Page 14: seminar ppt

Ternary CAM CellTCAM cell stores an extra state

compared to the binary CAM, the don't care state, labelled X.

TCAM mask-off certain bit for partial match.

1 – data masked. 0 – data not masked.Application: At edge of a router

where router only worries about destination address and not host ID.

Page 15: seminar ppt

Hardware solutions for CAM

Discrete CAMSpecialized memory devices added to the pcb

whenever required.Advantages:

Can make use of all available features of CAM. Disadvantage:• Additional board space required.• On/Off chip delay reduces the performance.

Page 16: seminar ppt

Hardware solutions for CAM Integrated CAMEg: CAM capability offered in the latest

high density programmable logic devices (PLDs).

In these CAM-capable PLDs, an on-board structure called the Embedded System Block (ESB) can implement CAM.

Each ESB in this device supports a 1K-bit CAM (32 words of 32 bits each).

Advantges:

Space efficiency & High performance.

Page 17: seminar ppt

Integrated CAMAPEX devices offer integrated

CAM accelerate applications requiring fast searches of databases, lists, and patterns.

With CAM, input data is compared against a list of stored entries in a single clock cycle.

The ESB is the heart of the APEX device architecture.

Comparison of Discrete CAM & APEX CAM

Feature Discrete CAM APEX CAM

Access time 20 ns 4 ns

System

performance

Multi-device

solution

28.2 ns

Single-device

solution

4.9 ns

Page 18: seminar ppt

APEX 20KE CAMAPEX ESB can be

configured to a 32-word x 32-bit CAM.

Multiple ESBs can be cascaded together to implement wider and deeper CAMs.

APEX CAM architecture provides great flexibility.

Page 19: seminar ppt

RAM vs CAMCAM RAM Hardware search engines for

search intensive application. CAM composed of generally

SRAM with additional comparison oriented circuitry.

Output is the address for an input dataword.

Depth of memory can be extended as far as desired,but width limited by physical size.

Mainly used in routers & switches.

Physical memory to store data.

It can be SRAM,DRAM etc but no extra circuitry.

Input is the address which produces dataword as output.

Depth is limited, width can be extended as far as desirable.

Used for temporary storage.

Page 20: seminar ppt

APPLICATIONS

Page 21: seminar ppt

Data Compression Data compression removes

redundancy that resides in a given

piece of information, producing an equivalent but shorter message.

Hardware search engine ,CAM can greatly increase the throughput of the compression algorithm.

If the code corresponding to the word bit pattern in the input register is found, then the appropriate symbol or token is output and input register is flushed.

Page 22: seminar ppt

Network SwitchCAM is used in switch

applications to extract and process the address information from incoming data packets.

CAM compares the destination address with a table of addresses stored within.

This switches the packet to the correct outgoing port.

Page 23: seminar ppt

Typical CAM UsageIngress ports: Ports for

data exchange.Host Interface: Access

network processor for config. Settings and updates.

Associated SRAM: Holds the packet forwarding information.

CAM Interface: Access CAM, update database & perform searches.

Page 24: seminar ppt

CAM Advantages They associate the input (comparand) with their memory

contents in one clock cycle.

They are configurable in multiple formats of width and depth of search data that allows searches to be conducted in parallel.

CAM can be cascaded to increase the size of lookup tables that they can store.

We can add new entries into their table to learn what they don’t know before.

They are one of the appropriate solutions for higher speeds

Page 25: seminar ppt

More ApplicationsQuality of Services(QoS) such as packet

monitoring, billing,firewall,content protection.

In Signature Recognition.IP forwarding address translation.Also used for Memory mapping, IP Filter,

ATM Switch, and Artificial Neural Networking.

Page 26: seminar ppt

CONCLUSIONFor any application that requires a fast memory search, CAM can

provide a solution..As CAM becomes more popular and system-on-a-chip

design becoming more commonIntellectual property and embedded version of CAM such as that offered

in the most advanced PLDs have also become available. In the coming months, CAM will enjoy increased popularity, particularly

with the growing number of communications applications that can

utilize its capabilities.

Page 27: seminar ppt

Future ScopeSearching speed can be increased which can

lead to high throughput.Reducing the cost we can use it for small

search applications.MRAM based MCAM cell design research is

going on for improved performances.

Page 28: seminar ppt

Referenceswww.efy.comhttp://www.commsdesign.com.EFY Magazine,September 2009International IC Ð Taipei ¥ Conference Proceedings (CAM

& Network Applications)www.ieeexplore.ieee.orgMagnetics, IEEE Transactions on ,

Issue Date :  June 2010 Volume :  46 ,  Issue:6

Page 29: seminar ppt

THANK YOU