NAND flash memory-based solid-state drives (SSDs) are widely adopted as the modern storage media owing to their improved performance compared with conventional hard disk drives (HDDs). However, the one shortcoming of the SSD is the expansive price per capacity, and it is the main obstacle to the transition to SSD-based storage systems from HDD-based ones. In the dissertation, therefore, we suggest two directions to achieve a cost-effective SSD. First, NAND flash-based SSDs have a limited lifetime mainly based on their written data pattern. Therefore, we propose an encoding technique to optimize the data pattern in terms of lifetime maximization. Second, in cloud storage environments, it is more cost-beneficial to share an SSD with more virtual machines (VMs). Therefore, we minimize the performance degradation of VMs to accommodate the maximum number of VMs can be placed in an SSD.
낸드 플래시 메모리 기반의 솔리드 스테이트 드라이브 (Solid-state drive, SSD)는, 저장소 매체로 널리 사용되던 하드 디스크 드라이브에 비해 월등히 개선된 성능을 보여줌으로써, 차세대 저장장치로 자리매김하고 있다. 하지만 상대적으로 높은 가격은 SSD 기반 저장소로 전환하는 과정의 걸림돌로 작용한다. 이런 점을 개선하기 위해, 본 논문에서는 두 가지 방향으로 개선점을 제시한다. 첫번째는 SSD의 사용 수명을 늘려 더 오래 쓸 수 있도록 하는 것이다. 낸드 플래시 기반 SSD에서는 쓰여지는 데이터 패턴에 따라 수명이 달라질 수 있는 것으로 알려져 있다. 이런 쓰기 데이터 패턴을 최적화하여 수명을 개선하는 연구를 진행한다. 둘째로, 클라우드 환경에서는 한 SSD를 여러 가상 머신들 (Virtual machines, VMs)이 동시에 점유하게 되는데, 이때 발생되는 성능 저하를 최소화하여, 하나의 SSD가 수용할 수 있는 VM 개수를 늘릴 수 있게 한다. 이를 통해 같은 수의 SSD로 더 많은 VM들을 수용할 수 있게 하여 가격 효율성을 달성할 수 있도록 한다.