Originally Posted by
johnw
Or your "kernel module" has bugs, since you avoided my question about how you debugged and qualified it, I assume you have not done so. How about posting the source code so others can look at it and test it for bugs?
Why won't you post the SMART attributes as read by smartctl?
How have you managed to write continuously to a Vertex 2 at 50MB/s without encountering warranty throttle?
And why exactly did you write a "kernel module" to do such a basic task as writing data to SSDs? Certainly a user-space C program would be more than sufficient.
The drive's firmware is causing errors when attempting the fundamental commands required for such work.
What exactly is this "warranty throttle" you speak of.
I made it a "kernel module" because I wanted to be exact in terms of timing and bandwidth. Also I find Linux's user-space file-system akin to trying to type with boxing gloves on for this sort of testing.
And the source code for the curious.
Code:
define test as lambda (list *device drives, int_64s write_speed)
{
block data, test
number index := 1
loop
{
data := read("testfile.txt", 4096, loop)
index := index + 1
map( *device x in drives)
{
write(x, 4096, index%x.blockcount(), data)
}
map( *device x in drives)
{
read(x, 4096, index%x.blockcount()) =: test
if ( test != data)
{
throw( "block failure: " + index%x.blockcount().tostring() + "/newline drive: " + x.name().tostring())
}
}
}
}
Please feel free to point out any errors that exist in the program (Yes it is written in the Rook programming language, please don't complain about how different it is from C or python)
Bookmarks