Throughput on USB/SCSIFS
Pages: 1 2
Malcolm Hussain-Gambles (1596) 811 posts |
On my Pandaboard I’ve been playing around with clonedisc. What are other peoples experiences with write speeds on the pandaboard/pi? I’m getting a little worried about storing my data on an SD Card, as they do tend to suddenly die without warning. Anyway back to the question about write speeds on USB on RISC OS… |
Steve Pampling (1551) 8170 posts |
Being slightly nervous about the SD sudden death and the flash memory sticks habit of self destruct1 I opted for use of Memphis3 and using a RAM based swap. It avoids the Sudden Death and speeds things up. Storage access speed? What we need is a magic wand to conjure up a port that works on a system with SATA. 1 Swapping to and from another OS doesn’t help but they do it on their own even formatted filecore. |
Rick Murray (539) 13840 posts |
Different devices have different speeds. When writing an image to SD card on my PC, it runs from 4MB/sec to about 7MB/sec (there aren’t cutting edge fast cards) so is likely to tie in with the timings you will experience. Luckily I’m not trying to copy 32GB, only 2…
I plan, soon, to get a 1TB USB harddisc so I can copy the media on the 320GB and 500GB discs. I used to back up stuff to DVD-R but that isn’t really feasible with this sort of data (is there such a thing as a USB tape drive that can handle around 100GB a pop and not cost the earth?), so I’ll just get another harddisc and make a copy of it all.
I think Sprow and I would be able to have long That said – mine “died” in between pressing F3 to save a file, with nothing else going on. In other words, it appeared to murder itself. Hmmm…
Isn’t an SSD just another type of flash drive?
1 When I dismount a USB device on the PC, it dismounts “properly”, in that the activity LED goes off and in the case of harddisc, it is parked and spun down. I have not connected a harddisc to RISC OS (it is NTFS) but I have connected the USB sticks, and the activity LED remains on when the device is dismounted in the filer. I wonder if there is some sort of command to tell these devices to cease internal activity as removal/poweroff is imminent? |
Malcolm Hussain-Gambles (1596) 811 posts |
An SSD is a flash drive, however SSD != SD. Filecore maybe a pretty poor filesystem, but there isn’t an alternative at the moment – using FAT is painful on RISC OS for me. I’m thinking through a new filesystem design in my head at the moment, not sure I have the skill or time to do it though. The read/write speeds are damned awful though on RISC OS for me, at least a quater of what they should be. |
Raik (463) 2061 posts |
I have play around with CloneDisc and various board. The best copy speed I have with the GHz Pandora. 15MB/s writing speed from SDFS to SDFS (DD in Angström writes the same with 3MB/s!). The other Bords (xM, RPi, Panda (ES)) only writes with max. 12MB/s (SDFS to SCSI). Cards are class 10. |
Chris Evans (457) 1614 posts |
Raik: Have you tried a Pi. Ben told me Pi’s SD hardware was about twice the speed of the OMAP’s! |
Raik (463) 2061 posts |
Sorry, I have try both directions. I think the bottleneck is USB. Is also with the Pandora. Only SDFS read 17MB/s and write 15MB/s. USB read and write max. 12MB/s. I have try various Cardreader, HD (classic and SSD), Pendrive… |
Malcolm Hussain-Gambles (1596) 811 posts |
Bang on Raik! |
Raik (463) 2061 posts |
Other OS same results. Sorry, I did not want to kill your hopes. |
Steve Pampling (1551) 8170 posts |
Can’t comment on panda, but it has given me no trouble at all on a beagle xM. Don’t try and enable the make Memphis imitate RamFS – that is a known crash. A check with Armalyser suggests there are some unguarded non-32 bit elements. Some are gaurded code, some are not. The source is available so a recompile without the offending items is feasible. |
Malcolm Hussain-Gambles (1596) 811 posts |
Well after dismantling my ArminiX to plug the OTG connector, Raik, again was right (which I assumed)… No support for the OTG usb. Am I missing something? If I’m not and it’s easy enough I can do that and release it …. Oh! and “Can’t load base style sheet” in netsurf is annoying, no ntp configured and I reset my cmos…oops time was a wee bit out of date! |
Steve Pampling (1551) 8170 posts |
Leaving out the specified sync to non-volatile storage that’s a good description of Memphis with the “Set Memphis as Scrap directory” and “Save/Load disc on Quit/Start” options set. Oh, plus a variable size RAM based disc. Speaking of NetSurf – that’s faster when the cache is RAM rather than disc based where we are dealing with relatively slow “discs” like USB flash and SD. I suspect where we are dealing with SoC setups memory based cache will be faster than any non-volatile. |
Raik (463) 2061 posts |
I have contact Willi Theiss the maintainer of the OMAP4 port. He has already invested a few hours, but gets the OTG support not to work. This is also the reason why we use the internal USB ports for the ARMiniX. Here you can find cmosd. Sorry is a German site. |
Ronald May (387) 407 posts |
“How hard would it be to write say a predesk command to copy !Scrap from !Boot to RAM (or where-ever) and then a wimptask that copies it from RAM (or where-ever) back to !Boot on shutdown? (and perhaps sync it every x configurable minutes)” Scrap is meant to be for temp files, aside from !Netsurf’s useage do you have any reason to copy it back to disc? Regarding !Netsurf, I keep a clone of it’s scrap files inside !Netsurf and move them to !Scrap if they aren’t already there. Regarding Memphis3, under heavy useage it does not perform as well as RAM, I found. I think it has been acknowledged a few times there are some issues. |
Malcolm Hussain-Gambles (1596) 811 posts |
Thanks Ronald for making me think a little ;-) I need it sometimes. @Raik – After some more tests it seems the “internal” usb used on the arminiX for the CD and external SD slot is slightly quicker than the rear one, or that’s my experience. Some good work went on with the ArminiX there! |
Raik (463) 2061 posts |
I also have the feeling that the “internal USB” is a little faster and more compatible (I have any devices thats work in the front port but not in the rear!). It is possible that the built-in activ internal hub minimize some problems. We have several tried, not all are working good. |
Ronald May (387) 407 posts |
‘I like your solution, it’s nice and simple – thanks very much!’ Glad you found it works, I’m liking the idea of linking the RAM creation with Scrap more myself now, for example what if other things in the !Boot startup use !Scrap, then already it is going to be done in RAM instead of on the SD card. A 256MB RamDisc would be good, what is the restriction of 128MB caused by? |
Dave Higton (1515) 3526 posts |
Tape? You really, really, really don’t want to go there. Believe me. I was just looking at prices for DAT 160 cartridges. They are in the GBP25 region. You would be unlikely to get 80 GB on one. That makes removable USB 2.5" discs look very attractive in cost terms, and one 320 GB drive is even smaller than 4 DAT 160 cartridges. And the disc is random access… If you want to go up market in removable storage, look at RDX. That’s again something that should “just work” with RISC OS, although I can’t afford a cartridge to try it (the company I work for would lend me an external drive, but I don’t want to prejudice one of their cartridges). |
jim lesurf (2082) 1438 posts |
Good question. I’ve been wondering about that in the past few days. For years I’ve used a simple prog to copy !Scrap to ramdisc and use it there. Speeds things up and saved on HD noises. Now my PandaBoard has a GB of ram it seems odd not to be able to easily set the ramdisc to a few hundred MB. When working on new programs which have to write out files I tend to start always writing to ramdisc as it avoids my messing up the main HD, etc. Like others, I’ve had to have !Scrap always keep a copy of NetSurf’s font list, though. Been hoping they might stop needing that as for me the name “Scrap” should be a hint that the contents are not meant to have to persist between sessions. Jim |
Rick Murray (539) 13840 posts |
I’m on my phone. Had a quick look at RAMFS code – it makes frequent calls to XOS_ReadRAMFsLimits. As I’m on the phone, I’m not going to poke around the kernel code. Maybe this evening when I get home…? |
Jeffrey Lee (213) 6048 posts |
Increasing the RAM disc size has been discussed before, albeit a while ago. Personally, rather than changing RAMFS to use the application slot as suggested, I’d rather see support added for dynamic areas which access a small window of a larger physical block. So that way RAMFS could claim as much physical memory as it wants but (e.g.) only take up 1MB of logical address space. That facility would also be useful for some hardware drivers which need to allocate RAM for use by a device but don’t want/need it to be mapped in for CPU access. |
William Harden (2174) 244 posts |
Rick – whilst you’re there. Is reinitialising a RAM disc safe? I’m sure there /was/ a nasty bug involving creating a RAM disc, killing it off, then making a new RAM disc. However, memory is hazy on that one. |
Rick Murray (539) 13840 posts |
I give up. This works on a 256MB Pi:
Go much beyond that, you run in to “Memory cannot be moved” problems (‘cos, you know, there’s no memory left!). However, any attempts to set the size of the RAMdisc DA to >128MB results in “Memory cannot be moved”. The maximum size can be read as 128MB, but I have not been able to locate the bit of code that enforces this. I’ve looked at Switcher (no!), the ChangeDynamicArea code (no!), RAMFS (no!), etc etc. Hmmm… I was going to push it up to something around the 200MB mark, copy the RISC OS build environment on to it (counts as 189MB), then try running a build and see if anything blows up along the way. But I’ve so far failed to find anywhere that says “RAMdisc can only be 128MB”. .. Hmm…
Looks like the OS’s idea of an area size clamp is 128MB. I wonder where this is being set, as the default appears to be the RAM limit, and 128MB isn’t that. Also tried destroying the RAMdisc DA and recreating it (easy way to kill Switcher ;-) ) and….still stuck at 128MB. :-/ |
Rick Murray (539) 13840 posts |
Ah-ha! I think I’ve found it. Kernel.s.NewReset – line 1304. I’ll bodge this to 200 and build a new image, see if this does anything different. |
Rob Heaton (274) 515 posts |
Hopefully this will work, I’ve often wondered if it was a simple change to increase the 128MB limit. (Just never got round to looking into it!) |
Pages: 1 2