NAND flash can only be erased at the block level, not the page level. Garbage collection is the process that recycles stale pages to keep a flash system writable – and without it, performance collapses. This article explains why.
Blog
Understanding Flash: The Flash Translation Layer
The flash translation layer is the hidden software layer that makes NAND flash usable as enterprise storage. This article explains logical block mapping, wear levelling, garbage collection and write amplification.
Oracle, Parallelism and Direct Path Reads… on Flash
Guest Post This is another guest post from my buddy Nate Fuzi, who performs the same role as me for Violin but is based in the US instead of EMEA. Because he's an American, Nate believes that "football" is played using your hands and that the ball is actually egg-shaped. This is of course ridiculous, … Continue reading Oracle, Parallelism and Direct Path Reads… on Flash
Viewing ASM trace files in VIM: Which Way Do You Use?
A couple of people have asked me recently about a classic problem that most DBAs know: how to view ASM trace files in the VIM editor when the filenames start with a + character. To my surprise, there are actually quite a few different ways of doing it. Since it's come up, I thought I'd … Continue reading Viewing ASM trace files in VIM: Which Way Do You Use?
Oracle 12.1.0.2 ASM Filter Driver: Advanced Format Fail
[Please note that a more up-to-date post on this subject can be found here] In my previous post on the subject of the new ASM Filter Driver (AFD) feature introduced in Oracle's 12.1.0.2 patchset, I installed the AFD to see how it fulfilled its promise that it "filters out all non-Oracle I/Os which could cause accidental overwrites". … Continue reading Oracle 12.1.0.2 ASM Filter Driver: Advanced Format Fail
Oracle 12.1.0.2 ASM Filter Driver: First Impressions
This is a very quick post, because I'm about to log off and take an extended summer holiday (or vacation as my crazy American friends call it... but then they call football "soccer" too). Before I go, I wanted to document my initial findings with the new ASM Filter Driver feature introduced in this week's … Continue reading Oracle 12.1.0.2 ASM Filter Driver: First Impressions
New AWR Report Format: Oracle 11.2.0.4 and 12c
This is a post about Oracle Automatic Workload Repository (AWR) Reports. If you are an Oracle professional you doubtless know what these are - and if you have to perform any sort of performance tuning as part of your day job it's likely you spend a lot of time immersed in them. Goodness knows I … Continue reading New AWR Report Format: Oracle 11.2.0.4 and 12c
New section: Oracle SLOB Testing
For some time now I have preferred Oracle SLOB as my tool for generating I/O workloads using Oracle databases. I've previously blogged some information on how to use SLOB for PIO testing, as well as shared some scripts for running tests and extracting results. I've now added a whole new landing page for SLOB and … Continue reading New section: Oracle SLOB Testing
Understanding Flash: SLC, MLC and TLC
SLC, MLC and TLC NAND flash differ in how many bits each cell stores. More bits per cell means lower cost and higher density – but slower performance and reduced endurance. This article explains the trade-offs for enterprise storage.
Understanding Flash: Blocks, Pages and Program / Erases
NAND flash memory stores data in pages but erases in blocks – a fundamental asymmetry that shapes everything from SSD performance to all-flash array design. This article explains the program/erase cycle and why it matters for database storage.



