In this paper, we propose a new I/O architecture for NAND flash-based SSDs, called an application-managed flash (AMF). In a typical SSD controller, an intermediate software layer, called a flash translation layer, is employed between NAND flash chips and a host interface. The main responsibility of an FTL is providing interoperability with conventional HDDs, but this comes at the cost of requiring expensive hardware resources and degrading I/O performance. The proposed AMF refactors the flash storage architecture so that an SSD control exposes linear append-only segments which do not permit overwriting. This refactoring dramatically improves performance of applications and reduces hardware costs by allowing applications to directly manage flash storage with minimal supports by an SSD controller. To confirm the benefits of AMF, we conduct case studies with two popular applications, a log-structured file system (F2FS) and a key-value store (RocksDB). Our experiments show that DRAM in the flash controller is reduced by 128X and the performances of the file system and the key-value store improve by 80% and 54% over conventional SSDs, respectively.