Page 1 of 1

RAID and SSD's

Posted: Sat Aug 23, 2008 8:14 pm
by Mats
Thank you all for trying to help, but there's no need to reply anymore.

Using RAID on a single HDD is a bad idea for obvious reasons,
but is it the same for SSD's?
The reason I'm asking is because I don't know how SSD's work, and what their bottlenecks actually are.

Perhaps they must be optimized for it, and maybe have more than one controller system/chip, but I wouldn't be surprised if special RAID SSD's would show up in the near future. Well, that is if it doesn't exist already.

Edit: Found this, but that's not really a standard SSD . . .

Posted: Sat Aug 23, 2008 11:36 pm
by AuraAllan
Hi

You can't use RAID a single drive.

Posted: Sun Aug 24, 2008 12:43 am
by m0002a
AuraAllan wrote:Hi

You can't use RAID a single drive.
What if you partition the drive?

Posted: Sun Aug 24, 2008 12:45 am
by Mats
Yeah, I meant a SSD with more than one partition, of course.

Posted: Sun Aug 24, 2008 1:15 am
by didi
RAID and partitioning are two completely different things.
You can only have (hardware) redundancy with at least two similar components.

Posted: Sun Aug 24, 2008 1:25 am
by Mats
didi wrote:RAID and partitioning are two completely different things.
Well nobody said anything else. But to make one SSD into two logical volumes or more you need to partition it.

Posted: Sun Aug 24, 2008 1:44 am
by KlaymenDK
Can you explain why you want to do this in the first place?

Fundamentally, there are two reasons to run raid, failover and speed. If you stripe a logical volume across two disks you'll have roughly twice the performance; if you mirror a volume on two drives you can afford 'losing' one of them.

None of these reasons apply if you raid different partitions of a single drive, regardless of the type of drive -- the pipe is only so big, and if the drive goes poof then that's it.

That's why it doesn't seem to make sense.

Posted: Sun Aug 24, 2008 2:07 am
by Mats
A HDD is most of all limited by the mechanical construction: The read/write head.
It can only read or write at one place at the time (all heads move together), even though that means the same spot on each platter side.

I'm not totally sure what is limiting a SSD, but here I'm guessing it's the actual reading/writing to the memory chips.
The big difference between the two is that the SSD is not limited in the way the HDD is: theoretically it can read and write data on mulitple places at the same time.
If this is true, then it is possible that the true limiting factor is how fast it can read/write to each memory chip. So in terms of limitations, one memory chip equals one HDD.

The solution is of course to use RAID. Partition the SSD so that each volume is placed exactly on one or more memory chips, depending on desired size.

Since this is done on one SSD it's obviously for getting better read performance. Write speed would be the same, but read speed would be higher since the system can access the same data from each partition.

Posted: Sun Aug 24, 2008 2:15 am
by KlaymenDK
Okay, so you're doing this for speed. Thanks.

It's an interesting line of thought you've got going there!

I could see a number of problems, like how to determine how to place the partitions in order to match them up with actual chips, or whether internal wear leveling would not totally invalidate that, or whether an SSD drive really has a wider pipe on the interface than internally (which is what you are implying if you want any benefit from concurrent read/writes).

But instead of that, I'll wish you the best of luck, and ask that you try to do some good speed tests and report back. :D

Posted: Sun Aug 24, 2008 2:25 am
by Mats
Tusen tack!! :lol:

If you know that the data is stored in some kind of order like from chip 1 to n and not in parallel like in HDD's, then it's quite easy to place the partitions for testing: make margins.
Place small, unused partitions between the ones you use.

But hey, now that I think of it, this seems like a contradiction . .
The SSD must access the chips in parallel, that's the fastest way to do it, just like it is for HDD's. And if that's true, then it won't work.
Of course it spreads the data over all chips. . .

:P :shock: :oops:

Re: RAID and SSD's

Posted: Tue Aug 26, 2008 3:29 pm
by yefi
If you partition an SDD in two, you are not rewarded with twice as many memory controllers, so it won't operate twice as fast.

Re: RAID and SSD's

Posted: Tue Aug 26, 2008 3:34 pm
by Mats
yefi wrote:If you partition an SDD in two, you are not rewarded with twice as many memory controllers, so it won't operate twice as fast.
True, the whole idea was based around the idea that the memory controller was much faster than the memory chips.

But, as I've already said, the chips are probably already accessed in parallel anyway so it doesn't matter.

Posted: Wed Aug 27, 2008 3:43 am
by Emyr
Slightly off-topic...

