Camera Memory Speed
Memory Card Comparison & Performance Tests for Digital Cameras

Internal SD Card Information

Information about an SD card is encoded in its internal card registries. One of these is the Card Identification (CID) Register, a 16 byte code that contains information that uniquely identifies the SD card, including the card serial number (PSN), manufacturer ID number (MID) and manufacture date (MDT). The CID register is set when the card is manufactured and cannot be changed after it is set. (According to SD card specification the information is only to be written once, however if a card does not conform to the specification this information could be changed!)

How to read the CID from an SD card

One way to read the CID is to use a laptop with an SD card slot. Card readers in laptops are usually connected directly through the PCI bus (or IDE bus). This will not work through a USB card reader because the command to retrieve the card information is intercepted and not understood by card readers. Not all computers with built-in card slots will work, some internal card readers are connected through a USB bus.

Assuming you have the proper hardware, there are several methods you can use to get the card information. With Linux, reading the internal SD card information is simple. Insert the card and look under /sys/block/mmcblk0/device/ (this location may change depending on your platform, it may be mmcblk1 or in a different location). Under this location you will see several attributes available that include the CID and CSD registers and the information inside it.

To view the CID, the command is cat /sys/block/mmcblk0/device/cid (the exact location may be different)

What information is in the CID?

The following information is stored in the CID:

NameFieldLinux attribute*Description
Manufacturer IDMIDmanfidAssigned by SD-3C, LLC.
OEM/Application IDOIDoemidIdentifies the card OEM and/or the card contents. Assigned by SD-3C, LLC.
Product NamePNMname5 characters long (ASCII)
Product RevisionPRVhwrev, fwrevTwo binary coded decimal (BCD) digits. Each is four bits. The PRV is in the form x.y. The PRV can also be found by using the hwrev and fwrev, where x=hwrev and y=fwrev
Serial NumberPSNserialThis 32 bit field is intended to be read as an unsigned integer
Manufacture Date CodeMDTdate Manufacture date is stored in the form yym (offset from 2000)
CRC7 checksumCRC7 bit code used for checking errors in the card register

* these are the attribute titles used for the card in Linux

For more information, refer to the SD Association Simplified Specifications.

List of Common Manufacturer ID (MID)

Manufacturer ID (MID) are assigned by the SD Assoication (SD-3C LLC). They consider this information confidential so an official list is not published.

The following list was compiled by reading the CID on numerous SD cards. Many card brands are produced by OEM suppliers, and the MID and OEMID may reflect this, or in some cases they appear to show the producer of the card controller. For example, PNY cards have been found with 0x000028 and BE (Lexar) or 0x000027 and PH (Phison).

CompanyMIDOEMIDCard brands found with this MID/OEMID
Panasonic0x000001PAPanasonic
Toshiba0x000002TMToshiba
SanDisk0x000003SD (some PT)SanDisk
Samsung0x00001bSMProGrade, Samsung
AData0x00001dADAData
Phison0x000027PHAgfaPhoto, Delkin, Integral, Lexar, Patriot, PNY, Polaroid, Sony, Verbatim
Lexar0x000028BELexar, PNY, ProGrade
Silicon Power0x000031SPSilicon Power
Kingston0x00004142Kingston
Transcend0x000074JE or J`Transcend
Patriot(?)0x000076��Patriot
Sony(?)0x000082JTGobe, Sony
0x00009cSOAngelbird (V60), Hoodman
0x00009cBEAngelbird (V90)

How can I use the information from the CID?

The CID information can be helpful in identifying counterfeit memory cards. We include the CID data in our SD card reviews so you may compare it with your cards.