Sandisk
Flash and advanced memory technologies
LinuxPCIeDriverDeveloper
Neural analysis suggests this role is
optimal for mid candidates.
“Linux PCIe Driver Developer at Sandisk. Skills: Linux PCIe Driver Development, Kernel-mode drivers for Linux, PCIe protocol, NVMe specification, C/C++, Low-level system software architecture. Architect and implement high-performance PCIe drivers for the Linux operating systems. Develop a robust architecture for supporting multiple endpoints across multiple cards and ensuring reliable communication”
What You'll Achieve.
Ensure a seamless and efficient ML workload; Ensure reliable communication; Ensure optimal performance and cache coherency
Industry & Context.
Exceptional debugging and analytical skills, with a track record of solving the most challenging system-level problems
What They're Looking For.
Must Have
8+ years in system software development, Extensive experience designing and developing kernel-mode drivers for Linux, Deep understanding of high-speed I/O protocols like PCIe and the NVMe specification, Experience with the concepts of submission and completion queues, doorbells, and DMA is a must, Mastery of C/C++, Deep understanding of low-level system software architecture, including MMIO and virtual memory, Proven ability to manage and maintain a codebase for multiple operating systems, Exceptional debugging and analytical skills, with a track record of solving the most challenging system-level problems
What You'll Do.
Architect and implement high-performance PCIe drivers for the Linux operating systems
Develop a robust architecture for supporting multiple endpoints across multiple cards and ensuring reliable communication
Design and implement the firmware for supporting complex hardware topologies
including multiple PCIe cards connected over an external PCIe switch
Identify and set up the PCI device address for each individual PCIe device within each card
Design and implement a custom
NVMe-like protocol that operates over PCIe MMIO
Implement host-side NVMe-like protocol
Design and implement doorbell registers mechanism
Manage command submission and completion queues in memory
Develop interrupt service routines (ISRs) to handle device-generated interrupts and notify the host of command completions and events
Orchestrate the DMA engine to move data efficiently between the host and device without CPU intervention
Architect the software for accessing the device's SRAM and DRAM over the PCIe BAR (Base Address Register) space
ensuring optimal performance and cache coherency
How You'll Work.
Team & Collaboration
Work closely with the host-side software teams, hardware engineers, and other firmware engineers to ensure a cohesive and high-performing end-to-end solution
Full Job Description
Sandisk understands how people and businesses consume data and we relentlessly innovate to deliver solutions that enable today’s needs and tomorrow’s next big ideas. With a rich history of groundbreaking innovations in Flash and advanced memory technologies, our solutions have become the beating heart of the digital world we’re living in and that we have the power to shape. Sandisk meets people and businesses at the intersection of their aspirations and the moment, enabling them to keep moving and pushing possibility forward. We do this through the balance of our powerhouse manufacturing capabilities and our industry-leading portfolio of products that are recognized globally for innovation, performance and quality. Sandisk has two facilities recognized by the World Economic Forum as part of the Global Lighthouse Network for advanced 4IR innovations. These facilities were also recognized as Sustainability Lighthouses for breakthroughs in efficient operations. With our global reach, we ensure the global supply chain has access to the Flash memory it needs to keep our world moving forward. We are seeking a talented and driven Firmware Engineer to join our team and contribute to the host side software stack of machine learning for the Next Gen Computational PCIe Flash Controller project. In this role, you will be a key contributor to the firmware that enables high-performance communication and data transfer between the host and our device. You'll work on critical components, including the PCIe driver , DMA engine , MMIO , and Mailbox interfaces, to ensure a seamless and efficient ML workload. * Linux PCIe Driver Development: Architect and implement high-performance PCIe drivers for the Linux operating systems. his includes developing a robust architecture for supporting multiple endpoints across multiple cards and ensuring reliable communication. * PCIe Switch Management: Design and implement the firmware for supporting complex hardware topologies, including multiple PC
Applying for this Linux PCIe Driver Developer role?
Most applicants get filtered before a human reads their resume. See if yours makes the cut.
How to Apply on SmartRecruiters
- SmartRecruiters often includes a video screening step — check camera and mic permissions.
- Link your GitHub or portfolio directly in the profile section for technical roles.
- Applications may be reviewed by AI scoring before reaching a recruiter — use keywords from the job description.
ANONYMOUS · UNFILTERED
What do employees actually say about Sandisk?
Real rants from real employees. Read before you apply.