What's the highest practical throughput of current SSDs? i.e. would you really benefit from using RAID with SSDs, or are they fast enough that it wouldn't really make a difference?

Posted: Wed Aug 27, 2008 10:34 pm
by voodoons
benefit of SSD drives is that those have extremly small acces time but transfer rate is slightly worser comparatively with regular hdd's...

Posted: Thu Aug 28, 2008 4:36 am
by CoolGav
Mats wrote:I'm not totally sure what is limiting a SSD, but here I'm guessing it's the actual reading/writing to the memory chips.
The big difference between the two is that the SSD is not limited in the way the HDD is: theoretically it can read and write data on mulitple places at the same time.
If this is true, then it is possible that the true limiting factor is how fast it can read/write to each memory chip. So in terms of limitations, one memory chip equals one HDD.
I'm not sure on the design of SSDs, but do know a bit about NAND flash (as an embedded software developer). I'd assume that the SSD has a controller chip that talks SATA on one side and to all the NAND flash chips the other.

Therefore it should be configured to use each block of each device most efficiently and interleave them. So it will be the command sent to the SSD that would control how much data to read/write, and therefore how many of the NAND flash devices would be used in parallel, ranging from 1 to all. An example: If each block is 128kb, then if you need to read a 4MB file, you need to read 256 blocks. If the SSD has 32 NAND flash devices, that's 8 each - and assuming it can buffer all the data would make it pretty quick.

Of course, it's up to up to the SSD developer as to how the device works, which could make a real difference to the performance. I'd doubt that RAID over 2 partitions of an SSD would make it any faster. If the SSD isn't doing anything clever internally then RAID could help, provided you know the exact setup and configure the RAID to match.

Posted: Thu Aug 28, 2008 5:01 am
by Mats
CoolGav: It looks like you didn't read the whole thread. :wink:
Mats wrote:But hey, now that I think of it, this seems like a contradiction . .
The SSD must access the chips in parallel, that's the fastest way to do it, just like it is for HDD's. And if that's true, then it won't work.
Of course it spreads the data over all chips. . .

Posted: Fri Aug 29, 2008 6:18 am
by CoolGav
OK, do you know what bad blocks are, and garbage collection, and block erasing, wear levelling, etc. The controller on the SSD has to take all these into consideration, which determine what it's doing, and where the data lives. So without detailed information on how a specific SSD actually works it's not possible to know for a given scenario if it's going to give the best performance. NAND flash is not really like a hard drive, SSDs look like hard drives to the outside world, but there's as much technical detail as for controlling the mechanics of a hard drive.

Posted: Fri Aug 29, 2008 8:30 am
by Mats
CoolGav wrote:OK, do you know what bad blocks are, and garbage collection, and block erasing, wear levelling, etc. The controller on the SSD has to take all these into consideration, which determine what it's doing, and where the data lives. So without detailed information on how a specific SSD actually works it's not possible to know for a given scenario if it's going to give the best performance.
I really don't see what your point is.
I posted five days ago that I didn't think it would work.
CoolGav wrote:NAND flash is not really like a hard drive, SSDs look like hard drives to the outside world, but there's as much technical detail as for controlling the mechanics of a hard drive.
I do know that . . :roll:

Posted: Fri Aug 29, 2008 9:20 am
by IsaacKuo
Hey, I just had a thought. I don't think this idea will work. See, SSD's are not like hard drives. And the bottleneck is going to be the memory controller anyway. You don't think that partitioning the SSD will magically clone new memory controllers, do you?

Just helping! :P

Posted: Fri Aug 29, 2008 11:20 am
by Mats
Oh you're sooo funny!! :D :D




LOL!!! :lol:

Posted: Tue Sep 09, 2008 9:01 am
by Solid Snake
I'm not totally sure what is limiting a SSD, but here I'm guessing it's the actual reading/writing to the memory chips.
The big difference between the two is that the SSD is not limited in the way the HDD is: theoretically it can read and write data on mulitple places at the same time.
Interleaving will slow down performance if you try it on one SSD. At best there will be no performance gain. RAID will issue concurrent requests thinking it can get two piece of data at the same time, but the SSD will just make it wait until the first request is finished.

Personally, I think anyone who runs RAID0 on non-expendable data is mad.

Posted: Tue Sep 09, 2008 9:49 am
by Mats
I know and I've already said it won't work. :wink:

Posted: Tue Sep 09, 2008 9:51 am
by Mats
Personally, I think anyone writes a reply without reading the whole thread is crazy.
I know what I'm talking about, I've even done it myself. :P