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're looking for a highly skilled
Technologist, Software Engineering
with over 10 years of experience to lead the host-side software stack for our high-bandwidth flash controller. In this role, you'll design and implement a high-performance
PCIe kernel-mode driver
for both
Linux
and
Windows
, along with a corresponding user-space library. This is a senior, hands-on role that requires a deep understanding of low-level systems and high-speed communication.
Key Responsibilities
Multi-OS PCIe Driver Development:
You'll architect and implement high-performance
PCIe drivers
for both the
Linux
and
Windows
operating systems. This includes handling device enumeration, interrupt management, and resource allocation.
Custom Protocol Design:
Design and implement a custom,
NVMe-like protocol
that operates over
PCIe MMIO
. You'll be responsible for the entire host-side implementation, including:
+
Doorbell Registers:
Design and implement the mechanism for host software to signal the device by ringing
doorbells
to submit commands.
+
Command Queues:
Manage command submission and completion queues in memory.
+
Interrupt Handling:
Develop the interrupt service routines (ISRs) to handle device-generated interrupts and notify the host of command completions and events.
+
DMA Engine Control:
Orchestrate the
DMA engine
to move data efficiently between the host and device without CPU intervention.
Memory Management:
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.
ONNX Runtime Integration:
Collaborate closely with the team responsible for the ONNX runtime's execution provider to ensure a seamless and high-performance integration.
Debugging & Optimization:
Debug complex, system-level issues across the user-space, kernel-mode, and hardware interfaces on both Windows and Linux. You'll be responsible for profiling and optimizing the entire data path to maximize performance.
Qualifications
Experience:
10+ years in system software development.
Kernel-Mode Expertise:
Extensive experience designing and developing
kernel-mode drivers
for both
Linux
and
Windows
.
Protocol Knowledge:
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.
Low-Level Proficiency:
Mastery of
C/C++
and a deep understanding of low-level system architecture, including
MMIO
and virtual memory.
Cross-OS Development:
Proven ability to manage and maintain a codebase for multiple operating systems.
Problem-Solving:
Exceptional debugging and analytical skills, with a track record of solving the most challenging system-level problems.
Education:
Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
Additional Information
Sandisk thrives on the power and potential of diversity. As a global company, we believe the most effective way to embrace the diversity of our customers and communities is to mirror it from within. We believe the fusion of various perspectives results in the best outcomes for our employees, our company, our customers, and the world around us. We are committed to an inclusive environment where every individual can thrive through a sense of belonging, respect and contribution.
Sandisk is committed to offering opportunities to applicants with disabilities and ensuring all candidates can successfully navigate our careers website and our hiring process. Please contact us at jobs.accommodations@sandisk.com to advise us of your accommodation request. In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.
Beware of fraud agents! do not pay money to get a job
MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.