It has 256GiB of capacity, however a little bit of it is used for over provisioning and the 1000/1024 byte conversion.
Over-provisioning (sometimes spelled as OP, over provisioning, or overprovisioning) is the difference between the physical capacity of the flash memory and the logical capacity presented through the operating system (OS) as available for the user. During the garbage collection, wear-leveling, and bad block mapping operations on the SSD, the additional space from over-provisioning helps lower the write amplification when the controller writes to the flash memory.
When an SSD is almost full, this could cause problems. Even for writing a small amount of data you need an completely empty block. For this reason SSDs have over-provisioning, which means more storage capacity present than is available. That this is possible without making consumers feel cheating is thanks to manufacturers of traditional hard disks.
1. The first level of over-provisioning comes from the computation of the capacity and the use of units for gigabyte (GB) where in fact it should be written as gibibyte (GiB). Both HDD and SSD vendors use the term GB to represent a decimal GB or 1,000,000,000 (10^9)bytes. Flash memory (like most other electronic storage) is assembled in powers of two, so calculating the physical capacity of an SSD would be based on 1,073,741,824 (2^30) per binary GB (GiB). The difference between these two values is 7.37% ((2^30-10^9)/10^9). Therefore a 128 GB SSD with 0% over-provisioning would provide 128,000,000,000 bytes to the user. This initial 7.37% is typically not counted in the total over-provisioning number. A 500 GB hard disk only has 466 GB available, also referred to as GiBs. A 256 GB SSD has 256 actual gigabytes (GiBs), but keeps 7.3 percent from being available to the OS. The rest is reserved for over-provisioning to make the controller more efficient.