Job Description
Develops embedded software within environments that have constrained timing and memory resources, designs and implements reusable code, performs design and code reviews, as well as tests and validates product implementations. Job may require experience in system architecture and modeling, operating systems, device architecture, system integration, algorithm modeling, digital signal processing, and/or hardware design. Works with a variety of storage interface standards. Performs system-level design modeling, and systems integration, additionally performing algorithm modeling, benchmarking implementation, and/or digital signal processing.
- Understand and update media related algorithms in SSD firmware.
- Write and test new firmware to understand its impact on performance.
- Parse logs and SSD ASSERT dumps to determine if SSD failures are media related.
- Perform electrical failure analysis on SSDs using in house tools to access the NAND directly to root cause issues.
- Interface with the NAND product engineering team to develop experiments to root cause failing media\FW interactions
Qualifications
- Bachelor of Science (BS) or Master Degree (MS) in Computer Science or Computer Engineering
- Proficient in C or C++
- Proficient with Python
- Experience working with firmware