As a Media Optimization Engineer, you will be responsible for exploring the efficient use of Micron emerging memory technologies. You will be a member of a small team of similarly focused engineers researching memory management and system performance sensitivity to system architectures and configurations, memory architectures, and memory specifications. This work will entail analysis and prototyping activities ranging from paper analysis, analysis of characterization data and traces from existing memories and systems, software modification on existing systems, and in some cases building prototype systems to demonstrate proofs of concepts. This position embodies the full-stack attitude focused on real hardware to understand pertinent aspects of the entire compute and memory stack from software to operating systems to hardware.
Responsibilities include, but not limited to:
- Work with technologists to develop an understanding of the characteristics of Micron emerging memory technologies
- Work with business units to understand memory and storage access constraints defined by systems across a range of market segments
- Identify methods by which emerging memories can be optimized and managed within system constraints
- Perform analysis to demonstrate the customer perceivable value of these methods to reliability and/or performance
- Monitor and contribute to external research funded by Micron
- Research, prototype, and evaluate novel applications software, operating systems, and systems architectures that unlock the potential of emerging memories
Minimum Qualifications:
- Architecture-level knowledge of a modern microarchitecture employing either x86 or ARM.
- A good grasp of embedded, computer and mobile system architectures
- Experience researching/prototyping hardware, operating systems, or applications software
- Ability to assimilate and analyze large complex data sets to understand complex problems
- Exposure to emulation of memory and/or storage subsystem performance and/or reliability
- Demonstrated proficiency in programming multiple levels of the compute stack: RTL, firmware, system-level software or application software on systems ranging from mobile to server platforms
- Ability to learn new skills and explore unfamiliar concepts
Education:
- MS/Ph.D. in Electrical Engineering, Computer Engineering or Computer Science with industry experience in engineering and/or research