cerns, options, ramifications, and compromises of the design. This case study also explains how to develop the conception of the architecture and subsequent systems design of such a major project. MEMORY SUBSYSTEMS In our review of numerous platforms for network processing, we have encountered a very broad col- lection of memory technologies that are involved in the overall picture. Different memory technologies are engaged by switching/routing systems designers at different places in a system's data paths and for different purposes. The abbreviated trade names of the various technologies have rightfully been char- acterized by one trade-journal editor as a "alphabet-soup of memory technologies." The rationale for the wide variety is that the system architect wants to maximize performance while minimizing cost. As different needs require memories with different characteristics, functionality, and price/performance ratios, an evolving palette of memory offerings must be assimilated continuously from multiple com- peting vendors. They must be mapped properly to the exact system application in order for a wise deci- sion to be made. This decision can significantly affect the ultimate product differentiation. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SYSTEMS ENGINEERING ISSUES NETWORK PROCESSORS We will provide a short overview of the most important memory technologies used in network- processing systems. We do not intend to explain the basics of memory chip operations. More infor- mation is available in the suggested references at the end of the chapter. At a macroscopic level, the fundamental choices for data storage (whether it be packets, headers, parameters, statistics, or traffic descriptors) are dynamic random access memory (DRAM) and static RAM (SRAM), including all their variants. As junior engineering students learn early in scho