Modernizing the NAND Framework: The Big Picture
summary
NAND framework dates to Linux 2.4.6 and currently mixes chip and controller roles, so the proposal splits nand_chip/nand_controller and embeds the MTD device in the chip structure. A new high‑level API asks controllers to execute a whole nand_op that includes data transfers and sizes, letting controllers queue and dispatch parallel multi‑die and multi‑plane requests to exploit cached or DDR accesses. Work factors out boilerplate by adding BBT and timing helpers, moves vendor-specific commands out of core, and aims for inclusion around Linux 4.10/4.11.
AI-written summary · about
chapters (32)
- 0:00Introduction
- 0:35Agenda
- 1:11Flash Stack
- 2:28Limitations
- 4:04Native System
- 6:44Advanced Features
- 7:52NAND Interface
- 10:31NAND Controller Drivers
- 12:37NAND Method Example
- 13:04NAND Operations
- 13:47NAND Operations Examples
- 15:33Command Control
- 16:43Command Control Limitations
- 19:27The Solution
- 19:58NAND Controllers
- 21:20NAND Framework Smart
- 22:39Adapting the Framework
- 24:10NAND and MTD
- 25:32ReWalk
- 26:04Wild Design
- 27:19Modern Controllers
- 27:57The Bad
- 28:16The Idea
- 29:11The Optimization
- 30:44Cached Access
- 31:56IO Steering
- 33:32Unfished
- 35:18Card
- 37:28End Device
- 38:16Conclusion
- 38:36Suggestions
- 40:13Design Culture
related talks
36mDrive your NAND within Linux
36mFrom Raw To Refined: The Evolution of Raw Flash Support in Linux
18mSPI Memory Support in Linux and U-Boot
37mFlash Subsystems Status Update
34mFW centric devices, NIC customization
39mUnravelling How Firmware Interacts with the Linux Subsystem
01h 10mBoF: Devicetree
01h 06mBeing Friendly to Your Computer Hardware in Software Development
