Menu
Internal SD Card Information
On Windows 8.1, When ever I insert an SD card into my Card Reader port, Windows writes a System Volume Information Folder with a file. Serial number of the SD card, so just backing up the data isn't enough. How to Open SD Card on Windows 10. Therefore, how to open SD card on Windows 10, 8 or 7 if the computer doesn't even display the SD card as a removable disk? You have to find solutions here to work out the problem and try every means to make the computer recognize the memory card properly.
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:
Name | Field | Linux attribute* | Description |
---|---|---|---|
Manufacturer ID | MID | manfid | Assigned by SD-3C, LLC. |
OEM/Application ID | OID | oemid | Identifies the card OEM and/or the card contents. Assigned by SD-3C, LLC. |
Product Name | PNM | name | 5 characters long (ASCII) |
Product Revision | PRV | hwrev, fwrev | Two 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 Number | PSN | serial | This 32 bit field is intended to be read as an unsigned integer |
Manufacture Date Code | MDT | date | Manufacture date is stored in the form yym (offset from 2000) |
CRC7 checksum | CRC | 7 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).
Company | MID | OEMID | Card brands found with this MID/OEMID |
---|---|---|---|
Panasonic | 0x000001 | PA | Panasonic |
Toshiba | 0x000002 | TM | Toshiba |
SanDisk | 0x000003 | SD (some PT) | SanDisk |
Samsung | 0x00001b | SM | ProGrade, Samsung |
AData | 0x00001d | AD | AData |
Phison | 0x000027 | PH | AgfaPhoto, Delkin, Integral, Lexar, Patriot, PNY, Polaroid, Sony, Verbatim |
Lexar | 0x000028 | BE | Lexar, PNY, ProGrade |
Silicon Power | 0x000031 | SP | Silicon Power |
Kingston | 0x000041 | 42 | Kingston |
Transcend | 0x000074 | JE or J` | Transcend |
Patriot(?) | 0x000076 | �� | Patriot |
Sony(?) | 0x000082 | JT | Gobe, Sony |
0x00009c | SO | Angelbird (V60), Hoodman | |
0x00009c | BE | Angelbird (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.
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.
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.
.
Tags: microsd, nexcopy, read cid, sd card