MTD RAID

Richard Weinberger richard at nod.at
Fri Aug 19 02:47:50 PDT 2016


Yang,

Sorry when I ask already answered questions, the mail thread
grows faster than I can type. ;)

On 19.08.2016 11:08, Dongsheng Yang wrote:
> But how can we handle the multiple chips problem? Some drivers
> are combining multiple chips to one single mtd device, what the
> mtd_concat is doing.

mtd_concat is a horrid and old hack which was used to combine very
small flashes.

>> One last question? What's the real goal of this MTD-RAID layer? If
>> that's about addressing the MLC/TLC NAND reliability problems, I don't
>> think it's such a good idea.
> 
> Oh, that's not the main problem I want to solve. RAID-1 is just a possible
>  extension base on my RAID framework.
> 
> This work is started for only RAID0, which is used to take the use of lots
> of flash to improve performance. Then I refactored it to a MTD RAID
> framework. Then we can implement other raid level for mtd.
> 
> Example:
>     In our production, there are 40+ chips attached on one pcie card.
> Then we need to simulate all of them into one mtd device. At the same
> time, we need to consider how to manage these chips. Finally we chose
> a RAID0 mode for them. And got a great performance result.
> 
> So, the multiple chips scenario is the original problem I want to solve. And
> then I found I can refactor it for other RAID-levels.

Are your chips NAND flash?
Combining non-NAND is not that hard, mtd_concat does already.
With NAND, as Boris pointed out, it will become complicated.

So, what you propose as MTD RAID is not really RAID.
RAID is about redundant disks. i.e. you can replace them upon failure.
The problem you address is combining multiple chips.
IOW an SSD emulated in software.

I think we don't need replication on MTD. An improved mtd_concat
does not sound bad but a proper implementation has to deal with
all the nastiness of NAND.

Thanks,
//richard



More information about the linux-mtd mailing list