Reading from flash memory will be faster than reading from a hard disk -- especially one that you need to spin up and seek. It also draws enormously less power. There are plenty of things in the OS only rarely (e.g. the code), and storing those in a flash memory disk would be very beneficial. If the OS designers are really on the ball they can probably identify the state that needs to be preserved and write that to the flash disk when going to sleep, ignoring all of the state which is just about to be tossed away anyhow (i.e. empty buffers and such).
Reading from flash memory will be faster than reading from a hard disk -- especially one that you need to spin up and seek. It also draws enormously less power. There are plenty of things in the OS only rarely (e.g. the code), and storing those in a flash memory disk would be very beneficial. If the OS designers are really on the ball they can probably identify the state that needs to be preserved and write that to the flash disk when going to sleep, ignoring all of the state which is just about to be tossed away anyhow (i.e. empty buffers and such).
hymie originally proposed using flash memory as a second hard drive exclusively for swap. It doesn't make any sense, frankly speaking, for 2 reasons: cost and... cost. It would add at least a hundred bucks per machine, while for the same money you can just get a hard drive of maximum capacity available. And it would not require any engineering effort.
Of course, we all want flash memory drives instead of bulky spinning hot noise generators, but while those are dirt-cheap compared to NAND, I'm afraid we have to wait. Personally, I'm scared to think about the price of a 150GB flash drive (if you want to fall off your chair, look here).
What Programmer is talking about is a whole different story, but in essence the same thing. For deep/safe sleep or whatever they call it the idea is to save RAM content somewhere on sleep and restore it on wake-up. A hard drive is perfectly suitable for this purpose. Who cares if the process takes a couple of seconds less if the cost is extra $100-$200? Moreover, if flash memory price decrease continues as a trend at its current rate, in 3 or 4 years we will use flash memory everywhere.
hymie originally proposed using flash memory as a second hard drive exclusively for swap. It doesn't make any sense, frankly speaking, for 2 reasons: cost and... cost. It would add at least a hundred bucks per machine, while for the same money you can just get a hard drive of maximum capacity available. And it would not require any engineering effort.
Of course, we all want flash memory drives instead of bulky spinning hot noise generators, but while those are dirt-cheap compared to NAND, I'm afraid we have to wait. Personally, I'm scared to think about the price of a 150GB flash drive (if you want to fall off your chair, look here).
What Programmer is talking about is a whole different story, but in essence the same thing. For deep/safe sleep or whatever they call it the idea is to save RAM content somewhere on sleep and restore it on wake-up. A hard drive is perfectly suitable for this purpose. Who cares if the process takes a couple of seconds less if the cost is extra $100-$200? Moreover, if flash memory price decrease continues as a trend at its current rate, in 3 or 4 years we will use flash memory everywhere.
Everyone says the same thing, so what about those two seconds, but I notice that my internet connection takes awhile to return from sleep, as well as mail that depends on that connection. If even these things were stored on flash then they would wake-up faster. The cost is related to the size of the module, like the size of LCD screens, you could buy 3+ 20" LCDs from Apple for the cost of one 30"LCD. The point is that 256MB is cheap and stacked they are economical, I also believe that there could be a way to interleave them to offset some of the latency issues. Like a controller could be pulling from two banks of 256MB that are both interleaved. Instead of buying one 1Gig flash module, 4x256MB are stacked.
nd it is probably desirable when putting a computer into sleep mode if its hard drive doesn't continue to whirr for several minutes as you manhandle it into your rucksack
My PC laptop with 1 GB of memory takes less that 10 seconds to hibernate to disk and same time to come back to life. Not "several minutes" as you say.
And I don't usually "manhandle" my laptop at any time and I would not recommend manhandling the laptop to anyone regardless whether it uses hard disk or flash.
I could see an advantage in some cases if you can make hybernation instant (like standby mode), but I don't see how that is possible with flash RAM speed these days.
Quote:
This is technologically beyond the ability of modern OSes. It's technologically possible in some future OS, but dynamically deciding where to write an OS data file depending on resource load is an exceptionally hard thing to get right, especially when the load ratios are allowed to change.
Why is that? It's been done for years in the micro-code for processors with exteremely high efficiency. That's how branch prediction and cache management works, my friend.
In fact you don't even need a new OS for it. Just a low level memory management driver. Similar software exists for Windows 2k/XP, for example. It's called Ramdisk.
You can do it, but in order for this to be beneficial compared to just writing to RAM, in terms of speed, you Flash memory will need to have comparable transfer speed.
Why is that? It's been done for years in the micro-code for processors with exteremely high efficiency. That's how branch prediction and cache management works, my friend.
In fact you don't even need a new OS for it. Just a low level memory management driver. Similar software exists for Windows 2k/XP, for example. It's called Ramdisk.
You can do it, but in order for this to be beneficial compared to just writing to RAM, in terms of speed, you Flash memory will need to have comparable transfer speed.
You are confusing the operations of custom built embedded processors running in a defined sandbox of an application space and a generalized operating system where folks have proposed writing state bytes willy nilly to different devices dependent on bandwidth load to the devices.
Big difference. Read what they want again, it's not a single device RAMDisk, they want realtime interleaving of devices swap space, and not in a RAID style either -- that interleaving is statically determined.
There has been a side discussion on NAND as a replacement for power-off persistent storage in sleep. A completely different issue and only a matter of $$, not tech.
You are confusing the operations of custom built embedded processors running in a defined sandbox of an application space and a generalized operating system where folks have proposed writing state bytes willy nilly to different devices dependent on bandwidth load to the devices.
Not really. These types of dynamic load/ prefetch/ brandch prediction mechanisms are standard in the microcode of any processor ranging from G5 in MAC to Intel Pentium 4.
Perhaps a review of micro-architecture of modern processors is in order here. May I suggest "Computer Organization and Design" by David Patterson and John Hennessy?! It's a bit heavy on formal logic and math at times, but still inetresting if you really want to know how it works in detail.
But even in the case where this is implemented, I don't see an advantage unless Flash is made MUCH faster than HD.
Someone's late to the party, count up about 11 posts.
The existence of dynamic load/ prefetch/ brandch prediction mechanisms on a CPU don't magically make really hard things simple. As you said just about every CPU today has them, if it made those kind of dynamic things trivially easy AI wouldn't be the shambles it currently is, filesystems would grow on something other than B-trees and Santa Claus would bring me a Lego X-Wing Collectors Edition for Xmas.
If my memory serves me correct, Flash memory has a limitation regarding the number of write-operations you can do on Flash. I think there is a barrier at about 1000 write operations. Above that number the Flash memory is more and more likely to fail.
I couldn't help from chiming in again with respect to some of the flash rumours. The little bit I've heard about the use of FLASH with respect to Intels research is using the technology as a CACHE for a HARDDISK. The intent is to lower the amount of energy used to spin up a disk which is extremely significant in a laptop.
The idea has merit and if done in such a way that only read only code is cached may be compatible with write limitations that flash has. The write limitations are real but with todays technology much higher than suggested by some here. Further such an array would likely be protected by some sort of error detection and correction. The possibility of bits flipping is real and would have to be protected against.
As to speed, flash used in such a way would be many times faster than a harddisk. Not just one or two times either, but likely hundreds of times faster over a disk that is asleep. All of this while using significantly less power. that of course is read times, writes are another thing where I would imagine all data would be sent directly to the harddisk.
There are a number of reasons why I would suspect that the cache would be designed to cache only executeable code. The primary one being the reality that data could easily flush such a cache resulting in a loss of its intended functionality.
Finally I don't see this idea being an Apple exclusive. Apple will have a very hard time differentiating its hardware relative to the windows suppliers. I'd suggest that they will focus on software and possibly hardware accelerators. The thing is the hardware would have to be Apple exclusive to mean anything. So I don't expect to see to much focus on this technology at all other than its newness.
If my memory serves me correct, Flash memory has a limitation regarding the number of write-operations you can do on Flash. I think there is a barrier at about 1000 write operations...
The number was 100,000, not 1,000, and I don't think that has been a problem for some time.
you're thinking about flash memory from 2-3 years ago. This is advanced flash memory that intel is pushing, it's not the memory that comes in those memorysticks you buy in the stores, or on your ipod. It's much faster. Think solid state ram.
Quote:
Originally posted by hymie
whoa, sorry i missed your brilliance before. if the flash memory is significantly slower than the hard disk in every possible situation, then why is intel marketing this new chip on the motherboard as useful for storing info during deep sleep as opposed to writing everything to the hard disk and then cutting power?
actually current ram, say take a nand ram has 11million write cycles pre bit on the disk. If you were to write to them all nonstop starting today, it would take over 90 years of nonstop abuse for it to "possible be able to" fail.
Try that with your hard drive.
Quote:
Originally posted by copeland
If my memory serves me correct, Flash memory has a limitation regarding the number of write-operations you can do on Flash. I think there is a barrier at about 1000 write operations. Above that number the Flash memory is more and more likely to fail.
actually current ram, say take a nand ram has 11million write cycles pre bit on the disk. If you were to write to them all nonstop starting today, it would take over 90 years of nonstop abuse for it to "possible be able to" fail.
I don't follow your logic here. Current write speeds appear (from a Google search) to be in the 100-500 usec range which implies that you could achieve at least a thousand write cycles per second and burn out your flash memory in less than half a week, if you really tried. And 1-5 million cycles is more typical. Certainly well short of "90 years of nonstop abuse".
Nonetheless, flash memory has certainly improved and use as a disk replacement is entirely viable... except in terms of cost. Small disks for key items that you want rapid & frequent access to make a lot of sense though, and that is why we're seeing the news items. I wouldn't be surprised if desktop and notebook machines start coming with 0.5-2 GB of Flash memory which the OS uses for its own backing store and other key files. Low power, fast access (relative to disks), high reliability, rapid on time, etc.
Read cycles appear to be sub-100 ns too, which is pretty blazingly fast. Faster than I had thought. Flash disks with 20-50 MB/sec sustained read rates are currently available, and I imagine that putting more chips in one device can increase that by reading in parallel (you can usually increase bandwidth that way, unfortunately there is no equivalent for latency reduction). Definitely not RAM-replacement speeds (1000x too slow) but in the realm of disk speeds.
All RAM is solid state (well, at least since the days of core memory... and I don't know if you could call that solid state or not as it had no moving parts). The older flash memory technologies and EEPROM are solid state too. You're better off just saying "technology has improved, forget what you knew about flash memory".
you're thinking about flash memory from 2-3 years ago. This is advanced flash memory that intel is pushing, it's not the memory that comes in those memorysticks you buy in the stores, or on your ipod. It's much faster. Think solid state ram.
Although that type of memory exists, it is still cost prohibitive and will be for some time.
Comments
Originally posted by Programmer
Reading from flash memory will be faster than reading from a hard disk -- especially one that you need to spin up and seek. It also draws enormously less power. There are plenty of things in the OS only rarely (e.g. the code), and storing those in a flash memory disk would be very beneficial. If the OS designers are really on the ball they can probably identify the state that needs to be preserved and write that to the flash disk when going to sleep, ignoring all of the state which is just about to be tossed away anyhow (i.e. empty buffers and such).
hymie originally proposed using flash memory as a second hard drive exclusively for swap. It doesn't make any sense, frankly speaking, for 2 reasons: cost and... cost. It would add at least a hundred bucks per machine, while for the same money you can just get a hard drive of maximum capacity available. And it would not require any engineering effort.
Of course, we all want flash memory drives instead of bulky spinning hot noise generators, but while those are dirt-cheap compared to NAND, I'm afraid we have to wait. Personally, I'm scared to think about the price of a 150GB flash drive (if you want to fall off your chair, look here).
What Programmer is talking about is a whole different story, but in essence the same thing. For deep/safe sleep or whatever they call it the idea is to save RAM content somewhere on sleep and restore it on wake-up. A hard drive is perfectly suitable for this purpose. Who cares if the process takes a couple of seconds less if the cost is extra $100-$200? Moreover, if flash memory price decrease continues as a trend at its current rate, in 3 or 4 years we will use flash memory everywhere.
Originally posted by costique
hymie originally proposed using flash memory as a second hard drive exclusively for swap. It doesn't make any sense, frankly speaking, for 2 reasons: cost and... cost. It would add at least a hundred bucks per machine, while for the same money you can just get a hard drive of maximum capacity available. And it would not require any engineering effort.
Of course, we all want flash memory drives instead of bulky spinning hot noise generators, but while those are dirt-cheap compared to NAND, I'm afraid we have to wait. Personally, I'm scared to think about the price of a 150GB flash drive (if you want to fall off your chair, look here).
What Programmer is talking about is a whole different story, but in essence the same thing. For deep/safe sleep or whatever they call it the idea is to save RAM content somewhere on sleep and restore it on wake-up. A hard drive is perfectly suitable for this purpose. Who cares if the process takes a couple of seconds less if the cost is extra $100-$200? Moreover, if flash memory price decrease continues as a trend at its current rate, in 3 or 4 years we will use flash memory everywhere.
Everyone says the same thing, so what about those two seconds, but I notice that my internet connection takes awhile to return from sleep, as well as mail that depends on that connection. If even these things were stored on flash then they would wake-up faster. The cost is related to the size of the module, like the size of LCD screens, you could buy 3+ 20" LCDs from Apple for the cost of one 30"LCD. The point is that 256MB is cheap and stacked they are economical, I also believe that there could be a way to interleave them to offset some of the latency issues. Like a controller could be pulling from two banks of 256MB that are both interleaved. Instead of buying one 1Gig flash module, 4x256MB are stacked.
nd it is probably desirable when putting a computer into sleep mode if its hard drive doesn't continue to whirr for several minutes as you manhandle it into your rucksack
My PC laptop with 1 GB of memory takes less that 10 seconds to hibernate to disk and same time to come back to life. Not "several minutes" as you say.
And I don't usually "manhandle" my laptop at any time and I would not recommend manhandling the laptop to anyone regardless whether it uses hard disk or flash.
I could see an advantage in some cases if you can make hybernation instant (like standby mode), but I don't see how that is possible with flash RAM speed these days.
This is technologically beyond the ability of modern OSes. It's technologically possible in some future OS, but dynamically deciding where to write an OS data file depending on resource load is an exceptionally hard thing to get right, especially when the load ratios are allowed to change.
Why is that? It's been done for years in the micro-code for processors with exteremely high efficiency. That's how branch prediction and cache management works, my friend.
In fact you don't even need a new OS for it. Just a low level memory management driver. Similar software exists for Windows 2k/XP, for example. It's called Ramdisk.
You can do it, but in order for this to be beneficial compared to just writing to RAM, in terms of speed, you Flash memory will need to have comparable transfer speed.
Originally posted by skatman
Why is that? It's been done for years in the micro-code for processors with exteremely high efficiency. That's how branch prediction and cache management works, my friend.
In fact you don't even need a new OS for it. Just a low level memory management driver. Similar software exists for Windows 2k/XP, for example. It's called Ramdisk.
You can do it, but in order for this to be beneficial compared to just writing to RAM, in terms of speed, you Flash memory will need to have comparable transfer speed.
You are confusing the operations of custom built embedded processors running in a defined sandbox of an application space and a generalized operating system where folks have proposed writing state bytes willy nilly to different devices dependent on bandwidth load to the devices.
Big difference. Read what they want again, it's not a single device RAMDisk, they want realtime interleaving of devices swap space, and not in a RAID style either -- that interleaving is statically determined.
There has been a side discussion on NAND as a replacement for power-off persistent storage in sleep. A completely different issue and only a matter of $$, not tech.
Originally posted by Hiro
You are confusing the operations of custom built embedded processors running in a defined sandbox of an application space and a generalized operating system where folks have proposed writing state bytes willy nilly to different devices dependent on bandwidth load to the devices.
Not really. These types of dynamic load/ prefetch/ brandch prediction mechanisms are standard in the microcode of any processor ranging from G5 in MAC to Intel Pentium 4.
Perhaps a review of micro-architecture of modern processors is in order here. May I suggest "Computer Organization and Design" by David Patterson and John Hennessy?! It's a bit heavy on formal logic and math at times, but still inetresting if you really want to know how it works in detail.
But even in the case where this is implemented, I don't see an advantage unless Flash is made MUCH faster than HD.
The existence of dynamic load/ prefetch/ brandch prediction mechanisms on a CPU don't magically make really hard things simple. As you said just about every CPU today has them, if it made those kind of dynamic things trivially easy AI wouldn't be the shambles it currently is, filesystems would grow on something other than B-trees and Santa Claus would bring me a Lego X-Wing Collectors Edition for Xmas.
copland
The idea has merit and if done in such a way that only read only code is cached may be compatible with write limitations that flash has. The write limitations are real but with todays technology much higher than suggested by some here. Further such an array would likely be protected by some sort of error detection and correction. The possibility of bits flipping is real and would have to be protected against.
As to speed, flash used in such a way would be many times faster than a harddisk. Not just one or two times either, but likely hundreds of times faster over a disk that is asleep. All of this while using significantly less power. that of course is read times, writes are another thing where I would imagine all data would be sent directly to the harddisk.
There are a number of reasons why I would suspect that the cache would be designed to cache only executeable code. The primary one being the reality that data could easily flush such a cache resulting in a loss of its intended functionality.
Finally I don't see this idea being an Apple exclusive. Apple will have a very hard time differentiating its hardware relative to the windows suppliers. I'd suggest that they will focus on software and possibly hardware accelerators. The thing is the hardware would have to be Apple exclusive to mean anything. So I don't expect to see to much focus on this technology at all other than its newness.
Thanks
Dave
Originally posted by copeland
If my memory serves me correct, Flash memory has a limitation regarding the number of write-operations you can do on Flash. I think there is a barrier at about 1000 write operations...
The number was 100,000, not 1,000, and I don't think that has been a problem for some time.
Originally posted by hymie
whoa, sorry i missed your brilliance before. if the flash memory is significantly slower than the hard disk in every possible situation, then why is intel marketing this new chip on the motherboard as useful for storing info during deep sleep as opposed to writing everything to the hard disk and then cutting power?
Try that with your hard drive.
Originally posted by copeland
If my memory serves me correct, Flash memory has a limitation regarding the number of write-operations you can do on Flash. I think there is a barrier at about 1000 write operations. Above that number the Flash memory is more and more likely to fail.
copland
Originally posted by webmail
actually current ram, say take a nand ram has 11million write cycles pre bit on the disk. If you were to write to them all nonstop starting today, it would take over 90 years of nonstop abuse for it to "possible be able to" fail.
I don't follow your logic here. Current write speeds appear (from a Google search) to be in the 100-500 usec range which implies that you could achieve at least a thousand write cycles per second and burn out your flash memory in less than half a week, if you really tried. And 1-5 million cycles is more typical. Certainly well short of "90 years of nonstop abuse".
Nonetheless, flash memory has certainly improved and use as a disk replacement is entirely viable... except in terms of cost. Small disks for key items that you want rapid & frequent access to make a lot of sense though, and that is why we're seeing the news items. I wouldn't be surprised if desktop and notebook machines start coming with 0.5-2 GB of Flash memory which the OS uses for its own backing store and other key files. Low power, fast access (relative to disks), high reliability, rapid on time, etc.
Read cycles appear to be sub-100 ns too, which is pretty blazingly fast. Faster than I had thought. Flash disks with 20-50 MB/sec sustained read rates are currently available, and I imagine that putting more chips in one device can increase that by reading in parallel (you can usually increase bandwidth that way, unfortunately there is no equivalent for latency reduction). Definitely not RAM-replacement speeds (1000x too slow) but in the realm of disk speeds.
Originally posted by webmail
Think solid state ram.
All RAM is solid state (well, at least since the days of core memory... and I don't know if you could call that solid state or not as it had no moving parts). The older flash memory technologies and EEPROM are solid state too. You're better off just saying "technology has improved, forget what you knew about flash memory".
Originally posted by webmail
you're thinking about flash memory from 2-3 years ago. This is advanced flash memory that intel is pushing, it's not the memory that comes in those memorysticks you buy in the stores, or on your ipod. It's much faster. Think solid state ram.
Although that type of memory exists, it is still cost prohibitive and will be for some time.