Share via


SD_PARSED_REGISTER_CSD

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

This structure contains all the information obtained by parsing the CSD register of an SD Memory card.

Syntax

typedef struct _SD_PARSED_REGISTER_CSD {
  UCHAR CSDVersion;
  struct {
    DOUBLE TAAC;
    USHORT NSAC;
  }DataAccessTime;
  ULONG MaxDataTransferRate;
  USHORT CardCommandClasses;
  USHORT MaxReadBlockLength;
  BOOLEAN ReadBlockPartial;
  BOOLEAN WriteBlockMisalign;
  BOOLEAN ReadBlockMisalign;
  BOOLEAN DSRImplemented;
  ULONG DeviceSize;
  USHORT VDDReadCurrentMin;
  USHORT VDDReadCurrentMax;
  USHORT VDDWriteCurrentMin;
  USHORT VDDWriteCurrentMax;
  BOOLEAN EraseBlockEnable;
  UCHAR EraseSectorSize;
  UCHAR WPGroupSize;
  UCHAR WPGroupEnable;
  UCHAR WriteSpeedFactor;
  USHORT MaxWriteBlockLength;
  BOOLEAN CopyFlag;
  BOOLEAN PermanentWP;
  BOOLEAN TemporaryWP;
  SD_FS_TYPE FileSystem;
  UCHAR RawCSDRegister[16];
} SD_PARSED_REGISTER_CSD, *PSD_PARSED_REGISTER_CSD;

Members

  • CSDVersion
    4-bit CSD structure version.
  • DataAccessTime.TAAC
    TAAC field of the card specific data (CSD), in nanoseconds.
  • DataAccessTime.NSAC
    NASC field of the CSD, in units of clock-cycles.
  • MaxDataTransferRate
    Maximum data transfer rate, in kilobits per second.
  • CardCommandClasses
    12-bit command class support indicators.
  • MaxReadBlockLength
    Maximum read block length, in bytes. This value can be 512, 1024, and 2048.
  • ReadBlockPartial
    Partial block reads are allowed.
  • WriteBlockMisalign
    Misaligned block reads are allowed.
  • DSRImplemented
    Driver stage register (DSR) is implemented.
  • DeviceSize
    Calculated device memory size, in bytes.

Windows Embedded CE 6.0 R2 and later** **

For SD high capacity cards the device memory size is calculated in blocks, not bytes.
  • VDDReadCurrentMin
    VDD_R_CURR_MIN field of the CSD, in milliamps.
  • VDDReadCurrentMax
    VDD_R_CURR_MAX field of the CSD, in milliamps.
  • VDDWriteCurrentMin
    VDD_W_CURR_MIN field of the CSD, in milliamps.
  • VDDWriteCurrentMax
    VDD_W_CURR_MAX field of the CSD, in milliamps.
  • EraseSectorSize
    Number of write blocks that form an erasable sector. This value is equal to the SECTOR_SIZE field of the CSD plus one.
  • WPGroupSize
    Number of erase sectors that form a write-protect group. This value is equal to the WP_GRP_SIZE field of the CSD plus one.
  • WPGroupEnable
    Group write protection is enabled.
  • WriteSpeedFactor
    Block write time as a multiple of the read access time.
  • MaxWriteBlockLength
    Maximum write block length, in bytes.
  • WriteBlockPartial
    Partial block writes are allowed.
  • CopyFlag
    Copy control flag.
  • PermanentWP
    Permanent write-protect flag.
  • TemporaryWP
    Temporary write-protect flag.
  • FileSystem
    File system type.
  • RawCSDRegister
    16 bytes containing the raw CSD register data. Bit zero of the CSD data is the least significant bit of array element zero.

Requirements

Header sdcardddk.h
Windows Embedded CE Windows CE 5.0 and later

See Also

Reference

Secure Digital Card Driver Structures