A storage system comprising: a plurality of flash packages, each of which includes a processor, compression circuit (360A, 360B), and a plurality of flash chips, and a storage controller, which is connected to the plurality of flash packages and connectable to a host; wherein for each of the plurality of flash packages, the respective processor is configured to compress data received from the storage controller using the respective compression circuit (360A, 360B), store the compressed data in at least one of the plurality of flash chips, and provide compression information based on an amount of the compressed data stored in the flash packages, characterized in that the storage controller is configured to control a set of flash packages among the plurality of flash packages as a RAID group, manage a plurality of real pages in a pool area corresponding to storage space provided by the set of flash packages in the RAID group, provide a virtual volume comprising a plurality of virtual pages to a host, receive a write request indicating an address of the virtual volume for storing write data from the host, allocate one of allocatable real pages among the plurality of real pages from the pool to a virtual page corresponding to the address of the virtual volume in response to the write request, manage a number of allocatable real pages in the pool, transfer the write data to at least one of the set of flash packages corresponding to the allocated real page; receive the compression information from the flash packages; check if a virtual capacity of the set of flash packages in the RAID group has changed based on the compression information; and change the number of allocatable real pages in the pool based on the virtual capacity of set of flash packages in the RAID group if the virtual capacity of the set of flash packages in the RAID group has changed. a plurality of flash packages, each of which includes a processor, compression circuit (360A, 360B), and a plurality of flash chips, and a storage controller, which is connected to the plurality of flash packages and connectable to a host; wherein for each of the plurality of flash packages, the respective processor is configured to compress data received from the storage controller using the respective compression circuit (360A, 360B), store the compressed data in at least one of the plurality of flash chips, and provide compression information based on an amount of the compressed data stored in the flash packages, compress data received from the storage controller using the respective compression circuit (360A, 360B), store the compressed data in at least one of the plurality of flash chips, and provide compression information based on an amount of the compressed data stored in the flash packages, characterized in that the storage controller is configured to control a set of flash packages among the plurality of flash packages as a RAID group, manage a plurality of real pages in a pool area corresponding to storage space provided by the set of flash packages in the RAID group, provide a virtual volume comprising a plurality of virtual pages to a host, receive a write request indicating an address of the virtual volume for storing write data from the host, allocate one of allocatable real pages among the plurality of real pages from the pool to a virtual page corresponding to the address of the virtual volume in response to the write request, manage a number of allocatable real pages in the pool, transfer the write data to at least one of the set of flash packages corresponding to the allocated real page; receive the compression information from the flash packages; check if a virtual capacity of the set of flash packages in the RAID group has changed based on the compression information; and change the number of allocatable real pages in the pool based on the virtual capacity of set of flash packages in the RAID group if the virtual capacity of the set of flash packages in the RAID group has changed. control a set of flash packages among the plurality of flash packages as a RAID group, manage a plurality of real pages in a pool area corresponding to storage space provided by the set of flash packages in the RAID group, provide a virtual volume comprising a plurality of virtual pages to a host, receive a write request indicating an address of the virtual volume for storing write data from the host, allocate one of allocatable real pages among the plurality of real pages from the pool to a virtual page corresponding to the address of the virtual volume in response to the write request, manage a number of allocatable real pages in the pool, transfer the write data to at least one of the set of flash packages corresponding to the allocated real page; receive the compression information from the flash packages; check if a virtual capacity of the set of flash packages in the RAID group has changed based on the compression information; and change the number of allocatable real pages in the pool based on the virtual capacity of set of flash packages in the RAID group if the virtual capacity of the set of flash packages in the RAID group has changed.