Phase Change Memory vs. Storage As We Know It
storagedude writes "Access to data isn't keeping pace with advances in CPU and memory, creating an I/O bottleneck that threatens to make data storage irrelevant. The author sees phase change memory as a technology that could unseat storage networks. From the article: 'While years away, PCM has the potential to move data storage and storage networks from the center of data centers to the periphery. I/O would only have to be conducted at the start and end of the day, with data parked in memory while applications are running. In short, disk becomes the new tape."
... the death of x tech here, it will eventually die once the groundwork has been laid to migrate to a better system.
Phase change memory is nothing like A CD-R. This stuff has the density of a hard drive, and the speed is very close to DRAM. It's non-volatile to boot. It's a serious contender to become universal memory.
Imagine how different operating systems and programs would be if we could make RAM non-volatile.
When you can pick up 4GB of RAM memory for a song, why not load the whole OS into memory? As long as you don't suffer a system crash, you can unload it back to disk when you're done.
"Imagine how different operating systems and programs would be if we could make RAM non-volatile."
Pretty much like they are now? Does anyone actually cold boot their machines anymore?
Now, if RAM were as cheap as hard disks....
Non-volatile? Like all the other "non-volatile RAM, instant-on" technologies that have gone before? MRAM, SRAM, Holographic storage... and now phase-change memory.
I've heard this marketing bullshit before. Call me when it's not vapourware.
I don't think that much would change: if some piece of memory is accessible like RAM--that is, it can be modified quickly, with just a single CPU instruction--then for most practical purposes it might as well be volatile memory, because a software bug could easily lead to it being completely wiped.
If it's so much faster, then there must be a reason it's not being so widely used in the place of DRAM. Price is probably the biggest one, I think it requires the use of four or six transistors per cell rather than one or none. I recall that it's a high power consumer.
How soon we forget. The article is speculative, sure, but the hardware is not only real, it's in mass production by Samsung: http://hardware.slashdot.org/article.pl?sid=09/09/28/1959212
Just looking at the numbers, the article is a bit overblown. Phase change memory will first be a good replacement for flash memory, not DRAM. It's still considerably slower than DRAM. But it eliminates the erasable-by-page-only problem that has plagued SSDs, especially Intel SSDs, and the article does mention SSDs as a bright spot in the storage landscape. PCM should make serious inroads into SSDs very quickly because manufacturers can eliminate a whole blob of difficult code. With Samsung's manufacturing muscle behind it, prices per megabyte should be reasonable right out of the gate and as Samsung gets better at it, prices should plummet even faster than flash memory did.
The I/O path between storage and the CPU will get an upgrade, and it could very well be driven by PCM. Flash memory SSDs are already very fast and PCM is claimed to be 4X faster. That saturates the existing I/O paths (barring 16-lane PCIe cards sitting next to the video card in an identical slot). Magnetic hard drives haven't come anywhere close to saturation. Development concentrated for a decade (or two?) on increasing capacity, for which we are thankful, but the successes in capacity development have outrun improvements in I/O speed. In turn, that meant that video cards were the driver behind I/O development, not storage. Now that there's a storage tech in the same throughput class as a video card, I expect there to be a great deal of I/O standards development to deal with it.
But hard drives == tape? Not for a long long time. The development concentration on increasing capacity will pay off for many years to come. PCM arrays with capacities matching modern hard drives (2 TB in a 3.5" half height case. Unreal!) are undoubtedly a long ways off.
Hopefully there are no lurking patent trolls under the PCM bridge...
The speed of PCM would need to closely match - or exceed - the speed of DRAM for people to adopt it as a replacement, so I doubt the model would quite be one of non-volatile RAM. I imagine it would be more like having a ridiculously fast SSD.
Given the propensity of programs to corrupt and/or leak memory, I'm not sure I'd want my system memory to be non-volatile. The dividing line between system memory and mass storage allows for robustness against errors which, without the ability to reboot, wipe the slate clean and load up the last saved data, might end up being catastrophic. It'd be nice if no program ever had such errors, but this is reality. ;)
If nothing else, programs will always need the ability to serialise data into platform-agnostic formats, unless you expect the world to standardise on one platform or stop sharing data.
> disk becomes the new tape
Well they got this right even if it was not to be accomplished with the mentioned technology.
I think that in the medium/long time range this will undoubtedly come true.
I mean, would any /. reader bet on the chances of hard drives to come on par with today memory access speeds in the future, even with zillions of years of technological advancement ?
Everything I write is lies, read between the lines.
Ya, we had that back in the stone-age and Multics would have been poster-child for this type of thinking, but it was a *bitch* and made portability problematic. I think VMS has some of this type of capability with their Files 11 support - any VMS people care to comment. Unix (and most current OS) sees everything as a stream of bytes, in most cases, and this is much simpler.
An OS cannot be everything to all people all the time...
It must have been something you assimilated. . . .
Numonyx announced some good advances in PCM a few months back:
http://www.pcper.com/comments.php?nid=7930
Allyn Malventano
Storage Editor, PC Perspective
this sig was brought to you by the letter
It would be kind of awesome if files were accessed the same way as memory areas though. Kind of like if everything was transparently mmap-ed, but with the ability to grow/shrink the area, and with the option to have changes reflected immediately on the underlying medium.
file *foo = new file("/dev/pcm");
foo->append("Hello world1");
foo[11] = '!';
save foo;
(sorry for replying to my own post, forgive me mods!)
I was tempted to stop reading right there, but I kept reading. While his point about POSIX improvements is not bad, the rest of the article is ridiculous. It essentially amounts to: Imagine if we had pretty much exactly what we have today, but we used different words to describe the components of the system! We already have slower external storage (Networked drives / SANs, local hard disk), and incremental means of making data available locally more quickly by degrees (Local Memory, L2 Cache, L1 Cache, etc.) We already get that at the expense of its ability to be accessed by other CPUs a further distance away. It turns out I probably should have stopped reading when I first got the feeling I should when reading the first sentence in the article: "Data storage has become the weak link in enterprise applications, and without a concerted effort on the part of storage vendors, the technology is in danger of becoming irrelevant." I can't wait to answer with that one next time and watch jaws drop:
...
Boss: Where and how are we storing our database, how are do we ensure database availability, and how are we handling backups?
me: You're behind the times Boss. That is now irrelevant!
Yeah. That's the ticket
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
I imagine that is a generous characterization.
There seem to be plenty of not-even-computer-related engineers and students here (and others too!), if someone reads me in the wrong direction.
Nerd rage is the funniest rage.
fadvise and FADV_SEQUENTIAL exist in posix. Not sure how well different oses like Linux or bsd use the hints -- I know that some of it's been broken because of bad past implementations.
You are a god amongst men but you waste all your knowledge upon this tribe.
A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
From TFA:
Ya, we had that back in the stone-age and Multics would have been poster-child for this type of thinking, but it was a *bitch* and made portability problematic.
No, Multics would have been the poster child for "there's no I/O, there's just paging" - file system I/O was done in Multics by mapping the file into your address space and referring to it as if it were memory. ("Multi-segment files" were just directories with a bunch of real files in them, each no larger than the maximum size of a segment. I/O was done through read/write calls, but those were implemented by mapping the file, or the segments of a multi-segment file, into the address space and copying to/from the mapped segment.)
I think VMS has some of this type of capability with their Files 11 support - any VMS people care to comment. Unix (and most current OS) sees everything as a stream of bytes, in most cases, and this is much simpler.
"Seeing everything as a stream of bytes" is orthogonal to "a hint that the file will be read sequentially". See, for example, fadvise() in Linux, or some of the FILE_FLAG_ options in CreateFile() in Windows (Windows being another OS that shows a file as a seekable stream of bytes).
IBM AS/400 worked like that - the TIMI virtual machine maps all storage into a flat 128-bit address space.
First off most non-volatile RAM isn't nearly as fast as DRAM. So let's assume you mean "what if everything were in DRAM, and that was non-volatile, it would be so much faster". Well, again not really. Faster, but there are far more bottlenecks than just disk I/O. You can go buy ramdisks now, or you could make them in your current RAM, copy the OS there, and run off that after you boot. Go try it. Firefox isn't going to render quicker, your mail isn't going to load any faster, and youtube isn't going to lag any less. If you work with large photos, most software is already going to exhaust your RAM, so (given you have sufficient quantities) you're already not losing anything.
In short, because of modern hard disk and OS caching, the ridiculous quantities of RAM these days, and a current reliance on the network for most tasks, a pure ramdisk system isn't likely to be that much better for most people. If you put a large database or maybe compile there, you would see improvement. But that's not common for most people.
Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
or just toss your HD in a forge furnace. You should get two phase changes.
I work for the Department of Redundancy Department.
We have it today. Tfa's on crack.
It's called madvise
In Linux there is also fadvise()
Of course... reading from a file (from an app point of view) is really nothing more than accessing data in a mapped memory area. Oh.. I suppose unless you actually use the POSIX mmap call to map the file into memory for reading, you won't have an easy ability to provide the advise.
And it makes portability a bitch regardless, as not all OSes are POSIX, and not all OSes have mmap().
Nevertheless, it's not fair to say it is impossible for an app to provide hints. Whether giving the hints or not actually has a useful effect (usually) may be a matter of debate.
It was going to be the non-volatile memory that would replace hard disks! Then it never happened and Flash memory kept getting cheaper and better. Kinda makes you wonder if this wasn't another trick by the Intel Capital folks to pump up the stock. Then again Ovshinsky basically invented CD-RW/DVD-RW amorphous phase change materials and NiMH batteries so everyone figured out it could actually happen. But it never did. Amorphous silicon solar (a-Si) panels never sold that well either.
The speed of PCM would need to closely match - or exceed - the speed of DRAM for people to adopt it as a replacement, so I doubt the model would quite be one of non-volatile RAM.
The units they're sampling out now are faster than the main memory on the four year old computer on which I'm typing this response.
The mass popularity of netbooks among both geeks and muggles indicates that fast is no longer the strongest defining feature of a computer.
There are 1.1... kinds of people.
The real question is whether we need something other than read/write/seek to deal with the various forms of solid-state memory. The usual options are 1) treat it as disk, reading and writing in big blocks, and 2) treat it as another layer of RAM cache, in main memory space. Flash, etc. though have much faster "seek times" than hard drives, and the penalty for reading smaller blocks is thus much lower. Flash also has the property that writing is slower than reading, while for disk the two are about the same. For small I/O operations, the operating system overhead for the operation takes more time than the actual data access.
For most end users, permanent storage is for storing big sequential files, audio or video. There are interfaces that would make databases faster (one could have flash devices that implemented a key/value store, with onboard lookup), but nobody would notice when playing video. The trend in databases is already to get enough RAM to keep all the indices in RAM, so we're already doing the "read it in the morning" thing suggested in the article. So the payoff for building flash devices to help with that is modest.
There are interesting things to do in this space, but improving reliability in the RAID sense is probably more important than speeding up non-sequential small accesses.
Yeah, computer help desks around the world would have to learn something besides "try rebooting the computer"!
Windows is more closely tied to the whole "Separate levels of RAM memory and Hard Disk Memory" than Linux is I could really see Linux get more traction of all systems went to PCM tomorrow.
Tsukasa: All I really want, is to be left alone...
If you have a hot enough furnace you may even get THREE phase changes.
If you put it in the LHAC you may get FOUR!
Tsukasa: All I really want, is to be left alone...
This has always bothered me. I like having a seperation of semipermanant starting point and running copy. I don't want the distinction between rebooting and restoring from backups to die.
There was a recent article about engineers being more likely to turn to terror. Maybe it all comes to the bitterness of having missed out on all that pussy in college. But you da man, Mr. Elitist, you da man.
Whoa, methinks someone struck a nerve.
sic transit gloria mundi
more likely this guy submitted this story, or better yet: hes a hype pusher for this phase change storage.
Maybe these guys ought to ask someone that was around in the days BEFORE there were SANs. Managing storage back then absolutely sucked. Every server had it's own internal storage with it's own raid controller OR had to be within 9m (the max distance of LVD SCSI) of a storage array.
There was no standardization, every OS has it's own volume managers, firmware updates, patches etc etc etc. Plus compare the number of management points when using a SAN vs internal storage. An enterprise would have thousands of servers connecting through a handful of SAN switches to a handful of arrays. Server admins have more important things to do than replace dead hard drives.
Want to replace a hot spare on a server, what a pain. As you had to understand the volume manager or unique raid controller in that specific server. I personally like how my arrays 'call home' and an HDS/EMC engineer shows up with a new drive, replaces the failed one and walks out the door, without me having to do anything about it.
Two words: Low Utilization. You'd buy an HP server with two 36GB drives and the OS+APP+data would only require 10GB of space. So you'd have this land locked storage all over the place.
Moving the storage to the edge? Even if you replace spinning platters with solid state, putting all the data on the edge is a 'bad thing.'
"But Google does it!"
Maybe so, but then again they don't run their enterprise based upon Oracle, Exchange, SAP, CIFS/NFS based home directories etc like almost all other enterprises do.
How do you figure that? With 4Gb standard and soon 8-16Gb will be just as cheap (I paid $65 after rebate for 8Gb) most can already run their entire OS in RAM, as well as prefetch the programs they use the most, so how will you get faster than that?
Now I'll be the first to admit for large databases and servers this stuff could rock, but as far as I've seen most with large databases and server farms are already loading their machines with a buttload of RAM, and since you rarely if ever turn machines like that off I don't see it being too big a deal there except backups. Considering pretty much all we have had for backups since the invention of DVD has been HDDs (BD is still too high to be a valid solution to most folks) it would be awesome to come up with something new to back up our giant HDDs with besides another HDD.
But seriously, with huge amounts o' RAM getting to be dirt cheap, and SSDs coming down in price every day, I just don't see it making that big a splash. Now once we hit 128 cores with 64Gb+ of RAM I'm sure that even SSD won't be able to feed that much horsepower, even with RAID. Then I can see PCM making a huge difference. But for my home consumers at least the stuff we have now is already faster than they frankly now what to do with. An AMD or Intel quad with 8-12Gb of RAM is frankly faster than I am able to push buttons.
There reaches a point where for the average Joe the machines are FAR beyond "good enough" and frankly we passed that at dual cores and 3Gb of RAM. Checking my customers logs on follow up a good 85-90% of the time the machine is just twiddling its thumbs because the user just doesn't have enough work for the thing to do as is. Frankly I just don't see how making machines any faster will help Joe average, except maybe if he is one of those "gotta have the big ePeen" types.
ACs don't waste your time replying, your posts are never seen by me.
Most people cold-boot their computers. Why? Drivers don't properly support suspend (eg. it fails), operating systems and applications leak memory and crash, and generally, the experience becomes unpleasant.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
It's because data storage will ALWAYS be relevant (talk to any Alzheimers' patient if you don't believe me) that access speeds are a concern.
The SAN argument is that your storage is so precious it must not be stranded. If you're paying $50K/TB with drives, controllers, FC switches, service, software, support, installation and all that jazz then that's absolutely true. If you're doing something like OpenFiler clusters on BackBlaze 90TB 5U Storage Pods for $90/TB and 720 TB/rack you have a different point of view. As for somebody showing up to replace a drive, I think I could ask Jimmy to put his jacket on and shuffle down to the server room to swap out a few failed drives every couple months - that's what hot and cold spares are for and he's just geeking on MyFace anyway. Low utilization? Use as much or as little as you like - at $90/TB we can afford to buy more. We can afford to overbuy our storage. We can afford to mirror our storage and back it up too. In practice the storage costs less than the meeting where we talk about where to put it or the guy that fills it. If you want to pay for the first tier OEM, it's available but costs 10x as much because first tier OEMs also sell SANs.
Openfiler does CIFS/NFS and offers iSCSI shared storage for Oracle, Exchange and SAP. If you need support, they offer it. OpenFiler is nowhere near the only option for this. If you want to pay license fees you could also just run Windows Server clustered. There are BSD options and others as well. Solaris and Open Solaris are well spoken of, and ZFS is popular, though there are some tradeoffs there. Nexenta is gaining ground. There's also Lustre, which HP uses in its large capacity filers. Since you're building your own solution you can use as much RAM for cache as you like - modern dual socket servers go up to 192GB per node but 48GB is the sweet spot.
Now that we've moved redundancy into the software and performance into the local storage architecture, moving storage to the edge is exactly what we want to do: put it where you need it and if you need a copy for data mining then mirror it to the mining storage cluster. We still need some good dedicated fiber links to do multisite synchronous replication for HA, but that's true of SAN solutions also. We're about 20 years past when we should have ubiquitous metro fiber connections, and that's annoying. Right now without the metro fiber the best solution is to use application redundancy: putting a database cluster member server in the DR site with local shared storage.
Oh, and if you need a lot of IOPS then you choose the right motherboard and splurge on the 6TB of PCIe attached solid state storage per BackBlaze pod for over a million IOPs over 10Gig E. If you need high IOPS and big storage you can use adaptor brackets and 2.5" SSDs or mix in an array of The Collossus, though you're reaching for a $6K/TB price point there and cutting density in half but then the SSD performance SAN has an equal multiple and some serious capacity problems. If you go with the SSD drives you would want to cut down the SAS expanders to five drives per 4x SAS link because those bad boys can almost saturate a 3Gbps link while normal consumer SATA drives you can multiply 3:1.
If you're more compute focused then a BackBlaze node with fewer drives and a dual-quad motherboard with 4 GPGPUs is a better answer. At the high end you're paying almost as much for the network switches as you are for the media. If you're into the multipath SAS thing then buy 2x the controllers and buy the right backplanes for that - but
Help stamp out iliturcy.
I don't think the author knows much about the purpose of a SAN. A SAN is not just a disk array giving you faster access to disks. Local storage that is faster does not help you with concurrent access (clusters), rollback capability(Snapshots, mirror copies \ point in time server recovery), site recovery(off sited mirrors) or substantial data compression gain through technologies like deduplication.
As for speed, my SAN is giving me write performance in the range of 600mbytes/sec per client. I access my storage over a 10gbit ethernet backbone. Certainly suboptimal, but my blades have a pair of nics and no disks. It's cheap, very fast and I have 3-4 rollback points for my ESX cluster. Thats around 200 VM's in two sites, active, active cross recoverable.
The SAN is not going away.
(In case any of you are desiging and want the part list I'm talking about Cisco Nexus 5020 10Gbe backbone, Bluearc Mercury 100 cluster with disks slung on a HDS USP-VM. 64gb cache depth on each path and a few hundred tb of disk. Servers are HP BL495 G6's, with Chelsio cards. Chassis has BNT(HP) 10gbe switches. I haven't even started with Jumbo's yet, I can do better, but this is pretty good for now. All up it was just over a mil AUD).
Whats this? It's a faster storage device. Thats a fairly small part in a SAN.
I mean what's the advantage of phase change memory in this scenario? If you loose power to your CPU or your system crashes, you will have effectively lost your memory content anyhow. So you might as well open your files with mmap and have lots of RAM. The system will automagically figure out what to swap to disk if RAM isn't enough as well as it will regularly backup the contents do disk.
That's a malloc-like API to storage. I'm pretty sure there is plenty of CS literature on this subject but I don't have the time to google it. I just write a few quick thoughts about it.
If storage is about as fast as RAM you can work on it as if it were RAM, build data structures on it and persist them. The OS will provide ways to share them with other programs. The storage will be a single in-memory object oriented database.
An example: an editor could persist its internal OO data representation of a text file, with a toString method to make that data available to other editors with different data representation. That implies a lot of data duplication (OK only if fast persistent storage is as cheap as today's hard disks) and the need for a file system that merges all those different data representation into a single name so we can find the file and open it for editing (and the compiler for compiling!).
As this PCM storage won't be as cheap as HD a hierarchy of storage is probably desirable with some caching algorithm to move data from slower disks to faster chips.
I don't know if current mainstream OS can survive to this change so this means that market forces will slow down this change and make it very gradual.
At least holo storage made it to something concrete... but InPhase markets it as a replacement for optical storage, which is a high end market that companies shell out the big bucks for, so they can have top reliability in WORM archiving for legal reasons.
What would really be remarkable is one of these technologies making it not just to the boutique high end archiving market, but to something that can replace tape drives, ZIP drives, or USB flash drives. Enterprises would be beating down the door of a company who can make something that can be cheaper than tape, but on spinning platters and be easily moved around a robotic autochanger. Especially if the capacity is high enough that significantly fewer pieces of media are needed for storage and transport than the existing hard disk VTL or tape system. If the media company had a standardized way of encrypting the data with AES-256 in hardware that would be even nicer.
Most people don't even know there is such a thing as hibernating.
(+1, Disagree)
It isn't faster than DRAM, it's faster than Flash and hard disks. It is also much more expensive per MB than either: about 4 times as expensive as DRAM at the moment, and very few people are thinking of replacing their persistent storage with battery-backed DRAM.
You seem to be confusing PCRAM with SRAM. Static RAM uses six transistors, while dynamic RAM uses one transistor and one capacitor. This makes it much faster, because you don't have to wait for refresh cycles, but it is a lot less dense and so much more expensive.
Phase change RAM is much more complicated to make, but can be quite dense. The latest versions use four states so you can store two bits per cell, rather than two. Eventually you may be able to store an entire byte in a cell, which would get the density well above DRAM, but the physical phase change is likely to be slower than an electronic switch for a long time, so I expect to see phase change RAM as part of a three tier cache hierarchy (under DRAM and SRAM), at least initially.
I am TheRaven on Soylent News
Is anyone working on micromachines (MEMS) that set vast arrays of very tiny storage discs into very tiny radio transmitters, each disc transceiving on its own very narrow frequency band? A 1cm^2 chip, perhaps stacked a dozen (or more) layers thick, delivering a couple hundred million discs per layer, each holding something like 32bits per microdisc and a GB per layer, streaming something like 2-200Tbps per layer, seek time 10ns, consuming a few centiwatts per layer.
Or skip the radio and just max out a multimode fiber throughput. Parallelizing data transfer should leave stored data transferrable entirely in under 250ms.
--
make install -not war
Using caps doesn't really make your argument any stronger.
WHAT do you think would be stronger, and WHY? RAM is effectively non-volatile, so long as you don't turn off the power. I never power down my notebook, so it effectively has non-volatile RAM. Ditto for my desktop at the lab.
So if you really think non-volatile RAM makes everything sooo much faster, use the sleep function on your computer.
They seriously haven't gotten that figured out yet on the Windows side of the fence?
I assumed Windows, Macs and well configured Linux machines were roughly equal on that score. If it's the case that suspend isn't reliable in Windows, the solution isn't expensive new non-volatile RAM, it's getting your driver and OS manufacturer to not write sucky software.
third state change, not third state
I work for the Department of Redundancy Department.
You misread my intent.
Nerd rage is the funniest rage.
SSDs are coming down every day - this would be the *next* step past SSDs. People want SSDs because it makes things faster -the same thing will (well, could) happen with this technology.
Everyone says the "Good enoughh for average joe" line every year, about every new technology.... I've tried to use Average Joe's computer often - it usually sucks.
I'd agree - buy enough ram, have a good caching mechanism, and you shouldnt' need all this new quasi-RAM like stuff - but it's semsible that at some point we can leverage more layers of storage with decreased latency and increased speed into our computing models, things will get faster and better.
Suspend works fine in Windows. XP, Vista, and 7 so far have had no issues on any of my laptops. Haven't had a desktop in quite a few years but when I did I saw no need for suspend anyway since it was always plugged in.
Whoever thinks suspend is that bad on Windows probably hasn't tried it since Windows 95 and is just a whiner.
Data storage gives a nice place to keep everything in sync. It's NOT just about storing any old data.
Also, it simply doesn't scale. Not with the way that individuals today are consuming gigabytes every day. It only provides a benefit if multiple users are hitting the same data sources - same as any other caching scheme - and then we again run into the problem of keeping all these edge caches in sync. It absolutely doesn't scale, and will generate substantially more network traffic than hitting a central server would - and you'd have to hit the central server anyway, to maintain data coherency.
It also assumes something that is absolutely false - that there is a *need* for this. Back when 40 megs of hd space was $500, sure ... but cheap terabyte drives remove the need for a lot of the centralized stuff - there's no reason that peer-to-peer collaborative efforts can't be better for things like two or more people working on the same project/document, or distributing files (bittorrent has certainly proven THAT), or anything else.
The nature of the problem has changed, and centralized servers will not be the future ... the cloud is just another re-working of client-server, and when all devices can talk directly to each other (hello, IPv6 where ARE YOU?) the cloud will vanish. In 2020 we'll be thinking of cloud computing the same way we though of those brick cell phones from the 80s.
IPv6, good-enough computing, wide-spread broadband, cheap storage - it's this confluence of events that is a real game-changer. Those hooked on the concept of cloud computing aren't thinking very far ahead.
Actually, there's still a lot of hardware with godawful drivers around in the Windows domain... finding a driver that won't crash the machine or cause other problems when going into or coming out of standby for every piece of hardware can be a pain in the ass, especially on older machines.
Take my Thinkpad X41 Tablet, for instance: On Windows 7, sometimes when I resume from Standby or Hibernate, I can't turn on or off my WiFi adapter any more... My old desktop system refused to go into standby with a Radeon 4670 on Windows 7. Sure, the problems are usually solvable by finding the right driver, but there's still the off-chance that the average Joe's pre-configured computer will get stuck with device drivers that BSODs every time you hit the suspend button...
What the author fails to realize is that the limiting factor on a SAN is most often the host itself, not the disk. A single disk my not have the IO, but an array most certainly does (depends on array). A standard, 33 MHz PCI bus can only transfer 133Mb/s (theoretical max). Even faster buses still do not match the I/O speed or throughput of a SAN.
The limiting factor on a PC is that southbridge chip, not the storage. The vast majority of the systems typically connected simply can not push the I/O fast enough out of its ports. It is not waiting on disk, it is waiting on the IO of its bridge chip and bus. Of course putting it on a ram disk is faster. RAM sits off the north bridge and therefore has better throughput to the CPU.
This is more a limit of bridge chips and PC architecture then the speed of a SAN.
who buys desktops these days?
People who want a full-size keyboard, video, and mouse, and who don't want to pay for a duplicate mini-keyboard, mini-monitor, and mini-mouse built into a laptop. They either A. drive to work and thus never have enough time as a passenger on mass transit to make using the computer away from the docking station worth it, or B. have a smartphone, a handheld gaming device, an e-book reader, or even a paperback book to pass the time.
Or people who use video games, certain kinds of CAD software, or other software requiring more performance than is available in an affordable laptop. It's like asking why anybody buys a PS3 and PS3 games instead of a PSP and PSP games, or a Wii and Wii games instead of a DS and DS games, or an Xbox 360 and Xbox 360 games instead of a Windows Mobile smartphone and Windows Mobile games.
Or people who use peripherals for which the external (USB) version carries a significant price premium. For example, when I bought a video digitizer a few years back, I chose the PCI version (ATI TV Wonder VE) over the USB version because USB video digitizers were twice as expensive and required a USB 2.0 card.
Best thing, they have built in UPS ;)
For the price of a replacement battery for a lot of laptops, I could almost buy a new computer.
Superfetch? You're kidding, right? Real VMs were doing this long before MS figured it out.
NT has always had a disk cache. SuperFetch of Windows 6.x just extends it to files that haven't been opened yet, as in Lord Byron II's suggestion of loading more of the operating system into RAM at startup.
> RAM is effectively non-volatile, so long as you don't turn off the power.
Yah, and my house is effectively indestructible, so long as you don't destroy it!
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
VMS allows a process to map a file into its address space and use the paging mechanism to do the disk i/o. It is kind of like a private page file. You get fast random access. You get persistence if you close the file/map properly when you are finished with it.
It has been a long time since I looked at this stuff, but I think you could share the mapped file with other local processes. You had to roll your own atomic access with mutexes.
RMS/Files-11 is a whole different, overly-complex issue. At least FIVE different formats for a simple sequential text file. A whole multi-indexed database in a single file.
--
There's two kinds of 'fast'. The kind where it runs games, and the kind where it 'does internet'. Netbooks do the latter, and as such don't need to be particularly meaty.
Home computers on the other hand? Well, I want to be able to play Supreme Commander (which is a monster for resource consumption) and play my favourite MMO. Ideally with a couple of active clients, and a web browser, maybe iPlayer in the background, that kind of thing.
Very different utilisation, and thus resource demand. Netbooks are acceptable 'portable devices' because they're good enough for spodding, and cheap as well.