Separate names with a comma.
Discussion in 'Apple, Inc and Tech Industry' started by flopticalcube, Oct 13, 2012.
Time for a new way.
Excuse my ignorance in computer science for a second, but this made me think of something...
Say someone does find a way to create storage that has the speed and bandwidth of ram. Wouldn't the two basically be one and the same? As in, you wouldn't need separate storage and ram, but rather you'd have a drive that has a partition acting as ram you could resize if you find yourself needing more? Or does a CPU need a buffer between the two that only physical ram can provide?
CPUs already have several levels of memory internally each increasing in speed and decreasing in size, they are called caches.
So, in theory, if your storage could be accessed as quickly as ram, you wouldn't need to separate the two at all? You wouldn't even need a second "ram" partition, since the CPU could pull assets off the drive directly, and process code on the cache?
Correct. I would suspect that for most applications, faster dynamic memory (RAM as it is now) would still be beneficial but I could easily see a point at which for some device there need not be any working RAM as we have it now. Indeed some microcontrollers already do this working entirely inside their own registers.
Yes, it would be possible. Whether it would be economical to have all non-volatile RAM is a separate question. There might also be enough difference in power consumption or speed to have volatile RAM for a dedicate purpose.
Here's an example technology:
Williams' solid-state memristors can be combined into devices called crossbar latches, which could replace transistors in future computers, taking up a much smaller area.
They can also be fashioned into non-volatile solid-state memory, which would allow greater data density than hard drives with access times potentially similar to DRAM, replacing both components.
Then again, think of how many previous forecasts there were for the doom of semiconductor futures. The "end of Moore's Law" has been 5 years away for almost a decade.
If we ever got to that point, the only thing I can think of that'd require more pure memory would be previous state saves for programs that toss around tons of data. Like multiple levels of undos in Final Cut, Zbrush, and other similar programs.
That'd be more an issue for the pro scene. For everyone else, it shouldn't be a problem.
..by near future standards, of course. I'm kinda vague on how much memory is required for code execution, but I think you'd need processors with a good deal more cache than what we've got now.
The key is that the storage must have random access. That is, any byte or word must be available directly for instant read/write.
In some of the must-never-fail embedded systems I've helped build in the past, we used battery backed static RAM for this.
When I first read the threat title about Flash nearing the end of its life, I automatically assumed it was about the fact that MLC Flash has an unpowered data retention life of anywhere from months to a decade, and averaging about five years.
That means that if you have any good memories on your original iPhone in your desk drawer, it might be a good idea to make sure you have a backup on another storage medium.
As a side note, Windows Mobile before version 5 only had one type of RAM and it was partitioned as needed between code and storage. The trouble was, it wasn't battery backed, and whenever you pulled your battery you had to reload all your apps and you lost all your pictures etc.
I've been reading articles like this for 35 years. Once in a while, a change takes place so fast that people lose money on short-term investments, but, not very often. It is easy to say, "We need something better, and here are three technologies that might do better." It is another thing to get the cost down, make the investments necessary for scalability, develop the market, and deploy in a mass-production environment. Looking back 35 years, most of the predictions that said "This is going to happen in 3 years" were premature; things turned out to be 7-10 years. Lots of people have lost money trying to push things way too fast. Of course, plenty of people have also lost money making the prediction that things will never change. In this business, timing is everything.
The bad and the ugly wouldn't be much of an issue for any mid-term future tech, though. I didn't know about the memory shelf life of NAND flash, but that's not really too, too terrible. Magnetic drives, unless stored in pristine, airtight conditions, are usually only expected to reliably maintain data for a decade, aren't they?
Caches are only good if you're repeatedly accessing the same data or in a pattern ideal for a particular architecture. They' re there to hide the fact that RAM is so slow on conventional computers.
Just like RAM is there to hide the fact that permanent storage is slow.