Silicon Motion Technology-posted 3 months ago
$150,000 - $210,000/Yr
Full-time • Mid Level
Milpitas, CA
1,001-5,000 employees
Computer and Electronic Product Manufacturing

The position involves designing and maintaining Flash Translation Layer (FTL) architecture, developing and maintaining the FTL including I/O flow, Garbage Collection, and Wear Leveling algorithms to ensure data integrity and maximize NAND endurance. Responsibilities also include block management and metadata handling, error handling mechanisms, power-loss protection, performance and resource optimization, and debugging and validation.

  • Design and Maintain FTL Architecture
  • Develop and maintain the Flash Translation Layer (FTL), including I/O flow, Garbage Collection, and Wear Leveling algorithms to ensure data integrity and maximize NAND endurance.
  • Implement bad block detection, isolation, and data migration mechanisms to manage block lifecycle.
  • Design robust metadata structures to support fast mapping table reconstruction and system boot.
  • Prevent and mitigate NAND-related issues such as read disturb, program/erase failures, and retention loss.
  • Implement RAID encode/decode flows to guarantee data reliability.
  • Design and implement power-loss protection algorithms to maintain data consistency and metadata integrity during unexpected shutdowns.
  • Verify and optimize power-loss recovery flow to ensure fast and reliable system startup.
  • Optimize channel/die/plane access scheduling and parallelism to improve throughput and reduce latency.
  • Enhance DRAM/SRAM usage efficiency and reduce Write Amplification for better endurance and performance.
  • Develop and analyze FTL traces and logs for performance profiling and issue root-cause analysis.
  • Conduct stress testing, mixed workload testing, power-fail tests, and corner-case verification to ensure firmware stability and reliability.
  • Collaborate with Validation, Hardware, and ASIC teams to resolve cross-functional issues and ensure system robustness.
  • Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related fields.
  • At least 3 years work experience in software/firmware applications engineering.
  • Experience in SSD controller/firmware architecture.
  • Strong experience in C/C++ programming and data structure.
  • Hands on experience with JTAG/ICE debuggers.
  • Experience with version control software like Git.
  • Competent to work independently as well as in a small team collaboration environment.
  • Must be willing to learn fast and execute as a team player.
  • Good oral, written and presentation skills for communication and documentation.
  • Ability to work independently with a minimum of day-to-day supervision.
  • The ability to operate logic analyzer, oscilloscope and bus protocol analyzer is valuable.
  • Familiar with SATA/PCIe (NVMe) protocols.
  • Familiar with NAND flash protocols.
  • Linux system debug experience.
  • Fluent in reading and writing Mandarin preferred.
  • Highly competitive salaries differentiated by performance.
  • Annual merit increases.
  • Year-end bonus.
  • RSU for eligible employees.
  • Invention and Patent Awards.
  • 401(k) Employer Matching.
  • Length of Service Awards.
  • Comprehensive health insurance plans for eligible employees and dependents.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service