Polar codes achieve the capacity for various kinds of channels, based on the channel polarization, which can be made explicitly by combining and splitting multiple realizations of the channel. Owing to the capacity-achieving property with such an explicit construction, polar codes have been adopted as the new ECC for upcoming 5G communication standards and are considered for diverse applications such as non-volatile memory systems. The successive-cancellation (SC) algorithm is the basic decoding method for the polar codes and works as the basis for other advanced decoding algorithms. In this talk, I will provide a brief overview of the polar codes and the algorithm and architecture for the SC decoding from the hardware implementation perspectives. Then I will present our recent research work regarding the architecture optimization for SC decoders.