Update - Performance Metrics 

After running some tests with PassMark PerformanceTest, we were able to get data on the amount of erase cycles we needed compared to our flash device with encoding turned off. It turns out that the answer is quite a few. We had up to a 10x decrease in the number of erases for our device with encoding enabled when writing data randomly to the disk. These are great results, indicating that our encoding scheme is an overall success.
[ 1278 comments ] ( 79517 views )
Update - Meeting with Professor Jiang 

The Gigamesh Team met with Professor Andrew Jiang from Texas A&M University to discuss his encoding schemes. We spent the meeting figuring out what the best encoding scheme would be to fit the particular needs of a NAND flash chip.
[ 1566 comments ] ( 77974 views )
Update - Multiple Page Writes 

The Gigamesh Team has connected up the Numonyx chip successfully. For now we are forcing the software to see it as a 256MB flash chip to retain compatibility with our old code and for SRAM considerations. Later we will work around this limitation.

We solved two problems to get the chip working:

1) The AT91SAM9RL-EK evaluation board and the SAM-ICE JTAG emulator were malfunctioning. The SAM-ICE showed an orange LED (sometimes blinking red), which meant it thought the board was constantly being reset. The red meant an unknown error had occurred. We solved this by removing the backup battery from the evaluation board and then replacing it. For whatever reason, this kicked it back to life. All other means of power cycling and driver updates did nothing.

2) The internal code was overflowing because our block count had increased by 4x, but our buffers had not.

Now it works.

Also, on the Numonyx chip partial writes work like this:

(Keep in mind 0xFF is the default value for a cleared block).

NAND Flash:

Then write 0xF0.

NAND Flash:

Then write 0x00.

NAND Flash:

We also tested it with other data and determined that the operation resembles is a logical AND: WrittenData = OldData AND NewData.

Then write
[ 1443 comments ] ( 81495 views )
Update - Numonyx NAND Chip Working 

The Gigamesh Team today successfully soldered in one of our Numonyx NAND flash chips into the Atmel evaluation board. In order to get this to work we had two options:

1) Use the Atmel board's external bus connector to wire in a new flash chip.

2) Desolder the built-in NAND chip, and replace it with our own.

Option 1 was the obvious first choice, but it turns out the pins we needed to access on the Atmel board were inside a ball grid array connector, rather than just upright pins like the rest of the board. The only way to connect anything to it would be to buy Atmel's special proprietary connector, which we could not find for purchase anywhere.

So, we went with option 2. The Numonyx chip and the built-in NAND chip have the same pin outs and identical command sets (same as ONFI), so they were compatible.

Of course, after the solder job not everything went perfect. Two of the pads were damaged, leaving two pins on the NAND chip disconnected. Specifically, this was pin 9 and pin 41. Pin 9 was the inverted enable pin, so we simply soldered a wire between this pin and ground. Pin 41, however, was the 5th bit of the 8-bit data connection. This one we carefully soldered to the previously mentioned ball grid array.

After all was said and done, we had a fully working Numonyx chip with which to test our algorithms on. The board now has some very thin and fragile wires connecting odd parts together, but it works.
[ 1569 comments ] ( 80158 views )
Update - Emulation and Board Design 

We are now sending off our gerber files for the external NAND flash board we will be connecting to our Atmel evaluation board. Since the on-board NAND flash is working, we need to move to our custom Numonyx flash chips to continue our development.

While we wait for our break-out board to be printed, we are developing a flash memory emulator to run on x86 machines (we are developing on Mac, Linux, and Windows simultaneously) that we can prototype our encoding algorithms on.
[ 3296 comments ] ( 78318 views )

| 1 | 2 | 3 | Next> Last>>