From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: 杨东升 <dongsheng.yang@easystack.cn>
Cc: dedekind1@gmail.com, Richard Weinberger <richard@nod.at>,
fabf@skynet.be, jesper.nilsson@axis.com,
Dongsheng Yang <yangds.fnst@cn.fujitsu.com>,
linux-cris-kernel@axis.com, shengyong1@huawei.com,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Dongsheng Yang <dongsheng081251@gmail.com>,
dmitry.torokhov@gmail.com, dooooongsheng.yang@gmail.com,
jschultz@xes-inc.com, starvik@axis.com, mtownsend1973@gmail.com,
linux-mtd@lists.infradead.org,
Colin King <colin.king@canonical.com>,
asierra@xes-inc.com, Brian Norris <computersforpeace@gmail.com>,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: MTD RAID
Date: Fri, 19 Aug 2016 13:55:36 +0200 [thread overview]
Message-ID: <20160819135536.1ed9e374@bbrezillon> (raw)
In-Reply-To: <AL*AZwAyAecQSM1UjjjNxao0.3.1471605640762.Hmail.dongsheng.yang@easystack.cn>
On Fri, 19 Aug 2016 19:20:40 +0800 (GMT+08:00)
杨东升 <dongsheng.yang@easystack.cn> wrote:
> Hi guys,Sorry I think i did not express myself clearly. From this reference:
>
>
> https://linas.org/linux/Software-RAID/Software-RAID.txt
>
>
> we can see, RAID stands for "Redundant Array of Inexpensive Disks"
> and is meant to be a way of creating a fast and reliable
> disk-drive subsystem out of individual disks. In the PC
> world, "I" has come to stand for "Independent".
>
>
> There are two benifets in RAID, "fast" and "reliable".
> So I introduce the RAID framework in MTD world. and implement
> 3 types of RAID currently.
>
>
> (1) single: I reuse this work same with what it is in BTRFS.
> It's not a standard RAID level. But just concat the devices.
>
>
> (2) RAID0: also known as Striping mode. This can make device faster.
> From what I show in my first email, we can see we can get 51.1 MB/s in dd
> although the original device is only 14.0 MB/s.
Some comments on your results. It's all theoretical (based on nandsim),
and assuming your NAND chips are connected to the same NAND controller
you would just get the same perf as in 'single' mode (accesses through
the NAND controller are currently serialized, that's something I'm
trying to change but it's not here yet).
So yes, in an ideal word, sequential accesses would be improved, but
we're not here yet. BTW, did you run this test on a real HW?
>
>
> (3) RAID1: also known as Mirroring mode. This can make device more reliable.
> Yes, Boris pointed out that there could be some problems if we are using NAND flash.
> But I think these all are possible to be solved. And I don't think this is the problem of
> MTD RAID, but the problem of the special use case of NAND. I am glad to make the
> MTD RAID working better on MLC and TLC.
It's not only an MLC/TLC problem, it's just that you're more likely to
see it on MLC/TLC NANDs. The fact that you're not regularly
reading/refreshing some blocks of the mirror MTD is a real problem, and
this lead to the safety illusion I was mentioning in my previous answer.
That's why I think implementing RAID on top of raw MTD devices is a bad
idea.
>
>
> In addition, there are some more RAID levels, such as RAID10, RAID4/5/6. All of them are
> useful for "fast" and "reliable".
I'm not saying RAID is useless, I'm just saying it's a pain to
implement on top of MTD devices.
>
>
> I hope this mail helps to express my idea here.
>
I think I got the main idea, and I already explained why I think it's
not a good idea. If you still want to go this road then you'll have to
convince me that your implementation is safe (which is not the case
yet).
BTW, think about that: if you use an SSD in a RAID setting, the SSD's
FTL is taking care of the NAND unreliability problems. Here you're just
ignoring these problems and are assuming doing RAID on a NAND is just
as safe as doing RAID on an SSD, which is wrong.
If you want to be in a 'similar' setting, then the RAID array has to
operate on top of the FTL/WL layer (in this specific case, UBI).
next prev parent reply other threads:[~2016-08-19 11:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CA+qeAOpuZ0CXZP8tCWdhoVvTEKAw26gtz63-UJmQ4XLSXAd=Yg@mail.gmail.com>
2016-08-19 6:49 ` MTD RAID Boris Brezillon
2016-08-19 7:08 ` Dongsheng Yang
2016-08-19 7:15 ` Dongsheng Yang
2016-08-19 7:28 ` Dongsheng Yang
2016-08-19 8:20 ` Boris Brezillon
[not found] ` <CA+qeAOrSAi9uTHGCi-5cAJpM_O45oJUihNP-rHHa1FWL7_ZKHQ@mail.gmail.com>
2016-08-19 9:37 ` Boris Brezillon
2016-08-19 10:22 ` Dongsheng Yang
2016-08-19 11:36 ` Boris Brezillon
[not found] ` <57B6CC7B.1060208@easystack.cn>
2016-08-19 9:47 ` Richard Weinberger
2016-08-19 10:30 ` Dongsheng Yang
2016-08-19 10:30 ` Artem Bityutskiy
2016-08-19 10:38 ` Dongsheng Yang
[not found] ` <AL*AZwAyAecQSM1UjjjNxao0.3.1471605640762.Hmail.dongsheng.yang@easystack.cn>
2016-08-19 11:55 ` Boris Brezillon [this message]
2016-08-22 4:01 ` Dongsheng Yang
2016-08-22 7:09 ` Boris Brezillon
[not found] ` <57BA6FFA.6000601@easystack.cn>
2016-08-22 7:07 ` Boris Brezillon
2016-08-22 7:27 ` Artem Bityutskiy
[not found] ` <CAAp9bSh-geStbHpA6+vYdLfNLcinWkfVLOGmX4kdRbja+d2MdA@mail.gmail.com>
2016-08-22 14:54 ` Artem Bityutskiy
2016-08-22 15:30 ` David Woodhouse
2016-08-23 3:44 ` Dongsheng Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160819135536.1ed9e374@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=ard.biesheuvel@linaro.org \
--cc=asierra@xes-inc.com \
--cc=colin.king@canonical.com \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=dongsheng.yang@easystack.cn \
--cc=dongsheng081251@gmail.com \
--cc=dooooongsheng.yang@gmail.com \
--cc=dwmw2@infradead.org \
--cc=fabf@skynet.be \
--cc=jesper.nilsson@axis.com \
--cc=jschultz@xes-inc.com \
--cc=linux-cris-kernel@axis.com \
--cc=linux-mtd@lists.infradead.org \
--cc=mtownsend1973@gmail.com \
--cc=richard@nod.at \
--cc=shengyong1@huawei.com \
--cc=starvik@axis.com \
--cc=yangds.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox