Profile cover photo
Profile photo
John Vidler
Mainly water, some carbon.
Mainly water, some carbon.

John Vidler's posts

Post has shared content
"Unsupported models will rely on Linux operating system vendors releasing new kernel and drivers to support features such as RAID on SSD"

Good to see that the tech press fact check comments from companies as well as the political press fact check politicians. I'm reading this on a box with RAID1 SSD. It's had RAID1 SSD for some years.

Linux has supported RAID on SSD for years, in fact it supported it from the moment you could plug an SSD into a Linux PC.

Linux RAID is different from much of the Windows experience, for a mix of sound technical reasons and historical ones.

Back in the DOS days, CPU's were relatively slow, memory bandwidth and especially I/O bandwidth were limited and you only had one core.

A range of products grew up in that space which put something like an i960 and several RLL, SCSI, and later IDE controllers on a board along with a bit of RAM and did RAID and other cool things. In that environment they worked and were way faster than software RAID could have been. Every vendor did it differently, everyone had their own firmware and naturally enough moving those disks to another controller broke it all.

These boards got rapidly less effective as PCI bus solved the bandwidth problem and processors got faster and grew MMX and similar instructions. By the time we reached the Pentium II they were basically a joke except for some of the very high end boards, and even those were dubious compared to just going more SMP. Moore's law won again.

The RAID vendors responded in two ways - some of them went upmarket to do fancy high end controllers for big enterprise, but pursued by faster processors, faster busses and ever more cores they all merged into one or two companies and mostly went away.

The others started doing software RAID, adding BIOS support to their cards for 'RAID' boot up and moving their firmware into software drivers you installed on the PC. This was often portrayed as a cheap hack ('fakeraid'), but the benchmarks usually showed otherwise.

In order to keep their revenue stream even though they were often using the same chip or even boards as their bottom end dirt cheap IDE controllers they locked the firmware to particular PCI identifiers. In some cases people even used to solder jumper wires on the IDE cards to use a Windows RAID driver with them rather than buy the expensive card with the jumper set.

Today it's much the same except that most of the PC vendors bundle their software RAID products as free value add but still tied to their product.

The Linux RAID history is different because unlike Microsoft the decision was made to integrate software RAID properly with the OS.

The Linux RAID (md) drivers don't care what you are RAIDing providing it looks like a disk. It may not make sense but you can RAID floppies,  even ramdisks. Actually RAID floppies were useful in the early days - it was the one cheap hot-pluggable media everyone had for testing 8)

Because RAID is simply part of the OS core you can build RAID volumes that are spanning two vendors controllers, or on low end controllers despite the vendors best effort to lock you out. It's also bus agnostic as anyone who has ever rescued  RAID volumes removed from a server and stuffed in a USB caddy will appreciate.

When volume management got added to Linux (the dm driver) it was also added in an abstracted way and knows how to divide disks up and present slices of them in all sorts of orders. This allowed the Linux raid drivers to be used to manage the same interfaces vendors used in their proprietary windows products. Some vendors contributed to that support, others got reverse engineered - and it turned out easier than expected because a lot of them seem to use the same layout with just a few numbers changed - maybe they all licensed the same firmware. This is what the dmraid tool does.

Over time the RAID layers in the kernel also grew a wide range of other features  such as being able to use a small fast device (eg a battery backed RAM or a fast SSD) to front a slower device, to stack with encryption, even to emulate failing devices for debugging.

There is a whole load of magic to find volumes, assemble them and also to make installation work. That's a big piece of work the distributions did that while invisible shouldn't be forgotten.

Today lots of PC hardware still has this legacy of strange rival drivers and the fact Windows didn't integrate RAID support at the time. The standard AHCI controllers can often be given multiple PCI identifiers so the right 'vendor' driver can be loaded in Windows. This is why there is a big list of identifiers in the AHCI driver beyond the class driver and why we keep having to add them as we find new ones. I suspect NVMe will go the same way.

Some Windows oriented vendors don't like the fact we do things the right way and still push their own stuff

but from a technical perspective, and an architectural one what Linux does (and what in fact most non PC systems do) is the right thing for the user.

If you write a driver for a disk or a new kind of transport appears the chances are you've already got RAID support in Linux, because it's designed right.

If you need to move a disk between machines or controllers it just works, because it's designed right.

I never found out why Microsoft didn't integrate RAID in Windows when it would have made sense to do so. Possibly not wanting to tread on their partners toes, perhaps worries about anti-trust given the time period this was happening.

Post has attachment
Just pushed 1.3.6r12 of my watch face app!

What's New?

- Event List View - Touch the watch face!
- Complete overhaul of the watch face internals, to enable faster app updates
- UI Updates to the companion app
- Lots of internal changes to the bluetooth API
- Dynamic watch framerate
- Added some experimental animations
- Moved the gauges out of BETA
- Fixed the midnight-rollaround bug!
- Improved calendar selection UI for folks with huge numbers of calendars - will improve this further

What's coming?

- New face styles!
- Transition animations
- Editable font sizes
- Editable arc widths
- Gauge options
- Interactive Gauges
- Google Fit integration
- Weather integration

Post has attachment
Happy Birthday kittens!

Two years ago, today Kashka, the cat formerly known as 'Mystery Cat' gave us 4 wonderful kittens. Kashka, Malcolm and Meeville stayed with us, with the other two girls going to a new home.
5 Photos - View album

Post has shared content

Post has attachment
Part of a small-to-medium size company? Want to win an iPad Mini?

Help a researcher out, and fill out my survey! Thanks!

Posted this yesterday, but we didn't get much response... now with added incentive :)

Post has attachment
I'm looking for anyone part of a small or medium size company to fill in a quick questionnaire about their network.

"Security Lancaster at Lancaster University is gathering information to describe the typical deployment of SME networks in order to assess the effectiveness of Security Tools with regards to the general-case.
As part of this study, this questionnaire has been developed to access a broader source of data on "Typical" SME network configurations."

Any exposure of this would be really appreciated, as the deadline is short, and data is sparse; even if you can't fill out the survey, a re-share would be excellent!

Post has attachment
Finally got around to publishing my watch face!

It hooks in to the calendar provider to pull events to the watch, and displays them in simple arcs. The color of the event is kept from the calendar, and it gets events from all calendars (but each can be toggled from the settings)

It's intentionally minimal, to keep the data clear at a glance, but I do plan on putting some customisation options in the settings in future releases.

(Nb. Reposted because I hit the wrong topic last time! D'oh!)

Post has attachment

Post has attachment
The kittens got big!

Malcolm and Meeville curled up together having a hug :)

Post has shared content
Among the announcements at this week’s ISC’14 is the emergence of a new class of system that marries the many advantages of ARM processors with the massively parallel processing power of NVIDIA Tesla GPU accelerators.
Wait while more posts are being loaded