Computer systems have become more complex over the past decades. As a result, excess virtualization can happen, where redundant levels of virtualization exist in a single system. For example, with a file system on top of a virtualized storage device, a block is first mapped from its file offset to its logical address and then from its logical address to its physical address. Excess virtualization and the indirection tables to realize layers of virtualization create both memory space and performance overhead. In this talk, I will present our approaches of de-virtualization to remove excess virtualization in storage systems. Specifically, I will talk about 1) a new I/O interface called Nameless Writes which sends only data and no address to the device; the device allocates a physical address and returns it to the file system which then stores it for future reads, 2) a hardware prototype of Nameless Writes, and 3) a lightweight tool to dynamically remove storage device virtualization by changing file system pointers to point to physical addresses; doing so requires only small OS, device, and interface changes. I will outline the challenges we met and lessons we learned in designing new interfaces and systems for de-virtualization and in implementing them with real hardware. Our results show that de-virtualization reduces flash-based SSD internal RAM space cost by 14-54 times and improves random write performance by 20 times compared to traditional SSDs. We also found that integrating new interfaces into existing systems is difficult and using a separate tool can be a good way to dynamically remove excess virtualization.