How To: Read and Write CID on SD cards
How To Read CID on SD card
If you are looking to read the CID number of an SD card, or extract the CID off an SD card then you’ve find this article very helpful. Some also call this “reading the PSN off the SD card” or reading the product serial number off the SD card.
UPDATE (Feb 16, 2023):We learned the company which manufactures this product now offers the ability to write the CID value as well as write protect the Secure Digital media.
Most phones and much of the software on phones will lock in to the CID number of a SD card. The CID number is a unique card identifier number that is unique to the card itself. The CID number is valuable because software developers and hardware developers can lock software to the unique number of the device thus eliminating the ability to pass along licensed software.
Reading the CID number from an SD card is not an easy task. It requires specific access codes to the index table of the memory card, and unless you know how to use the SD chipset of your card reader, chances are you wont get the number…or least the correct and accurate number.
What is the CID number of an SD card?
The CID register is 16 bytes long and contains a unique card identification number. It is programmed during card manufacturing and cannot be changed by SD Card hosts. The CID number is a compilation of information about the card, such as manufacturer, date manufactured, checksum total, GB size and more. Below is a table outlining all the items which make up the SD CID number.
So with all this said, how do you read the CID number from an SD card? As we’ve mentioned it isn’t easy and it’s [more or less] hardware based. If you do enough searching on the internet you’ll find some home-brew code to read the CID numbers, but that’s only if you have the SD card or microSD card connected via an IDE bus to your host computer. This isn’t easy for everyone. There is clear evidence that using a USB to SD card reader will not get you the information you require, or at least accurate and correct information. Meaning most times the CID number generated is actually the serial number of the card reader itself, not the CID number of a specific SD card.
In addition, what if you are required to read the CID number off SD media in bulk? A single, one-at-a-time solution is not practical.
In my search to read the CID number from SD media, I cam across Nexcopy – a manufacturer of USB duplicator equipment and other flash memory equipment. Several models they carry are SD duplicators and microSD duplicators. With the secure digital duplicators part of their feature set includes reading CID numbers from SD media. The equipment can ready 20 cards at a time, 40 cards at a time, or 60 cards at a time, depending on the model. The duplicators will read the CID number and exported to a .csv file for import into other business functions. This configuration makes it quick and easy to obtain the CID number. Granted, the equipment is not designed for single use operation, but rather reading the CID of SD media in bulk quantity. Here is a screenshot of Nexcopy’s software reading 20 CID numbers:
I didn’t contact Nexcopy Incorporated for pricing of the equipment, but doing a quick search for the equipment shows me a price of about $1k for the smallest 20 target system and $3k for the largest, 60 target system.
With all this said, there is still no clear-cut method to read CID numbers off SD cards for the home-user, but maybe this article will at least explain why you haven’t found a good solution as of yet.
The CID (Card Identification) number is a unique identifier that is assigned to each Secure Digital (SD) card. The CID number is a 16-byte value that is used by the SD card host device to identify the SD card and to determine its capabilities.