Senior Firmware Engineer

Milpitas

Job Title

Senior Firmware Engineer
Silicon Motion, Inc., 690 N. McCarthy Blvd., Suite 200, Milpitas, CA 95035, is seeking to hire a Senior Firmware Engineer.

Job Summary:

Responsible for the design, development, and maintenance of embedded firmware for solid-state storage systems, including Flash Translation Layer (FTL), NAND flash management, I/O data path, and system-level integration to ensure performance, reliability, and data integrity.

Job Duties include:

  1. Designing, developing, testing, and maintaining embedded firmware for SSD controllers and related storage hardware platforms.
  2. Developing and optimizing firmware for I/O data path and control path operations to enable efficient storage system performance.
  3. Implementing and maintaining Flash Translation Layer (FTL) components, including logical-to-physical address mapping, garbage collection, and wear leveling.
  4. Developing firmware-level error handling and data integrity mechanisms for NAND flash-based storage systems.
  5. Developing firmware supporting power-on initialization, power-loss handling, and recovery processes to ensure data consistency.
  6. Developing and optimizing low-level firmware for SoC-based storage controllers, including hardware initialization and system bring-up routines.
  7. Implementing and supporting NVMe and PCIe storage interfaces in compliance with industry specifications.
  8. Performing debugging, root cause analysis, and performance profiling using hardware and software development tools.
  9. Conducting firmware validation including stress testing and corner-case verification to ensure system stability and reliability.
  10. Collaborating with ASIC, hardware, validation, and customer engineering teams on system integration and issue resolution.

Minimum Requirements:

  • Master’s degree in Computer Engineering, Computer Science, Computing and Technology, or a closely related field.
  • 2-year experience as Firmware Engineer in the field of embedded firmware development for SSD products.
  • Require knowledge of flash memory components such as garbage collection and wear leveling, NVMe SSD firmware development, and multi-core or multiprocessor SoC architectures.
  • Require programming language in C/C++ for embedded systems.
  • Require skills in debugging tools such as GDB, and software development and collaboration tools including Git and Jira.

Salary: $187,075.00 - $188,000.00 per year

Contact:
Send resume to Jobs@siliconmotion.com.