28 Mar 2007, 12:01pm
hardware
by Pedro Pinheiro

1 comment

memory vs. storage architecture

The clear distinction between memory (RAM) and storage (HDDs) has suffered an evolution in the past few years, in part because of the technologies, but also because of the way the operating systems work. The current state of affairs goes something like this:

  • Cache memory – a faster copy of parts of the RAM of the system, keeping the most used instructions and data “nearer” (in terms of access speed) to the processor
  • Main RAM – memory where the whole current state of the machine is kept and manipulated
  • Video RAM – memory where the image display state resides (which might reside in the main memory in terms of hardware)
  • Virtual Memory – the opposite concept of cache memory – the operating system moves less used data into the slower non-RAM storage system, to free the main RAM memory for the most used data.
  • Storage – bigger, slower, non-volatile memory where the non-working state of applications and data is stored, even when the computer is turned off, which is divided into three main technologies:
    • Hard disk drives – magnetic media on spinning platters – cheaper than RAM, more compact by capacity, much slower, less reliable (to impact and wear and tear), but non-volatile
    • Flash memory – solid state memory (like RAM but non-volatile), more expensive but faster than HDDs*, more reliable, some limitations on the total number write cycles possible, the best energy efficiency of all the available storage technologies
    • Optical storage – CDs, DVDs, much cheaper than any other kind of storage, not very energy efficient, slow

Although there has been a constant evolution of all these technologies, the evolution of price/size/speed of flash storage has brought it to the point where HDDs can be replaced by flash storage, although still at smaller capacities and much higher prices. But the trend continues to march on, and based on that evolution I think a possible evolution of the state of the art in memory vs. storage architecture design could go in the following direction, both for mobile and non-mobile applications (with the tweaking of the wanted ratio between capacity/performance on one side versus the need for portability/energy efficiency on the other):

  • processor cache memories, main, and video RAM as they are today
  • virtual memory to be ran on slower but cheaper RAM (although faster than storage of any kind), at the same price point as flash storage, but volatile – the virtual memory contents could be copied into storage on suspend/hibernation states – which would in part reduce the problem of the potentially limited number of write cycles on flash storage
  • HDD spinning platter storage to be replaced by flash memory, in two stages:
    • at first, there could be an hybrid system, where the main OS and applications would work from a flash storage based partition, and the main data storage would still be on traditional HDDs (there are hybrid drives today, but I propose a less integrated and less OS dependent technology)
    • the second stage would be when the price per MB of flash storage achieved a level compatible with the needs of users (to be achieved for mobile applications first), and traditional HDDs would be phased out almost completely
  • Same line of thought for optical media vs. flash storage, or the appearance of large capacity solid state ROM storage (although my opinion is that the WAN or LAN online transmission of free or paid data will replace the distribution by physical media completely, eventually)

To give a real life example, the default partition arrangement of general usage Linux installs (boot/swap/data) would be based on three different technologies – flash storage for the boot partition, cheaper RAM for the swap (virtual memory) partition, and traditional HDD technology for the data partition, until flash technology is able to overcome its limitations both in terms of price and no limitation on write cycles, and replace the other two technologies.

* in some applications fast HDDs in sequential data read/write operations can be faster than flash storage

23 Mar 2007, 7:31pm
history
by Pedro Pinheiro

3 comments

Proof that the Portuguese got to Australia first

Although I’m not Portuguese by birth, my whole family is Portuguese, and I’ve lived here most of my life.  This is why I found this story interesting, that an Australian author, Peter Trickett, is claiming in his book Beyond Capricorn that the Portuguese, and not the British or the Dutch, were the first to arrive in Australia.  History is not always buried beyond reach.  Read the article at the Washington Post here.  Via Kottke, an interesting blog about everything and anything.

21 Mar 2007, 11:10pm
mindstorms
by Pedro Pinheiro

leave a comment

matsuRobotV3

My latest Lego Mindstorms robot and program, matsuRobotV3. This robot was also “not planned” like the previous one as the build process was simultaneously the design process. The main thing I wanted to implement was some way to auto-center the sensor platform, which I accomplished by placing a bump switch that would be pressed if the platform rotated more than “x” degrees to the left, from which point I could rotate it “x” degrees to the right to get it centered (“x” being found by trial and error).

From a programming standpoint, I wanted the program to evaluate two sensors at the same time – which was done by running a loop conditioned to end by a logical value, in which I ran two readings passed on to an OR logic block. This creates a relatively fluid obstacle avoidance routine, as you can see on the video. Hope you enjoy it!

Charles Stross – Glasshouse

A recipe for a great singularity mistery adventure:

Ingredients

Preparation

Start by pouring two parts of Accelerando, plus one part of 1984, mix gently with the stove on low. Check that it doesn’t have any clumps and add a part of Cryptonomicon. Keep mixing while adding one part of Pleasantville, let it simmer for a while. Add one part of The Tunnel Under the World, increase the temperarature, mix vigorously while adding two parts of Accelerando, two parts of Cryptonomicon, and one part of Use of Weapons, raise it to a boil and add two parts of 1984 and one more part of Use of Weapons, turn the fire off and let it cool down.

Serving

It’s better served in one go, saving some portions for later is not advised.

I think this recipe worked really well, it’s the first book in ages that I’ve read in a single weekend. It suffers from a few predictable plot twists, but which don’t detract from the book’s brilliance. I recommend it, especially if you’ve already read Accelerando, as the universe in question has a lot of common points.

If you’re reading this…

…it means that the latest matsu home move has been successful.  Matsu is running in the original XP install, but now running under VMWare Fusion on my Mac Mini, meaning that I’ve shutdown my last Windows non-virtual machine.  I’ve been meaning to do this since the first of Fusion’s beta releases, but it was impossible (or very difficult) to do it, as the first release didn’t support ethernet bridging of the Airport (wireless) connection.  This latest version seems a little faster, and it also adds support for DirectX, and even Vista will run on it.

 
  
  • RSS Photographs

  • RSS Twitter

  • RSS Blippr

  • Archives