Linux PCIe Driver Developer

SanDisk India Device Design Centre Pvt.Ltd
Bengaluru/Bangalore
Not disclosed
Work from OfficeWork from Office
Full TimeFull Time
Min. 8 yearsMin. 8 years

Job Description

Linux PCIe Driver Developer ( 8 - 12 years)

Company 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.

Job Description

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 PCIe cards connected over an external PCIe switch. You'll be responsible for the driver’s logic to identify and set up the PCI device address for each individual PCIe device within each card.
  • 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.

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

Qualifications

  • Experience: 8+ years in system software development.
  • Kernel-Mode Expertise: Extensive experience designing and developing kernel-mode drivers for Linux.
  • 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 software 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.

Experience Level

Senior Level

Job role

Work location
Work locationBengaluru, KA, India
Department
DepartmentProduction / Manufacturing / Engineering
Role / Category
Role / CategoryHardware
Employment type
Employment typeFull Time
Shift
ShiftDay Shift

Job requirements

Experience
ExperienceMin. 8 years

About company

Name
NameSanDisk India Device Design Centre Pvt.Ltd
Job posted by SanDisk India Device Design Centre Pvt.Ltd

Similar jobs you can apply for

Software / Web Developer
Minchu Productions

App Developer

Minchu Productions
Jaya Nagar, Bengaluru/Bangalore
₹25,000 - ₹25,000
Work from Office
Full Time
Any experience
Good (Intermediate / Advanced) English
Jai Finance India Limited

Quality Assurance Officer

Jai Finance India Limited
BTM Layout, Bengaluru/Bangalore
₹25,000 - ₹30,000
Work from Office
Full Time
Min. 1 year
Good (Intermediate / Advanced) English

QA / QC Executive

Sidra Tech Solutions
HSR Layout, Bengaluru/Bangalore
₹25,000 - ₹25,000
Work from Office
Full Time
Min. 1 year
Good (Intermediate / Advanced) English
Smart Detective & Allied Services (India) Private Limited

Database Analyst

Smart Detective & Allied Services (India) Private Limited
Halasuru, Bengaluru/Bangalore
₹21,100 - ₹21,100
Work from Office
Full Time
Freshers only
Good (Intermediate / Advanced) English
360 Bytes Tech Venture Private Limited

Package Consultant – SAP HANA SCM PM

360 Bytes Tech Venture Private Limited
Bengaluru/Bangalore
₹1,00,000 - ₹1,15,000
Work from Office
Full Time
Min. 10 years
Good (Intermediate / Advanced) English
Digitory Solutions

DevOps Engineer

Digitory Solutions
Basavanagudi, Bengaluru/Bangalore
₹20,000 - ₹50,000
Work from Office
Full Time
Min. 1 year
Good (Intermediate / Advanced) English

You can expect a minimum salary of 0 INR. The salary offered will depend on your skills, experience and performance in the interview.

The candidate should have completed the required education and people who have 8 to 31 years are eligible to apply for this job. You can apply for more jobs in Bengaluru/Bangalore to get hired quickly.

The candidate should have sound communication skills and sound communication skills for this job.

Both Male and Female candidates can apply for this job.

No, it's not a work from home job and can't be done online. You can explore and apply for other work from home jobs in Bengaluru/Bangalore at apna.

No work-related deposit needs to be made during your employment with the company.

Go to the apna app and apply for this job. Click on the apply button and call HR directly to schedule your interview.

The last date to apply for this job is . For more details, download apna app and find Full Time jobs in Bengaluru/Bangalore . Through apna, you can find jobs in 64 cities across India. Join NOW!