CN102135859A - Flash memory card used for transmitting differential data - Google Patents
- ️Wed Jul 27 2011
CN102135859A - Flash memory card used for transmitting differential data - Google Patents
Flash memory card used for transmitting differential data Download PDFInfo
-
Publication number
- CN102135859A CN102135859A CN2010101026477A CN201010102647A CN102135859A CN 102135859 A CN102135859 A CN 102135859A CN 2010101026477 A CN2010101026477 A CN 2010101026477A CN 201010102647 A CN201010102647 A CN 201010102647A CN 102135859 A CN102135859 A CN 102135859A Authority
- CN
- China Prior art keywords
- signal
- memory card
- data
- differential
- serial Prior art date
- 2010-01-22 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
The invention discloses a flash memory card which comprises a differential data path; the differential data path enables the flash memory card to be communicated with a host device by using differential signals; the differential data path can control the reading/writing operations of a memory array of the flash memory card through translation between the differential signals and specific memory card signals; the specific memory card signals can be signals of a standard multimedia memory card, a safe digital memory card, a memory stick memory card, a compact flash memory card or the like; the host device can comprise a similar differential data path to achieve the differential data transmission capacity; and the integral data bandwidth between the flash memory card and the host device can be greatly increased, and energy consumption and requirements on pins are reduced simultaneously through differential data transmission, but not the known clock data transmission.
Description
Related patent applications: U.S. patent application No. 10/708,172, a partial Continuation In Part (CIP) of the U.S. patent of "Dual-peripheral Extended-USB Plug and receiving with PCI-Express Serial-AT-Attachment Extensions" filed on West Yuan 2002, 12/4.12.4.
Technical Field
The present invention relates to a removable memory card interface, and more particularly, to a high speed and low power consumption interface for a flash memory card.
Background
Flash memory cards are widely used to store digital images captured by digital cameras. The Secure Digital memory Card (SD) format is a very useful memory Card format, an extension of the earlier developed Multimedia Memory Card (MMC) format, which is thin and has an area as large as a postage stamp. Another digital file storage card format is the Memory Stick Memory card (MS) from Sony corporation, which looks somewhat like a piece of chewing gum. Compact Flash (CF) is another type of Flash memory card, roughly square, that is larger in size than Media Memory Cards (MMC) and secure digital memory cards (SD).
Flash memory cards may also be used as add-on memory cards for other devices, such as portable music players (portable music players), Personal Digital Assistants (PDAs), cell phones, and even notebook computers. The flash memory card has a hot swap function, so that a user can conveniently insert and remove the flash memory card without restarting or powering on. Since the flash memory card is small, durable, and portable, the data file can be easily transferred between electronic devices by copying the data file to the flash memory card. It is noted that some memory card formats, such as secure digital memory card (SD) and compact flash memory Card (CF), are not limited to use as flash memory cards, but may be used in other applications, such as communication transceivers.
Conventionally, a flash memory card transfers data via one or more clocked serial data lines (clock serial data lines), i.e., serial data is transferred via each data line according to a clock signal provided by a single clock line. Therefore, the data transfer rate of the conventional flash memory card is limited by the host clock rate (host clock rate). For example, FIG. 1A shows an interface between a conventional Multimedia Memory Card (MMC)110 and a conventional host device 130 (i.e., an electronic device such as a digital camera or MP3 player). The host device 130 includes a socket 131 and a host memory card controller 120 for communicating with the multimedia memory card 110. The host memory card controller 120 includes a multimedia memory
card data path121, a multimedia memory card protocol controller (processor) 122, and an
application translator123. Meanwhile, the multimedia memory card 110 includes a multimedia memory
card data path111, a multimedia memory card protocol controller (processor) 112, and a memory array 113.
The multimedia
card data paths121 and 111 provide the same basic functions for the host card controller 120 and the multimedia card 110, respectively, i.e., the multimedia card specific control signal CTRL and data signal DAT from the multimedia
card protocol controllers122 and 112, respectively, are converted into the clock command signal CMD and the serial data signal SDAT, respectively, which can be transmitted between the host card controller 120 and the multimedia card 110 through the
multimedia card bus150. The serial data signal SDAT and the clock command signal CMD are clocked by a clock signal CLK generated by the multimedia memory
card data path121. The multimedia
card data paths121 and 111 also convert the received serial data signal SDAT and clock command signal CMD into a data signal DAT and a status signal ST specific to the multimedia card, respectively. During these data transitions, the
multimedia card datapaths121 and 111 provide serial to parallel (serial to parallel) conversion of the input serial data signal SDAT and clock command signal CMD and parallel to serial (parallel to serial) conversion to produce the output serial data signal SDAT and clock command signal CMD, to perform frame detection (frame detection) to ensure correct read/write operations of the memory array 113, and to perform error checking (typically Cyclic Redundancy Check (CRC) to check the serial data signal SDAT and clock command signal CMD).
The multimedia
card protocol controllers122 and 112 in the host card controller 120 and the multimedia card 110, respectively, perform appropriate operations in response to the multimedia card-specific control signal CTRL, the status signal ST, and the data signal DAT. The main difference between the multimedia
card protocol controller122 in the host card controller 120 and the multimedia
card protocol controller112 in the multimedia card 110 is that the multimedia
card protocol controller122 operates under the control of the
application switch123 to request read and write operations of the multimedia card 110, and the multimedia
card protocol controller112 responds to those read and write requests by controlling the memory array 113. The multimedia memory card communication protocol is described in more detail in the multimedia memory card specification of version 3.31.
To perform data transfer between the host memory card controller 120 and the multimedia memory card 110, the multimedia memory card 110 is first inserted into the socket 131 (this insertion process is not shown in FIG. 1A for clarity of description) to initialize the multimedia memory card 110. The
application converter123 instructs the multimedia
card protocol controller122 to provide appropriate multimedia card-specific control signals CTRL (e.g., to perform a read operation) and appropriately formatted data signals DAT (e.g., read addresses) to the multimedia
card data path121 to generate multimedia card-specific command signals CMD and serial data signals SDAT (clocked by the clock signal CLK). The
application translator123 may generally be considered as a bridge between host-specific communications and memory card-specific communications.
The multimedia
card data path111 on the multimedia memory card 110 receives the command signal CMD and the serial data signal SDAT and converts these signals back to the appropriate status signal ST (e.g., read operation) and data signals (e.g., read address). With respect to these signals, the multimedia
card protocol controller112 performs a read or write operation on the memory array 113 and generates an appropriate response via the control signal CTRL (e.g., read success) and the data signal DAT (e.g., read data). The multimedia
card data path111 converts these signals into a clock command signal CMD and a serial data signal SDAT, which are sent to the multimedia
card data path121 on the host card controller 120, which in turn converts the clock command signal CMD and the serial data signal SDAT into an appropriate status signal ST (e.g., valid read data) and data signal DAT (e.g., read data). Finally, the multimedia
card protocol controller122 provides acknowledgement information and/or data signals from the status signal ST and the data signal DAT to the host device 130 (directly or through the application switch 123).
In this manner, data transfer is provided between the host device 130 and the multimedia memory card 110. The faster such communication operations can be performed, the more capable the multimedia memory card can handle larger data files (e.g., video files or movie files for high pixel digital cameras). Since the multimedia memory card uses a clock data transfer protocol (clocked data transfer protocol), a data bandwidth (data bandwidth) between the host device 130 and the multimedia memory card 110 is determined by the frequency of the clock signal CLK and the number of data lines transmitting the serial data SDAT.
For example, fig. 1B shows the mechanical appearance specifications of a
multimedia memory card110A of version 3.31 (i.e., the
multimedia memory card110A conforms to the multimedia memory card specification of version 3.31). The
multimedia memory card110A includes 7 contact pads (pins) and a pin assignment table as shown in Table 1 below.
TABLE 1
Pin numbering | Name (R) |
1 | |
2 | CMD |
3 | VSS1 |
4 | VDD |
5 | CLK |
6 | VSS2 |
7 | DAT0 |
As shown in Table 1,
pins3, 4, and 6 are power pins and are prepared to receive operating voltages VSS1, VDD, and VSS2, respectively.
Pin2 is an input/output (I/O) pin for receiving and responding to the clock command signal CMD, and
pin5 is for receiving the clock signal CLK. Finally,
pin7 is an input/output (I/O) pin for transferring data to and from the
multimedia memory card110A (
pin1 is not used in the multimedia memory card specification of version 3.31). Therefore, since the
multimedia memory card110A only includes a single data pin (pin 7), the only way to increase the data transmission rate is by increasing the frequency of the clock signal CLK provided at
pin5. However, the maximum clock frequency of the host controller of the multimedia memory card is generally limited to 20 megahertz (MHz) due to the attenuation of the signal transmitted to the multimedia memory card bus caused by propagation delay (propagation delays) and parasitics (e.g., stray capacitance and contact resistance). Therefore, the maximum data transfer rate of the multimedia memory card is 2.5 MB/sec.
To overcome this data bandwidth limitation, the latest multimedia memory card specification 4.0 increases the pin count in the mechanical form factor. FIG. 1C shows the mechanical specifications of the
multimedia memory card110B of the multimedia memory card specification 4.0, which has conventional pin assignments, listed in Table 2 below.
TABLE 2
1 | DAT3 |
2 | CMD |
3 | VSS1 |
4 | VDD |
5 | CLK |
6 | VSS2 |
7 | DAT0 |
8 | DAT1 |
9 | DAT2 |
10 | DAT4 |
11 | DAT5 |
12 | DAT6 |
13 | DAT7 |
The
multimedia memory card110B includes all the pins (as shown in FIG. 1B) of the
multimedia memory card110A, and 6 additional pins 8-13 are added to provide additional data paths. Also,
pin1 is not used in the multimedia memory card specification of version 3.31, and is also used to provide the data path for the
multimedia memory card110B of version 4.0. The pin assignment for the
multimedia memory card110B of version 4.0, as shown in FIG. 1C, provides an 8-bit (bit) wide data bus capable of a data bandwidth of 52 MB/sec and a host clock frequency of 52 MHz.
It is noted, however, that this method of increasing the data bandwidth by increasing the number of data input/output (I/O) pins has an adverse effect on the general trend toward reducing the size of flash memory cards. In addition, the addition of the data pins also increases the power consumption of the flash memory card, especially in the battery-powered device using the flash memory card.
The SD and mms cards have complementary card interfaces, often referred to as SD/MMC cards because they are commonly merged together, with a 3.31 version of the mms card having 7 metal contact pads and a 9 metal contact pads. Therefore, the multimedia memory card can be applied to the secure digital memory card slot, and the secure digital memory card can be sometimes applied to the multimedia memory card slot (the secure digital memory card is normally slightly thicker than the multimedia memory card, so that it may not be applied to a part of the multimedia memory card slot).
Fig. 2A is a flow chart illustrating a conventional host performing routine memory card detection, such as a pc host, when a memory card is inserted into a slot, such as by detecting a memory Card Detect (CD) pin, which is pulled up (pullhigh) through a resistor of a secure digital memory card or a mechanical switch actuation feature on a multimedia/secure digital memory card, in
step200. The host sends a sequence of commands including the CMD55 command to the inserted memory card in
step202. if the memory card does not properly respond to such a CMD55 command in
step204, then the inserted memory card is a multimedia memory card, rather than a secure digital memory card. In this example, a sequence of commands including the CMD1 command is sent to the multimedia card in
step206, and the multimedia card is initialized with a sequence of commands, such as a sequence of commands for the host to read configuration registers located on the multimedia card in
step208, and the host can then communicate with the multimedia card using the 7 pins shared by the multimedia card.
If the inserted memory card properly responds to the CMD55 command,
step204, the inserted memory card may be a secure digital memory card, and then a command including the step command ACMD41 is further sent to the inserted memory card,
step210, if the memory card does not properly respond to the step command ACMD41,
step212, the memory card is failed,
step214.
Assuming that the memory card properly responds to the ACMD41 command,
step212, the memory card is a secure digital memory card, and then the secure digital memory card is initialized by a serial command, such as the host can read configuration registers (configuration registers) on the secure digital memory card,
step216, the host uses 9 pins of the secure digital memory card interface to communicate with the secure digital memory card, the host can use one or more than four data signal lines of the secure digital memory card interface to communicate, depending on the environment of communication (such as data structure, quality of memory card slot connection, etc.), and the data stored in the secure digital memory card can be encrypted (encrypted) by a high-level security protocol.
Fig. 2B is a flow diagram illustrating a conventional routine detection response performed by the secure digital memory card, after being inserted into the host slot and powered on, the secure digital memory card is powered through the metal contact pads,
step220, and then a memory card initialization routine is initiated,
step222, which may include various internal self-checks, and the controller within the secure digital memory card will execute these routines, initiate an external interface, and then wait (and respond) for a command from the host. The secure digital memory card controller in the memory card waits for a command CMD55 from the host,
step224, and a command ACDM41 from the host,
step226, and then responds with an Operating Conditions Register (OCR) to the host,
step228. At this time, the SD card waits for further commands from the host, in
step230, all 9 pins of the SD card interface are used.
It should be noted that, since the secure digital memory card has more pins than the multimedia memory card of version 3.31, the transmission rate of the secure digital memory card is higher than that of the multimedia memory card of version 3.31. The current secure digital memory card interface supports a transmission rate of up to 100 Mb/sec, which is quite sufficient for many application levels. However, some applications, such as Full Motion Video (FMV) storage or transmission, require higher transmission rates, and future applications only become bandwidth intensive. Therefore, the secure digital memory card interface is bound to have a bandwidth (and power) issue similar to the multimedia memory card interface described in fig. 1B and 1C, and other flash memory card protocols use the clock data transmission methodology, so similar bandwidth limitation issues are encountered.
Other Bus interfaces not used in flash memory cards sometimes provide higher transfer rates, for example, Universal Serial Bus (USB) up to 480 Mb/sec, while a Peripheral Component Interconnect Express (PCIE) interface can achieve a transmission rate of 2.5 Gb/s and a Serial Advanced Technology Attachment (SATA) interface can achieve a transmission rate of 1.5 Gb/s and 3.0 Gb/s, which are two examples of high-speed Serial bus interfaces for next-generation devices, however, due to the requirement of larger interface size, both PCIE and SATA are almost used as internal expansion interfaces for personal computers, for example, SATA requires two separate connectors, one 7 pin connector for carrying signals and another 15 pin connector for providing the required power.
Two bus interfaces, which are often used as peripheral devices outside a personal computer, are IEEE1394 (Firewire) and Serial Attached small computer System Interface (Serial Attached SCSI), which can provide high-speed data bandwidth, the Firewire supports a data transmission rate of up to 3.2 Gb/sec, and the SCSI supports a data transmission rate of 1.5 Gb/sec or 3.0 Gb/sec; these data transfers are all 5 to 32 times faster than the maximum data transfer rate of the secure digital memory card.
One new form of removable Memory Card form factor is the well-known ExpressCard developed by the International Personal Computer Memory Card Association (PCMCIA), Peripheral Component Interconnect (PCI), and Universal Serial Bus (USB) standards group, which is roughly 75 mm long, 34 mm wide, and 5 mm thick and has an ExpressCard connector that provides both USB and PCIE interfaces with the same 26-pin Memory Card connector, however, the larger 26-pin connector of the ExpressCard limits its use and increases the overall size of the device in which it is used.
Therefore, some bus interfaces can provide much higher data transfer rates than conventional flash memory cards, however, the larger connector size of these bus interfaces (and the increased power requirements) makes them incompatible with the smaller form factor and lower power consumption of conventional flash memory cards, and therefore there is a need for a flash memory card and protocol that allows for increased data transfer bandwidth without increasing the size of the interface and/or the power consumption.
Disclosure of Invention
To solve the bandwidth limitation problem of the conventional flash memory card, the flash memory card protocol can be implemented by providing differential data transmission, and the existing physical and electronic specifications of the flash memory card can be maintained while replacing the clock data transmission methodology (clocks) with the differential data transmission to increase the data bandwidth and reduce the power consumption. According to one embodiment of the present disclosure, the Clock (CLK) and Command (CMD) circuits of the conventional flash memory card interface protocol may also be reserved to provide backward (i.e., legacy) compatibility and to provide initialization of the memory card.
In one embodiment, a flash memory card (e.g., a multimedia memory card, a secure digital memory card, a compact flash memory card, or a memory stick card, etc.) may include a flash memory array, a protocol controller for accessing the flash memory array, and a differential data path (differential data path) for converting an input differential signal into an input data signal and/or a status signal to the protocol controller, and for converting an output data signal and/or a control signal from the protocol controller into an output differential signal.
In another embodiment, a host device configured to receive a flash memory card may include a host memory card adapter including a protocol controller to perform memory card specific communications, an application adapter to provide application specific communications and a bridge between the protocol controllers, and a differential data path to convert input differential signals to input data and/or status signals to the protocol controller and to convert output data and/or control signals from the protocol controller to output differential signals.
In another embodiment, the flash memory card and/or the host memory card adapter at the host device may further comprise legacy data paths for converting input clock data and command signals to input data and/or status signals to the protocol controller, and for converting output data and/or control signals from the protocol controller to output clock data and/or command signals, respectively, the legacy data paths allowing the flash memory card and/or the host device to communicate with a conventional (i.e., clock data based) host device and/or the flash memory card, respectively.
In another embodiment, the protocol controller located in the flash memory card and/or the host memory card adapter may be a standard protocol controller (such as a multimedia memory card, secure digital memory card, or memory stick memory card protocol controller) as long as the differential data path can properly convert communications from a particular memory card to differential communications, so that the function of differential data transfer can be easily implemented in existing host devices (e.g., through hardware replacement or firmware upgrade).
For further understanding of the objects, features and functions of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings:
drawings
FIG. 1A is a block diagram illustrating a communication interface between a conventional multimedia memory card and a host device;
FIG. 1B is a diagram illustrating a pin arrangement of a conventional version 3.31 of a multimedia memory card;
FIG. 1C is a diagram illustrating a pin arrangement of a conventional version 4.0 of a multimedia memory card;
FIG. 2A is a flow chart illustrating routine memory card detection performed by a conventional host;
FIG. 2B is a flow chart illustrating a conventional routine detection response performed by the secure digital memory card;
FIG. 3 is a schematic diagram of a secure digital memory card host receiving a multimedia memory card, a secure digital memory card, and an ultra-high speed secure digital memory card;
FIG. 4 is a schematic diagram of an extended ultra-high speed secure digital memory card host receiving a multimedia memory card, a secure digital memory card, and an ultra-high speed secure digital memory card;
FIG. 5 is a flow chart illustrating a routine memory card detection performed by the SSSD host;
FIG. 6 is a flow chart illustrating a routine very high speed SD card detection response performed by the very high speed SD card;
FIG. 7 is a block diagram of a host with a secure digital memory card connector that supports extended mode communication;
FIG. 8 is a block diagram of an ultra high speed SD card device with an SD card connector that supports communication in an extended mode of an ultra high speed SD card;
FIG. 9 is a functional diagram of a signal multiplexer;
FIG. 10 is a signal multiplexing table showing a secure digital memory card connector having 9 pins;
FIG. 11 is a signal multiplexing table showing a multimedia memory card connector with 7 pins;
FIG. 12A is a signal multiplexing table showing an extended connector with 13 pins;
FIG. 12B is a signal multiplexing table showing a memory stick memory card system with 10 pins;
FIG. 13A is a schematic diagram illustrating an embodiment of a host device and a flash memory card with differential data transmission capability;
FIG. 13B is a schematic diagram illustrating an embodiment of communication between a host device and a flash memory card enabling differential data transmission;
14A, 14B, 14C, and 14D illustrate exemplary pin configurations that can be used with various flash memory cards to incorporate differential data transfer;
FIG. 15A is a schematic diagram of an embodiment of a differential data path for a flash memory card;
FIG. 15B is a schematic diagram of an embodiment of a differential data path for a host device;
FIG. 16A is a schematic diagram illustrating a detailed embodiment of a differential serial interface engine for generating (and decoding) serial differential data signals in a flash memory card; and
FIG. 16B is a schematic diagram illustrating a detailed embodiment of a differential serial interface engine for generating (and decoding) serial differential data signals in a host device.
Description of reference numerals:
910-and gate; 110-multimedia memory card; 110A-multimedia memory card; 110B-multimedia memory card; 111-multimedia memory card datapath; 112-multimedia memory card protocol controller; 113-a memory array; 912-output buffer; 120-host memory card controller; 121-multimedia memory card datapath; 122-multimedia memory card protocol controller; 123-application converter; 130-a host device; 1301-flash memory card; 1301A-multimedia memory card compatible memory card; 1301B-multimedia memory card compatible memory card; 1301C-secure digital memory card; 1301D-memory stick memory card; 1302-a host device; 1303-slot; 131-a socket; 1310 — a memory array; 1320-protocol controller; 1321-core engine; 1322-buffer random access memory; 1323-error checking circuitry; 1330 — differential data path; 1330L — legacy data path; 1331-a differential serial interface engine; 1332-a differential transceiver; 1340-host memory card controller; 1350-apply the converter; 1360-protocol controller; 1361-core engine; 1362-buffer random access memory; 1363-error checking circuit; 1370-differential data path; 1370L-legacy datapath; 1371-differential serial interface engine; 1372-differential transceiver; 1390 — memory card bus; 1391 — physical layer; 1392-protocol layer; 1393-application layer; 14-an input buffer; 150-multimedia memory card bus; 16-an AND gate; 1621-read fifo; 1622-a parallel to serial converter; 1623-an encoder; 1624-cyclic redundancy check generator; 1625-command/data setup circuitry; 1626-a synchronous generator; 1627-end of packet generator; 1631-write FIFO; 1632-a serial to parallel converter; 1633-a decoder; 1634-a cyclic redundancy check detector; 1635-a command/data detector; 1636-a synchronous detector; 1637-an end of packet detector; 1638-start frame detector; 1639-phase locked loop; 1641-write to fifo; 1642-parallel to serial converter; 1643-an encoder; 1644-cyclic redundancy check generator; 1645-command/data set circuit; 1646-synchronous generator; 1647-start frame/end of packet generator; 1651-read FIFO; 1652-serial to parallel converter; 1653-a decoder; 1654-cyclic redundancy check detector; 1655-command/data detector; 1656-synchronous detector; 1657-end of packet detector; 1659-phase locked loop; 18-an output buffer; 20-an input buffer; 22-signal lines; 30-secure digital memory card; 32-multimedia memory card; 34-ultra high speed secure digital memory card; 36-secure digital memory card bus; 38-secure digital memory card host; 39-secure digital memory card host controller; 40-ultra high speed secure digital memory card bus; 42-ultra-high speed secure digital memory card host; 50-ultra high speed secure digital memory card connector slot; 50' -a secure digital memory card receptacle; 50 "-multimedia memory card socket; 51-a host; 51' -a super high speed secure digital memory card host system; 52-multipurpose bus switch; 53-multipurpose bus interface system; 54-a purpose selector; 56-secure digital memory card protocol processor; 58-multimedia memory card protocol processor; 60-universal serial bus protocol processor; 62-PCI-Express protocol processor; 64-SATA protocol processor; 66-IEEE 1394 protocol processor; 68-a host processor system; 70-ultra high speed secure digital memory card plug; 71-ultra high speed secure digital memory card device; 72-multipurpose bus switch; 73-multipurpose bus interface system; 74-a purpose selector; 75-secure digital memory card host system; 76-secure digital memory card protocol processor; 77-multimedia memory card host system; 78-multimedia memory card protocol processor; 80-universal serial bus protocol processor; 82-PCI-Express protocol processor; 84-SATA protocol processor; 86-IEEE 1394 protocol processor; 88-a device processor system; 900-a signal multiplexer; 1-11-pins; P1-P9-pin; M1-M10-pins; S1-S9-pin.
Detailed Description
Conventional flash memory cards and devices using the same have relatively low data transfer rates, which may limit the implementation of the flash memory cards on applications that use large amounts of bandwidth (bandwidth intensive). By enabling the differential data transfer protocol for flash memory cards, the data transfer rate for input/output of these flash memory cards can be significantly increased without requiring additional pins or increasing the size of the overall memory card.
The differential data transfer function may be combined with legacy (legacy) functions (clocked data transfer) to increase compatibility of the flash memory card. For example, a SD card adapted to use a high-speed serial bus may be called a Very-high-speed SD card (VSD card), and a host capable of communicating with the VSD card may be a Very-high-speed SD card host, a Very-high-speed SD card with an old function may be used as a SD card when the old SD card host is inserted, and the Very-high-speed SD card host with the old function may read the inserted SD card, so that the Very-high-speed SD card is backward compatible with the host.
For example, FIG. 3 shows a secure digital
memory card host38 receiving a multimedia memory card (MMC card)32, a secure digital memory card (SD card)30, or a very high speed secure digital memory card (VSD card)34, the
host38 including a legacy secure digital memory
card host controller39 that detects and receives either the secure
digital memory card30 or the
multimedia memory card32. When the ultra-high
speed SD card34 is inserted, the SD
card host controller39 detects a card as a SD card and sets the ultra-high
speed SD card34 as a SD card operating on the standard 9 pins and the
SD card bus36.
The
multimedia memory card32 has only 7 metal pads, so the digital
memory card bus36 uses 2 fewer wires than the secure
digital memory card30, in other words, the secure
digital memory card30 has two additional metal pads, which are not included in the
multimedia memory card32, specifically, one additional metal pad is added on the edge of the secure
digital memory card30 forming the bevel, and the other additional metal pad is added on the other side of the 7 metal pads. The ultra-high speed secure
digital memory card34 has the same 9-pad configuration as the secure
digital memory card30 and can communicate with the secure digital
memory card host38 using standard secure digital memory card interfaces and protocols via the secure digital
memory card bus36.
FIG. 4 shows an extended ultra-high speed
SD card host42 that can receive the
multimedia memory card32, the
SD card30, or the ultra-high
speed SD card34. The extended ultra-high speed secure digital
memory card host42 is an ultra-high speed secure memory card host that detects and receives the
multimedia memory card32, the secure
digital memory card30, or the ultra-high speed secure
digital memory card34. When the
multimedia memory card32 is inserted, the extended ultra-high speed secure digital
memory card host42 communicates with the protocol using the multimedia memory card pins using the 7 pins of the ultra-high speed secure digital
memory card bus40; when the
SD card30 is inserted, the
host42 uses 9 pins of the
super-speed SD bus40 to communicate with the protocol using the SD pins.
When the ultra-high-speed secure
digital memory card34 is inserted, the ultra-high-speed secure digital memory
card host controller41 of the extended ultra-high-speed secure digital
memory card host42 detects an ultra-high-speed secure digital memory card and sets the ultra-high-speed secure
digital memory card34 to operate in an extended mode, and performs transmission through the ultra-high-speed secure digital
memory card bus40 using a high-speed serial bus standard such as a Universal Serial Bus (USB). Higher bandwidth data transfers may also be made via the ultra-high speed secure digital
memory card bus40 using a serial bus standard such as universal serial bus, IEEE1394, SATA or PCI Express.
The ultra-high speed
digital memory card34 has the same configuration of 9 pads as the
digital memory card30, but includes an internal controller (not shown) that can couple an internal serial bus controller to the pads instead of the normal digital memory card controller. For example, when the ultra-high speed secure
digital memory card34 is operating in the extended ultra-high speed secure digital memory card mode, a USB controller inside the ultra-high speed secure
digital memory card34 may be coupled to the metal pads.
FIG. 5 is a flow chart of the extended VLSD card performing routine detection via the VLSD host. The host, such as a PC host, detects when the memory card is inserted into the slot, such as by detecting a card detect pin (CD) that is pulled up (pull high) by a resistor on the SD card or the SSD card, or by detecting a memory card switch that is actuated by a mechanical feature on the memory card, step 240. The host of the ultra-high speed secure digital memory card sends a serial command containing a command CMD55 to the inserted memory card in step 242. if the memory card does not respond properly to the command CMD55 in step 244, the memory card may be a multimedia memory card or a single mode memory card, rather than a secure digital memory card or an ultra-high speed secure digital memory card. Then, a serial command including a CMD1 command is transmitted to the memory card (block 246), if the memory card responds properly to the CMD1 command, the memory card is a multimedia memory card, and the multimedia memory card is initialized by the serial command, such as the host reads configuration registers (configuration registers) on the multimedia memory card (block 248), the host uses 7 pins in common to communicate with the multimedia memory card, and if the memory card does not respond properly, the host may try to communicate with the memory card by switching to a different mode.
If the inserted memory card responds appropriately to the CMD55 command in step 244, the memory card may be an ultra-high speed secure digital memory card or secure digital memory card, and then further transfers a command including an advanced ultra-high speed secure digital memory card command ACMD1 in step 250, if the memory card does not respond appropriately to the ACMD1 command in step 252, the memory card may not be an ultra-high speed secure digital memory card. The CMD55 command and the following serial command of ACMD41 command are sent again in step 254, wherein the ACMD1 command is a specially defined advanced command that only the ultra-high speed secure digital memory card responds in a predetermined manner, for example, the ultra-high speed secure digital memory card may respond to a unique code (unique code) that is used only by the ultra-high speed secure digital memory card.
If the card properly responds to the CMD55 command and the ACMD41 command, as in step 256, the card is a secure digital card, which is then initialized by a serial command, such as a host reading configuration registers (configuration registers) on the secure digital card, as in step 258. The host uses 9 pins of the interface of the secure digital memory card to communicate with the secure digital memory card, the host can use one data signal line or more than four data signal lines of the interface of the secure digital memory card to communicate, and the data stored in the secure digital memory card can be encrypted by a high-level security protocol (encrypted).
If the memory card does not properly respond to the CMD55 command and the ACMD41 command, in step 256, the memory card is another type of memory card and further memory card identification can be performed or a routine memory card detection fails.
If the memory card properly responds to the ACMD1 command in step 252, the memory card is a super-speed secure digital memory card in step 262, and the expansion host can analyze the response of the memory card to this command or other commands in step 264 to establish the purpose and properties (capabilities) of the super-speed secure digital memory card in step 266.
The ultra-high speed secure digital memory card is then initialized by a serial command, such as the host reading configuration registers (configuration registers) on the ultra-high speed secure digital memory card, step 268. One of the expansion serial bus protocol processors is enabled and connected to 9 pads of part of the ultra-high speed secure digital memory card to allow data transfer in the expansion mode.
FIG. 6 is a flow chart illustrating the routine detection response of the ultra-high speed SD card executed by the ultra-high speed SD card. When inserted into the host slot and powered on, the ultra-high speed secure digital memory card is powered through the metal contact pads,
step280, and then a memory card initialization routine is initiated,
step282, which may include various internal self tests, the controller within the ultra-high speed secure digital memory card will execute these routines, initiate the external interface, and then wait for a command from the host, if it is a single mode memory card, then wait for the host to switch to the same mode for communication, and wait for a CMD55 command from the host if it is not a single mode memory card,
step284.
When the CMD55 command is received from the host, the controller waits for the ACMD1 command from the host,
step286, and the ultra-high speed SD card responds to the ACMD1 command from the host by indicating the available extended serial bus protocol supported by the card,
step288, and the host selects an available protocol from the list that is also supported by the host, and the card changes its bus transmitter to connect one of the extended serial bus protocol processors to the 9 pins of a portion of the SD card,
step290, which may support, for example, a universal serial bus.
The host sends a command to the ultra high speed secure digital memory card indicating the protocol used,
step292, the ultra high speed secure digital memory card will then initialize the selected protocol processor and couple it to the appropriate pins of the ultra high speed secure digital memory card bus, and the ultra high speed secure digital memory card will then receive further commands from the host,
step294.
Referring now to the system block diagrams, FIGS. 7-8.
FIG. 7 is a diagram of a
host system51 having an ultra-high speed SD
card connector slot50 that supports extended mode communication, and an ultra-high speed SD
card connector slot50 into which a
multimedia memory card32, a
SD card30, or an ultra-high
speed SD card34 may be inserted into the
host51, each of which will operate in a respective standard mode.
The
host system51 has a processor system 68 for executing various programs including a memory card manager, a bus scheduler, etc., and a multi-purpose bus interface (USB) system 53 for processing data from the host processor system 68 using various protocols. The processor 56 processes data by using the SD card protocol and inputs and outputs data on the SD card data signal line in the SSC
card connector slot50. Other protocols for communication with the ultra-high speed secure digital memory
card connector slot50 are selected through the multipurpose bus switch 52 to operate with the appropriate protocol processor.
The contact pins in the ultra high speed secure digital memory
card connector slot50 are connected to the multipurpose bus switch 52 and the secure digital memory card protocol processor 56. A transmitter (not shown) located in the multipurpose bus switch 52 buffers data from and to paired transmit and receive differential data signal lines located in extended protocol metal contacts such as peripheral component interconnect express (pci express), Firewire (Firewire) IEEE1394, serial attached small computer systems interface (serial attached SCSI), and serial advanced attachment technology (SATA), even earlier Multimedia Memory Cards (MMC).
When routine initialization by the host processor system 68 determines that the inserted memory card is a multimedia memory card, the multimedia memory card protocol processor 58 is enabled to communicate with the
multimedia memory card32 inserted into the ultra-high speed sd memory
card connector slot50 and the sd memory card protocol processor 56 is disabled. When the host processor system 68 determines that the inserted memory card is a multimedia memory card, the
usage selector54 sets the multi-purpose bus switch 52 to connect the MSD
card connector slot50 to the multimedia memory card protocol processor 58; when the inserted memory card is the secure
digital memory card30, the secure digital memory card protocol processor 56 continues to communicate with the memory card after initialization is complete.
When routine initialization is performed by the host processor system 68 and the inserted memory card is determined to be an ultra-high speed secure
digital memory card34, the SD protocol processor 56 continues to communicate with the ultra-high speed secure
digital memory card34 until the capabilities of the ultra-high speed secure
digital memory card34 are determined. Next, one of the higher speed serial bus protocols is selected for use, for example, when the host processor system 68 determines that the
SSC34 supports the PCI Express (PCIE) protocol, the
usage selector54 configures the multi-purpose bus switch 52 to connect the SSC
card connector slot50 to the PCIE protocol processor 62. Then, when the PCIE expansion mode is enabled, the host processor system 68 communicates with the PCIE protocol processor 62 instead of the secure digital memory card protocol processor 56.
When routine initialization is performed by the host processor system 68 and it is determined that the inserted memory card is the
VHSD card34 and USB enabled, the
usage selector54 sets the multipurpose bus switch 52 to connect the VHSD
card connector slot50 to the USB protocol processor 60, and then when the USB expansion mode is enabled, the host processor system 68 communicates with the USB protocol processor 60 instead of the SD protocol processor 56.
When routine initialization is performed by the host processor system 68 and it is determined that the inserted memory card is an ultra-high speed secure
digital memory card34 and SATA is supported, the
usage selector54 sets the multi-purpose bus switch 52 to connect the ultra-high speed secure digital memory
card connector slot50 to the
SATA protocol processor64, and then when the SATA expansion mode is enabled, the host processor system 68 communicates with the
SATA protocol processor64 instead of the secure digital memory card protocol processor 56.
When routine initialization is performed by the host processor system 68 and it is determined that the inserted memory card is an ultrafast
digital memory card34 and Firewire is supported, the
usage selector54 sets the multipurpose bus switch 52 to connect the ultrafast digital memory
card connector slot50 to the IEEE1394 protocol processor 66, and then, when the IEEE1394 extended mode is enabled, the host processor system 68 communicates with the IEEE1394 protocol processor 66 instead of the secure digital memory card protocol processor 56.
The ultra-high speed secure
digital memory card34 may also support more than one extended protocol and the host processor system 68 may then also be selected from the supported protocols. For example, the host processor system 68 may select the fastest protocol available, noting in particular here that the
host system51 may not support all of the protocols as depicted in FIG. 7, but may only support a subset of the described protocols.
FIG. 8 is a block diagram of an ultra high speed
SD card device71 with a SD card connector and supporting an ultra high speed SD card extended mode communication. In one embodiment, the ultra-high speed secure digital
memory card device71 may be the ultra-high speed secure
digital memory card34 shown in FIG. 7, and in another embodiment, the ultra-high speed secure
digital memory card34 may be a subset of all protocol processors of the ultra-high speed secure digital
memory card device71, and similarly, the ultra-high speed secure digital memory card host system 51' may be the
same host system51 shown in FIG. 7, or a subset of all protocol processors of the
host system51.
The ultra-high speed secure digital memory card plug 70 of the ultra-high speed secure digital
memory card device71 can be inserted into the ultra-high speed secure digital
memory card socket50 of the ultra-high speed secure digital memory card host system 51 ', and the ultra-high speed secure digital memory card plug 70 of the ultra-high speed secure digital
memory card device71 can be inserted into the secure digital memory card socket 50' of the secure digital memory card host system 75, which does not support the ultra-high speed secure digital memory card mode; alternatively, the ultra-high speed secure digital memory card plug 70 of the ultra-high speed secure digital
memory card device71 may be inserted into the multimedia
memory card socket50 "of the multimedia memory card host system 77, which also does not support the ultra-high speed secure digital memory card mode, but supports the multimedia memory card or Serial Peripheral Interface (SPI) mode.
The ultra-high speed secure digital
memory card device71 has a device processor system 88 for executing a program including memory card initialization and bus response, a multipurpose bus interface system 73 for processing data from the device processor system 88 using various protocols, a secure digital memory card protocol processor 76 for processing data using a secure digital memory card protocol and inputting/outputting data on a secure digital data signal line of the ultra-high speed secure digital memory card plug 70, and the other communication protocol processors for communicating with the ultra-high speed secure digital memory card plug 70 through a multipurpose bus switch 72, which selects one of the protocol processors for performing communication.
Contact pins in the superspeed secure digital memory card plug 70 are connected to the multipurpose bus switch 72 and the secure digital memory card protocol processor 76. a transmitter (not shown) located in the multipurpose bus switch 72 buffers data from and from paired transmit and receive differential data signal lines located in extended protocol metal contacts such as PCI Express, Firewire IEEE1394, SerialAttached SCSI, and SATA, and even earlier multimedia memory cards.
When the routine executed by the host processor system 88 is initialized to a command using a multimedia memory card compatible Serial Peripheral Interface (SPI) mode, and when the host is the multimedia memory card host system 77, the multimedia memory card protocol processor 78 is enabled to communicate with the multimedia memory card host system 77 connected to the ultra-high speed secure digital memory card plug 70, and the secure digital memory card protocol processor 76 is disabled. The
usage selector74 sets the multi-purpose bus switch 72 to connect the ultra-high speed SD card plug 70 to the multimedia card protocol processor 78 when the device processor system 88 is instructed to use the multimedia card compatible mode, and the SD card protocol processor 76 continues to communicate with the SD card protocol processor 76 after initialization when the host is the SD card host system 75.
When the routine initialization is performed by the host and it is determined that the ultra-high speed
SD card device71 and the ultra-high speed SD card host system 51 'both support the ultra-high speed SD card mode, the ultra-high speed SD card host system 51' sends a command to the device processor system 88 via the SD card protocol processor 76 to switch to the ultra-high speed SD card mode. Then, one of the higher speed serial bus protocols is selected for use, for example, when the processor system 88 is instructed to use PCI Express, the
usage selector74 sets the multi-purpose bus switch 72 to connect the MSD card connector plug 70 to the PCI Express protocol processor 82, and then when the PCI Express expansion mode is enabled, the processor system 88 communicates with the PCI Express protocol processor 82 instead of the SDH protocol processor 76.
When routine initialization is performed by the host and it is determined that the inserted memory card supports the UHSD memory card with USB, the device processor system 88 is commanded to switch to USB mode, the
usage selector74 sets the multi-purpose bus switch 72 to connect the UHSD card connector plug 70 to the USB protocol processor 80, and then, when the USB expansion mode is enabled, the device processor system 88 communicates with the USB protocol processor 80 instead of the SD protocol processor 76.
When routine initialization is performed by the host and it is determined that the inserted memory card supports an ultra-high speed secure digital memory card with SATA, the device processor system 88 is commanded to switch to SATA mode, the
usage selector74 sets the multi-purpose bus switch 72 to connect the ultra-high speed secure digital memory card connector plug 70 to the
SATA protocol processor84, and then, when SATA expansion mode is enabled, the processor system 88 communicates with the
SATA protocol processor84 instead of the secure digital memory card protocol processor 76.
When routine initialization is performed by the host and it is determined that the inserted memory card supports the Firewire ultra-high speed secure digital memory card, the device processor system 88 is commanded to switch to the Firewire mode, the
usage selector74 sets the multi-purpose bus switch 72 to connect the Firewire connector plug 70 to the IEEE1394 protocol processor 86, and then, when the IEEE1394 extended mode is enabled, the processor system 88 communicates with the IEEE1394 protocol processor 86 instead of the secure digital memory card protocol processor 76.
It is particularly noted that the ultra-high speed secure digital
storage card device71 may not support all of the protocols as depicted in FIG. 8, and in some embodiments the ultra-high speed secure digital
storage card device71 may only support a subset of the various protocols described.
FIG. 9 is a functional diagram of a
signal multiplexer900, which can be incorporated in the
host system51 of FIG. 7 or the ultra-high-speed
SD card device71 of FIG. 8. For example, the
multiplexer900 may be used to provide contacts (pins) to the
connector slot50 of the sd memory card of the
host system51 or the connector plug 70 of the sd memory card of the
sd memory device71 with multiple functions (see fig. 10, 11, 12A and 12B, respectively).
900 is configured to provide/receive signal AIN/AOUT from interface A (not shown) or signal BIN/BOUT from interface B (not shown). For example, the interfaces a and B may be an ultra-high speed sd card or an sd card protocol processor of a host system and an ultra-high speed sd card protocol processor, respectively, and the
multiplexing signal line22 may be a connector for connecting a metal pad on a memory card or a signal line of an internal bus.
The
input buffer14 buffers the
signal line22 to generate the signal AIN to the interface A, and the
input buffer20 buffers the
signal line22 to generate the signal BIN to the interface B, when the input/
output signal line22 is the output or driving signal, the output enable signal OE is activated to high. When interface A is enabled, ENA is logic high AND AND
gate910 drives a logic high to enable
output buffer912, which drives AOUT onto
signal line22. When interface B is enabled, ENB is logic high AND AND
gate16 drives a logic high to enable
output buffer18, which drives BOUT onto
signal line22.
It is noted that additional interfaces C, D (i.e., other communication protocol processors) may be multiplexed on the
same signal line22 by adding and gates and input/output buffers.
Furthermore, additional enable signals ENC, END, etc. can be generated, and these interfaces can be in the specifications of multimedia memory card, USB, SATA, IEEE1394, PCIE, and secure digital memory card, etc.
Interface pin distribution table
FIG. 10 is a table of multiplex signal distribution for a SD card connector with 9 pins. The power supply VDD is provided at the
pin4, the ground terminal is provided at the pin 3(VSS1) and the pin 6(VSS2), respectively, the clock is input to the memory card at the
pin5, and the
pin7 is the input/output serial data DAT0 of the interfaces such as the multimedia memory card, the secure digital memory card, the universal serial bus, PCIE, STAT, IEEE1394, etc.
2 is a bidirectional command CMD signal line for multimedia memory cards, secure digital memory cards, universal serial buses, and is the data input DIN to the Serial Peripheral Interface (SPI), which is a standard for complete bidirectional, synchronous serial data communication across multiple microprocessors, microcontrollers, or peripheral devices. The serial peripheral interface starts the communication between the microprocessor and the peripheral device and/or the communication between the processors, and the serial peripheral interface mode is a subset of a multimedia memory card and a secure digital memory card protocol; the serial peripheral interface has a chip select signal CS at
pin1 and a data out to host signal DOUT at
pin7, while the serial peripheral interface and the multimedia memory card interface do not use
pins8 and 9.
For a secure digital memory card interface, up to four data signal lines may be used simultaneously, although only one data signal line may be used for a particular communication session, for example, during an initialization process of the memory card. Data line DAT0 is at
pin7, data line DAT1 is at
pin8, data line DAT2 is at
pin9, and data line DAT3 is at
pin1.
When the ultra-high speed secure digital memory card mode is enabled and the USB protocol is selected, serial USB data is transmitted bi-directionally over the USB differential data lines D +, D-. The CMD signal line, the CLK signal line, and the DAT0 signal line are still connected to the SD card processor, allowing the 1-bit data DAT0 secure digital memory card to communicate when the USB function is not available.
When the ultrafast digital memory card mode is activated and the PCIE protocol is selected, the serial PCI data is transmitted through two pairs of differential data lines (i.e., the transmission lines Tp0, Tn0 and the receiving lines Rp0, Rn 0). The transmission signal lines Tp0 and Tn0 located at
pins2 and 1 are the output of the memory card and are received by the host; the receiving signal lines Rp0, Rn0 on
pins8, 9 are the output of the host and are received by the memory card.
When the SATA mode is activated and the SATA protocol is selected, serial ATA data is transmitted over two pairs of differential data lines (i.e., A, and B lines A, B). The A data lines A + and A-respectively located at the
pins2 and 1 are used for the output of the host and received by the memory card; the B data lines B +, B-at
pins8, 9, respectively, are received by the host for the output of the memory card. When SATA is used, secure digital memory card communication is interrupted.
When the ultra-high speed secure digital memory card mode is activated and the Firewire protocol is selected, the serial IEEE1394 data is transmitted through two pairs of differential data signal lines (in other words, the a signal lines TPA and TPA)*And B signal lines TPB, TPB*). Signal lines TPA, TPA respectively located at the
pins2, 1*Received by the host for output of the memory card; signal lines TPB, TPB respectively located at
pins8, 9*Received by the memory card for output by the host. When IEEE1394 is used, the secure digital memory card communication is interrupted.
FIG. 11 is a multiplexing signal distribution table of a 7-pin connector for a multimedia memory card, where legacy hosts may only support multimedia memory cards, such as USB, SD, SPI and multimedia memory cards, but others such as SATA, IEEE1394 and PCIE are not supported. Although there are 6 pins of the multimedia memory card signal, the multimedia memory card interface has an additional, unused pin for a 7 pin physical interface. The power supply VDD is provided at
pin4, the ground terminals VSS1, VSS2 are provided at
pins3, 6, the clock input to the memory card is located at
signal line5,
pin7 is the input/output serial data DAT0 for interfaces such as multimedia memory card, secure digital memory card, and universal serial bus, and the data DOUT for the serial peripheral interface.
2 is a bidirectional command CMD signal line for multimedia memory cards, secure digital memory cards, universal serial buses, and is the data input DIN for Serial Peripheral Interface (SPI). The serial peripheral interface has a chip select signal CS at
pin1 and a data out to host signal DOUT at
pin7, and the SD card interface uses signal line DAT0 at
pin7.
When the ultra-high speed secure digital memory card mode is enabled and the USB is selected, serial USB data is transmitted bi-directionally through the differential data lines D +, D-of the USB at
pins2, 1. Thus, when only 7 pins are available, the universal serial bus is still supported.
FIG. 12A is a multiplexing pin assignment table for a connector extended to 13 pins, pins 10-13 are used on an SDH interface as data pins DAT 4-7, and can be reserved for a serial bus interface of the version 4.0 multimedia memory card specification.
FIG. 12B is a diagram of a multiplexing pin assignment table for a 10-pin Memory stick card system, in which the expansion interface can be designed to be based on other Memory cards, such as a Memory stick card (MS), rather than a secure digital Memory card. The memory stick memory card has a connector with 10 pins, power is at
pins3, 9, ground is at
pins1, 10,
pin8 is the system clock input SCLK,
pin2 is the bus state input BS, data is carried bidirectionally by data DAT0 at
pin4, and
pin6 is the insertion pin INS, which can be pulled up by the memory stick memory card's resistor to detect the memory card that is indicated to have been inserted.
5, 7 are reserved for memory stick memory cards and are extended for use with the MS Pro Duo, which has a 4-bit data bus DAT 0-3, and pins 4, 3, 5, 7, respectively, since
pin3 is used as DAT1 instead of VCC and provides one less power pin.
Expansion with universal serial bus for memory stick memory cardMode, pins 4, 3 load a pair of differential data D +, D-of the USB, and the other pins are used to load the memory stick memory card or MS Pro Duo signals; for the PCIE expansion mode, the
pins4 and 3 are loaded with a pair of PCI transmission differential data T + and T-, and the
pins7 and 5 are loaded with a pair of PCI receiving differential data R + and R-; similarly, for the SATA expansion mode, the
pins4 and 3 carry a pair of SATA transmission differential data T +, T-, and the
pins7 and 5 carry a pair of SATA reception differential data R +, R-; aiming at the IEEE1394 expansion mode, the
pins4 and 3 are loaded with a pair of 1394A differential data TPA and TPA*And pins 7, 5 carry a pair of 1394B differential data TPB, TPB*。
It is worth noting that, aiming at the physical structure of the memory card, the memory card substrate, the circuit board, the metal contact, the memory card shell and the like are made of various materials, the plastic shell can have various shapes, can partially or completely cover different parts of the circuit board or the connector, can also form a part of the connector, and different shapes and patterns can be replaced, and the pins can refer to the shapes of plane metal wires or other contact points rather than sharp pin heads (pointed spikes).
Many extended protocols, such as PCI Express, Universal Serial bus, Serial ATA, Serial attached SCSI, or Firewire IEEE1394, may be used as the second interface, the host may also support various Serial bus interfaces, and may test USB operations first, followed by IEEE1394, SATA, SA SCSI, etc., in that order, and then switch to a higher speed interface, such as PCI Express.
It should be noted that the description of the secure digital memory card is mainly for exemplary purposes only, and the secure digital memory card can be replaced by a memory stick memory card (MS), a MS Pro card, a MS Duo card, a mini secure digital memory card (mini SD card), a reduced size multimedia memory card (reduced sized mmc), etc.; hardware switches may also replace some of the routine memory card detection steps, such as a recess added to the memory card housing to engage a memory card slot switch.
In addition, a special led may be designed to inform the user which electrical interface is currently in use, for example, if a standard secure digital memory card interface is used, the led will be turned on, otherwise, the led will be turned off; if there are more than 2 modes, multiple colors of LEDs may be used to indicate the various modes, such as green for PCI Express and yellow for USB.
In addition, different power supply voltages can be used, the usb and SATA use 5 volts, the secure digital memory card and the multimedia memory card use 3.3 volts, and the PCIE uses 1.5 volts. The voltage of 3.3 volts is supplied to the power pin VCC, and then other voltages are generated through a voltage converter inside the ultra-high speed secure digital memory card, such as 5 volts generated by using a charge pump (charge pump) and 1.5 volts generated by using a DC-to-DC converter (DC-to-DC converter).
PCI Express system bus management functions can be achieved by two pairs of differential signals of the PCIE interface within the VSD, with clock signals such as REFCLK +, REFCLK being signals that can be added using additional pads, and PCIE sideband signals (sideband signals) can be added via additional pads such as CPPE #, CPUSB #, REQ CLKR #, PERST #, WAKE #, +3.3AUX, SMBDATA, SMBCLK, etc. In addition, the method using the adjusted PCIE signal can also be applied to the design of the serial buffer memory module of the dynamic random access memory.
In view of the foregoing description of the multipurpose flash memory card, it can be seen that the limitations of conventional memory card based communication protocols (e.g., secure digital memory card, multimedia memory card, compact flash memory card) can be overcome by incorporating the capabilities of a high speed communication protocol interface of a second standard, such as universal serial bus, SATA, Firewire or PCI Express.
However, according to another embodiment, the flash memory card and/or the host controller may also include memory card specific differential data transfer logic to enable the transfer of differential data between the flash memory card and the host device.
For example, fig. 13A illustrates an embodiment of a
host device1302 and a
flash memory card1301 communicating via differential signal DDAT, where the
host device1302 may be any type of electronic device and has an interface to a flash memory card, such as a digital camera, MP3 player, or recorder, and the
flash memory card1301 may include any type of flash memory card, including a multimedia memory card, a secure digital memory card, a memory stick memory card, or a compact flash memory card. It is noted that when the
flash memory card1301 is inserted into the slot 1303 of the
host device1302, communication between the
flash memory card1301 and the
host device1302 occurs (or the
flash memory card1301 is coupled to the slot 1303 through an adapter or an expander), and for clarity, the
flash memory card1301 is separated from the
host device1302 in fig. 13A.
The
flash card1301 includes a
memory array1310, a
protocol controller1320, a
differential data path1330, and an optional
legacy data path1330L, and the
host device1302 includes a host card controller 1340 having an
application translator1350, a
protocol controller1360, a differential data path 1370, and an optional
legacy data path1370L. The
differential data paths1330, 1370 provide the same functionality for the
flash memory card1301 and the host memory card controller 1340, respectively, by converting memory card specific protocol signals (such as CTRL, ST, and DAT from the
protocol controllers1320, 1360) into DDAT, which can be transmitted between the
flash memory card1301 and the host memory card controller 1340 across the
memory card bus1390.
Similar to the
data paths111, 121 of the conventional multimedia memory card shown in FIG. 1A, the
differential data paths1330, 1370 can provide serial-to-parallel input and parallel-to-serial output, frame detection to ensure proper read/write operations of the memory array 113, and error checking (typical CRC checking of the SDAT and CMD signals). However, the
differential data paths1330, 1370 may also provide encoding and decoding of differential data to enable differential data communication between the
flash memory card1301 and the host memory card controller 1340.
Meanwhile, the
protocol controllers1320, 1360 located in the
flash memory card1301 and the host memory card controller 1340, respectively, may operate substantially as the multimedia memory
card protocol controllers112, 122 shown in FIG. 1A. In particular, the
protocol controller1320 of the
flash memory card1301 can perform appropriate operations (such as read/write operations of the
memory array1310 and handling of packet value errors detected through the differential data path 1330) in response to the input status signal ST and data signal DAT, and generate appropriate output control signals CTRL and data signals DAT (such as pass or fail indication values and data for read/write) when such operations are completed.
Similarly, the
protocol controller1360 of the host memory card controller 1340 generates appropriate output control signals CTRL and data signals DAT (such as read/write commands and memory addresses) in response to commands from the
application translator1350, and performs appropriate operations (such as providing read data or confirmation of a write operation) in response to input status signals ST and data signals DAT. It is noted that the data signal DAT and the status signal ST can be provided to the
host device1302 directly through the
protocol controller1360, or can be converted from a specific memory card communication protocol to a specific host communication protocol by the
application converter1350. As described with respect to the
application converter123 of fig. 1A, the
application converter1350 may serve as a bridge between certain host communications and certain memory card communications.
Communication between the
flash card1301 and the
host device1302 is initiated by inserting the
flash card1301 into the slot 1303 and activating the
flash card1301, and the
application translator1350 provides commands (e.g., read or write commands) from the
host device1302 to the
protocol controller1360, which in turn provides appropriate control signals CTRL and data signals DAT to the differential data path 1370. The differential data path 1370 then converts the control signal CTRL and the data signal DAT into a differential signal DDAT, which can be transmitted through the
differential data path1330 of the
flash memory card1301, and the
differential data path1330 decodes the differential data DDAT into a status signal ST and a data signal DAT, so that the
protocol controller1320 can perform the required operations on the memory array 1310 (unless an error occurs and is indicated by the differential data path 1330).
Protocol controller1320 responds with a response and any associated data from
memory array1310 by sending control signal CTRL and data signal DAT to
differential data path1330. after converting CTRL and DAT to DDAT,
differential data path1330 sends the differential data signal DDAT back to differential data path 1370 of host card controller 1340. The differential data path 1370 then decodes the input differential data signal DDAT into a status signal ST and a data signal DAT, which can be converted into appropriately specific host signals for use by the
host device1302.
Communication between the
flash memory card1301 and the
host device1302 can be viewed as a hierarchical transaction, at different levels of abstraction (at varying levels of abstraction), information is passed through the different levels (across the differential layers), for example, fig. 13B illustrates a communication between the
flash memory card1301 and the
host device1302, showing the various levels that make up the communication stack, the
protocol layer1392 and the
application layer1393 are virtual connections (shown as dashed lines) between the
host device1302 and the
flash memory card1301, at the
application layer1393, the
application translator1350 of the
host device1302 accesses the
flash memory array1310 of the
flash memory card1301, and this uppermost transaction can be accomplished through the
protocol layer1392, where application specific communications are translated across the
protocol controllers1320, 1360 into memory card specific communications. Protocol layer communication may be implemented via a physical layer 1391, in which physical signals (i.e., differential signals DDAT and optionally legacy signals SDAT, CMD, and CLK) are transmitted between the
host device1302 and the
flash memory card1301 via a
memory card bus1390.
The function of differential data transfer between the
host device1302 and the
flash memory card1301 can be realized by the physical layer 1391, and thus the
protocol controllers1360 and 1320 can be realized by using any memory card protocol. For example, in this embodiment, the
protocol controllers1360, 1320 may include standard multimedia card protocol controllers for using standard specific multimedia card protocol signals (such as signals CTRL, ST, and DAT). In other variations, the
protocol controllers1320, 1360 may include standard SD, SMRC or compact flash protocol controllers that generate and operate in response to protocol signals for a particular SD, SMRC or SMRC, as is known to be used to facilitate high speed differential communication.
For example, a conventional host device that communicates with a multimedia memory card using conventional clock data can be reconfigured for differential data communication by simply replacing the existing standard multimedia memory card data path with a differential data path (e.g., replacing the multimedia memory
card data path121 in FIG. 1A with the differential data path 1370), and if the multimedia memory card data path is implemented in firmware (or other reprogrammable format), the reconfiguration is made easier by simply updating the firmware to implement the differential data path.
It is also specifically noted that the use of a standard specific memory card protocol controller (such as a multimedia memory card protocol controller or a secure digital memory card protocol controller) may allow the host memory card controller 1340 and/or the flash memory card 1301 (see fig. 13A) to selectively perform differential data transfer and clock data transfer depending on the characteristics of the interface device/memory card. For example, the
protocol controller1360 may comprise a standard multimedia memory card protocol controller coupled to both the differential data path 1370 and the
legacy data path1370L, and then communicate via the standard clock command signal CMD and the serial data signal SDAT, and the
legacy data path1370L may become the standard multimedia memory card data path, according to which the host memory card controller 1340 may communicate with conventional multimedia memory cards using conventional clock data transmission, as well as using higher speed, lower power differential data transmission when using a differential data enabled multimedia memory card.
Similarly, the
protocol controller1320 of the
flash memory card1301 can also include a conventional multimedia memory card protocol controller coupled to both the
differential data path1330 and the
legacy data path1330L, wherein the
legacy data path1330L can include a conventional multimedia memory card data path; in this way, the
flash memory card1301 can communicate with a conventional multimedia memory card based host device using conventional clock data transmission, and can switch between using higher speed, lower power differential data transmission when using a host device with differential data enable.
Fig. 14A is a schematic diagram illustrating a mechanical form factor (mechanical form factor) of a multimedia memory card compatible memory card 1301A of version 3.31 for providing a differential data transmission function, and pin assignment of the multimedia memory card compatible memory card 1301A of version 3.31 is shown in table 3 below.
TABLE 3
Pin numbering | Name (R) |
P1 | D- |
P2 | CMD(OPT.) |
P3 | VSS1 |
P4 | VDD |
P5 | CLK(OPT.) |
P6 | VSS2 |
P7 | D+/DAT0 |
The memory card 1310A includes pins P1-P7, which are equivalent to the conventional multimedia memory card of version 3.31 (such as the
multimedia memory card110A shown in fig. 1B), pins P3, P4, and P6 are power pins for receiving voltages VSS1, VDD, and VSS2, respectively, however, unlike the case where only pin P7 is used as the data (DAT0) pin, the memory card 1301A uses pins P1 and P7 to transmit/receive complementary signals D-, D + (in other words, the differential signal DDAT of fig. 13A) constituting differential signals, respectively.
If the multimedia memory card compatible memory card 1301A also includes a standard multimedia memory card data path (such as the
legacy data path1330L shown in FIG. 13A), the pins P2, P5, P7 can be used in a conventional manner for the signals CMD, CLK, and the serial data signal DAT0 (such as the serial data signal SDAT of FIG. 1A), where the pin P7 is a dual-purpose pin that provides the serial data signal DAT0 for clock data transmission and the differential signal D + for differential data transmission, in this way, the multimedia memory card enabled for differential data transmission can maintain its appearance and pin configuration, and is compatible with host devices based on conventional multimedia memory cards.
Fig. 14B is a schematic diagram showing a mechanical form factor (mechanical form factor) of the multimedia memory card
compatible memory card1301B of version 4.0 to provide a differential data transmission function, and pin assignment of the multimedia memory card
compatible memory card1301B of version 4.0 is shown in table 4 below.
TABLE 4
Pin numbering | Name (R) |
P1 | D-/DAT3 |
P2 | CMD(OPT.) |
P3 | VSS1 |
P4 | VDD |
P5 | CLK(OPT.) |
P6 | VSS2 |
P7 | D+/DAT0 |
P8 | A+/DAT1 |
P9 | A-/DAT2 |
P10 | B+/DAT4 |
P11 | B-/DAT5 |
P12 | C+/DAT6 |
P13 | C-/DAT7 |
The multimedia memory card
compatible memory card1301B is similar to the memory card 1301A of FIG. 14A except that additional pins P8-P13 are used for the complementary signals A +, A-, B +, B-, C +, C-, as indicated in the pin configuration table above, so that three additional differential data channels (A +/A-, B +/B-, and C +/C-) can be provided, it is noted that the pins P8-P13 can be dual-purpose pins for providing compatibility with the conventional version 4.0 of the multimedia memory card device, and can provide clock serial data signals DAT 1-
DAT7 during clock data transmission, respectively.
The flash memory card can be similarly modified for other types of flash memory cards without changing the appearance specification or the pin compatibility. For example, fig. 14C is a schematic diagram of a mechanical form factor (mechanical form factor) of the secure
digital memory card1301C with a function of differential data transmission, and the pin assignment of the secure
digital memory card1301C is shown in table 5 below.
TABLE 5
Pin numbering | Name (R) |
S1 | D-/DAT3 |
S2 | CMD(OPT.) |
S3 | VSS1 |
S4 | VDD |
S5 | CLK(OPT.) |
S6 | VSS2 |
S7 | D+/DAT0 |
S8 | A+/DAT1(OPT.) |
S9 | A-/DAT2(OPT.) |
The secure
digital memory card1301C includes pins S1-S9, wherein the pins S3, S4, S6 are power pins for receiving voltages VSS1, VDD, VSS2, respectively, and the pins S1, S7 transmit/receive complementary signals D-, D + forming a differential signal, respectively, so that the secure
digital memory card1301C and the host device can communicate with each other by using the differential signal. In one embodiment, the pins S8, S9 provide additional differential data paths for the complementary signals A +, A-, if the
SD card1301C also includes a standard SD card data path (i.e., the
legacy data path1330L shown in FIG. 13A), the
SD card1301C receives the clock signal CLK at the pin S5, and the pins S7, S8, S9, S1 provide the clock serial data signals DAT0, DAT1, DAT2, DAT3, respectively (the pins S1, S7 or possibly both S8 and S9 are dual-purpose pins).
For another example, fig. 14D is a schematic diagram of a mechanical form factor (mechanical form factor) of a memory
stick memory card1301D with a differential data transmission function, and the pin assignment of the memory
stick memory card1301D is shown in the following table 6.
TABLE 6
M1 | VSS |
M2 | BS |
M3 | D-/DAT1 |
M4 | D+/DAT0 |
M5 | A-/DAT2 |
M6 | INS |
M7 | A+/DAT3 |
M8 | SCLK(OPT.) |
M9 | VCC |
M10 | VSS |
The memory
stick memory card1301D includes pins M1-M10, wherein the pins M1, M9, M10 are power pins for receiving voltages VSS, VCC, VSS, respectively, and the pins M2, M6 provide the bus status signal BS and the insertion signal INS required by the memory stick memory card specification, respectively, so that the pins M3, M4 are used for complementary signals D-, D + forming a differential signal, respectively, so that the memory
stick memory card1301D and the host device can communicate with each other by using the differential signal. Alternatively, the pins M5, M7 may provide additional differential data paths for the complementary signals A +, A-, respectively, if the memory
stick memory card1301D also includes a standard memory stick memory card data path (in other words, the
legacy data path1330L shown in FIG. 13A), then the memory
stick memory card1301D may receive the clock signal SCLK at pin M8, and pins M4, M3, M5, M7 may be used to provide the clock serial data signals DAT0, DAT1, DAT2, DAT3, respectively (pins M3, M4 or possibly both M5, M7 are dual-purpose pins).
FIG. 15A is a diagram showing a detailed embodiment of the
flash memory card1301 of FIG. 13A; the
protocol controller1320 includes a
core engine1321, an optional buffer random access memory (buffer ram)1322, and an optional Error Checking Circuit (ECC)1323, the
core engine1321 controls the
memory array1310 according to the status signal ST and the input data signal DAT, and generates a control signal CTRL and an output data signal DAT (as described above with reference to fig. 13A) in response. Buffer RAM 1322 may be included to buffer input and output data signals DAT and compensate for slower access times of
memory array1310, and finally, Error Checking Circuit (ECC)1323 may be included in
protocol controller1320 to verify and properly maintain signal integrity (integrity) of signals CTRL, ST, DAT.
In one embodiment, the
differential data path1330 includes a differential
serial interface engine1331 and a differential transceiver (transceiver)1332, the differential
serial interface engine1331 providing any encoding/decoding, serialization/deserialization, and packetization (packetization) of the signals CTRL, ST, DAT to meet the requirements for proper differential signal transmission (see description below for FIG. 16A). The differential
serial interface engine1331 generates/receives the SERS signal and converts it into DDAT signal through the
differential transceiver1332, thereby enabling the differential data transmission between the
memory card1301 and the host device.
Fig. 15B is a diagram showing a detailed embodiment of the
host device1302 of fig. 13A, which can also be connected with the
flash memory card1301 in fig. 15A. The
protocol controller1360 includes a
core engine1361, an optional buffer RAM 1362, and an optional Error Checking Circuit (ECC) 1363, and in response to the
application converter1350, the
core engine1361 generates appropriate output control signals CTRL and data signals DAT, and processes the input status signals ST and data signals DAT for the application converter 1350 (as described above with respect to fig. 13A). The buffer ram 1362 may be included to buffer the input and output data signals DAT and compensate for differences (differences) between the data bandwidth of the data signals DAT and the data processing capabilities of the application converter 1350 (or host device), and finally, the
error checking circuit1363 may be included in the
protocol controller1360 to verify and properly maintain the signal integrity (integrity) of the signals CTRL, ST, DAT.
Meanwhile, the differential data path 1370 includes a differential
serial interface engine1371 and a differential transceiver (transceiver)1372, as with the differential
serial interface engine1331 in the flash card 1301 (see fig. 15A), the differential
serial interface engine1371 provides any encoding/decoding, serialization/deserialization, and packetization (packetization) of signals CTRL, ST, DAT to meet the requirements for proper differential signal transmission (please refer to the description corresponding to fig. 16B below for details). The differential
serial interface engine1371 generates/receives the SERS signal and converts the SERS signal into the DDAT signal through the
differential transceiver1372, thereby enabling the differential data transmission between the
host device1302 and the differential data transmission enabled flash card.
Fig. 16A is a schematic diagram showing a detailed embodiment of the differential
serial interface engine1331 in fig. 15A. The differential
serial interface engine1331 includes a read First In First Out (FIFO)
memory1621, a parallel to serial converter 1622, an encoder 1623, a Cyclic Redundancy Check (CRC)
generator1624, a command/data setting circuit 1625, a sync generator 1626, an end of packet (EOP) generator 1627, a
write FIFO memory1631, a serial to
parallel converter1632, a
decoder1633, a
CRC detector1634, a command/data detector 1635, a sync detector 1636, an end of
packet1637, a start frame (SOF) detector 1638, and a Phase Locked Loop (PLL) 1639. The differential
serial interface engine1331 as shown in fig. 16A may enable serial data transmission through data packetization, thereby eliminating the need for clock data transmission, wherein it is specifically noted that the underlying memory card protocol (e.g., multimedia memory card protocol) may itself include some packetization format, such that the differential Serial Interface Engine (SIE)1331 may simply perform packetization on the underlying packet data.
1633 is coupled to and receives serial signal SSER from
differential transceiver1332 to decode according to a predetermined coding protocol, for example, in one embodiment, a non return to zero (NRZI) code may be used to enable differential data transmission, while a bit stuffing (bitstuffing) may be incorporated to facilitate frame detection. In such an environment, the
decoder1633 may include non-return to zero (NRZI) decoding and bit mining (bit un-stuffing) logic, and the
decoder1633 may also include clock recovery logic and elastic store buffers to compensate for local clock problems, such as jitter (jitter).
The decoded signal generated by the
decoder1633 can be parallelized (parallelized) by the
serializer1632 to make it more efficient to process, and then the data is sent to the
write fifo1631, the
crc detector1634, the command/data detector 1635, the sync detector 1636, the end of
packet detector1637, and the start-of-frame (SOF) detector 1638. The sync detector 1636 identifies a synchronization field (sync field) from the input signal, and when detecting the sync field, STARTs receiving the packet by providing a START signal START to the
write fifo1631, the
crc detector1634, the command/data detector 1635, and the START frame (SOF) detector 1638.
In response to the START signal START, the write operation STARTs to the
fifo1631 to store the content of the input signal (the signal from the serializer 1632), and the
crc detector1634 performs crc on the input data. If different CRC formats are used to check the command and data signals (e.g., CRC7 is used to check the command and CRC16 is used to check the data), a determination is made by the command/data detector 1635 whether the incoming data block is a command block or a data block, and the
CRC detector1634 is indicated, noting that if the CRC fails, various error handling procedures can be performed, including termination procedures, request for retransmission of command/data, etc.
Meanwhile, the start frame detector 1638 detects the start frame burst with respect to the input data and provides the frame timing frequency (frame timing) to the
pll1639, which in response generates the local clock signal LCLK (the start frame burst is inserted into the input signal by the host device at regular intervals). As a result, the local clock signal LCKL is synchronized with the clock of the original system used in the host device to encode the original input signal, and can be used as a recovered clock of the input signal.
Finally, when the end-of-
packet detector1637 detects the end-of-packet, the end-of-
packet detector1637 ends the reception of the packet by issuing a STOP signal STOP to the
write fifo1631, the
crc detector1634, the command/data detector 1635, the end-of-
packet detector1637, and the start frame detector 1638, and then the
protocol controller1320 reads the packet data (which may be the status signal ST or the data signal DAT) from the
write fifo1631 before starting the reception of the next packet. In this way, the
write FIFO1631,
CRC detector1634, command/data detector 1635, end-of-
packet detector1637, and start frame detector 1638 may be implemented as de-packetization logic of the differential
serial interface engine1331.
The control signal CTRL and/or data signal DAT are recovered by the
protocol controller1320 and stored in the
read fifo1621, and the
crc generator1624 and the sync generator 1626 generate crc and sync sets for the output signals, respectively, noting that if different crc formats are used for the command and data packets, the command/data setting circuit 1625 will provide an appropriate indication to the
crc generator1624. The contents of the
read FIFO1621 are then sent to the serializer 1622 for serialization, and at the end of each packet, the end of packet generator 1627 issues an end of packet message, in such a way that the
read FIFO1621, the
CRC generator1624, the command/data set circuit 1625, the Sync generator 1626, and the end of packet generator 1627 act as packetizing logic for the differential
serial interface engine1331.
The parallel-to-serial converter 1622 then converts the input parallel data into a serial bit stream (bitstream) which is then encoded by the encoder 1623. as described above with respect to the
decoder1633, the encoder 1623 also applies a predetermined encoding protocol to the bitstream from the parallel-to-serial converter 1622 to generate the output stream signal SSER, which is then converted into the differential data signal DDAT via the
differential transceiver1332. For example, in one embodiment, the encoder 1623 may include bit stuffing (bit stuffing) and reverse non-return to zero (NRZI) encoding logic.
Fig. 16B is a schematic diagram showing a detailed embodiment of the differential
serial interface engine1371 in fig. 15B. The differential
serial interface engine1371 includes a First In First Out (FIFO)
memory1641, a serializer 1642, an encoder 1643, a Cyclic Redundancy Check (CRC)
generator1644, a command/
data setting circuit1645, a
sync generator1646, a start of frame (SOF)/end of packet (EOP)
generator1647, a
read FIFO memory1651, a serializer 1652, a
decoder1653, a
CRC detector1654, a command/data detector 1655, a sync detector 1656, an end of packet detector 1657, and a Phase Locked Loop (PLL) 1659. Like the differential
serial interface engine1331 of FIG. 16A, the differential
serial interface engine1371 of FIG. 16B enables serial differential data transmission via data packetization, thereby eliminating the need for clock data transmission.
The control signal CTRL and/or data signal DAT stored in the
write fifo1641 and from the
protocol controller1360 will begin to communicate with the flash memory card, while the
crc generator1644 and the
sync generator1646 will generate crc sets and sync sets, respectively, for the output signals, noting that if different crc formats are used for the command and data packets, the command/
data setup circuit1645 will provide the appropriate indication to the
crc generator1644.
The contents of the
write FIFO1641 are then sent to the serializer 1642 for serialization, and at the beginning of each frame, the start frame/end of
packet generator1647 issues a start frame packet; at the end of each packet, the start frame/end of
packet generator1647 issues an end of packet message packet. It is noted that the system clock signal SCLK generated by the
PLL1659 is used to provide the frame clock to the start frame/end of
packet generator1647, and specifically, the system clock signal SCLK is used by the start frame/end of
packet generator1647 to provide the start frame information set at appropriate time intervals. In this manner, the
write FIFO1641, the
CRC generator1644, the command/
data setup circuit1645, the
Sync Generator1646, and the Start frame/end of
packet generator1647 may be implemented as packetized logic of the differential
serial interface engine1371.
The serializer 1642 then converts the input parallel data into a serial bit stream (bitstream) which is then encoded by the encoder 1643. the encoder 1643 also applies a predetermined encoding protocol (e.g., bit-stuffing encoding or reverse non-return-to-zero encoding) to the bitstream from the serializer 1642 to generate an output stream signal SSER which is then converted into a differential data signal DDAT by the
differential transceiver1372.
The input serial signal SSER (generated by the
differential transceiver1372 based on the input differential signal DDAT) is decoded by the
decoder1653 according to a predetermined encoding protocol (e.g., bit-stuffing encoding or reverse non-return to zero encoding). in one embodiment, the
decoder1653 may also include clock recovery logic and a flexible storage buffer to compensate for local clock problems (e.g., jitter).
The decoded signal generated by the
decoder1653 can be parallelized by the serializer 1652 and sent to the
read fifo1651, the
crc detector1654, the command/data detector 1655, the sync detector 1656, and the end of packet detector 1657. The sync detector 1656 identifies sync blocks from the input signal and, when a sync block is detected, begins reception of a packet by providing a START signal START to the
read fifo1651, the
crc detector1654, the command/data detector 1655, and the end of packet detector 1657.
In response to the START signal START, the
read FIFO1651 begins to store the contents of the input signal (the signal from the serial-to-parallel converter 1652), while the
CRC detector1654 performs CRC on the input data (optionally based on the signal from the command/data detector 1655). It should be noted that if the crc fails, various error handling procedures may be performed, including termination procedures, request for retransmission of commands/data, etc.
Finally, when the end of packet detector 1657 detects an end of packet, the end of packet detector 1657 terminates the reception of the packet by issuing a STOP signal STOP to the
read fifo1651, the
crc detector1654, the command/data detector 1655, and the end of packet detector 1657, and the
protocol controller1360 reads the packet data (which may be a status signal ST or a data signal DAT) from the
read fifo1651 before starting the reception of the next packet. In this manner, the
read FIFO1651,
CRC detector1654, command/data detector 1655, and end-of-packet detector 1657 may serve as de-packetization logic for the differential
serial interface engine1371.
Although the present invention has been described with reference to the above embodiments, it is not intended to limit the invention. All changes and modifications that come within the spirit and scope of the invention are desired to be protected by the following claims. With regard to the scope of protection defined by the present invention, reference should be made to the appended claims.
Claims (9)
1. A flash memory card, comprising:
a pin configuration predetermined based on the number of pins of the flash memory card, the pin configuration including at least one dual-purpose pin for providing a legacy data path and a differential data path;
a flash memory array;
a protocol controller for accessing the flash memory array; wherein,
the differential data path has a function of converting an input differential signal into a status signal and an input data signal to the protocol controller, and a function of converting a control signal and an output data signal from the protocol controller into an output differential signal, wherein the differential data path includes a differential transceiver and a differential serial interface engine, wherein:
the differential transceiver is used for converting the input differential signal into an input multipurpose serial signal and converting an output multipurpose serial signal into the output differential signal; and
the differential serial interface engine is used for converting the input multipurpose serial signal into at least one status signal and the input data signal, and converting at least one control signal and the output data signal into the output multipurpose serial signal, wherein the differential serial interface engine comprises:
a decoder for decoding the input multipurpose serial signal according to a predetermined encoding protocol and converting the input multipurpose serial signal into an input serial bit stream;
a first converter for converting the input serial bit stream into a first signal set;
a synchronization detector for identifying a synchronization packet with respect to the first signal set and starting packet reception by generating an initial signal when detecting the synchronization packet;
a write FIFO for storing the contents of the first set of signals in response to the start signal and outputting the at least one status signal and the input data signal;
a cyclic redundancy check detector for performing a cyclic redundancy check on the first signal set in response to the start signal;
a command/data detector for determining whether the first set of signals is a command signal or a data signal in response to the start signal and providing the determination to the CRC detector;
an initial frame detector for detecting a plurality of initial frame packets of the first signal set in response to the initial signal and triggering generation of a local clock during detection;
a packet end detector for detecting an end-of-packet message of the first set of signals in response to the start signal and, upon detection, issuing a stop signal to terminate packet reception;
a read FIFO for storing the at least one control signal and the contents of the output data signal outputted through the protocol controller, and outputting a second set of signals;
a synchronous generator for generating a synchronous information set for the second signal set;
a cyclic redundancy check generator for generating a cyclic redundancy check information set for the second signal set;
a command/data setting circuit for determining whether the second set of signals is a command signal or a data signal and providing the determination to the CRC generator;
a packet end generator for generating a packet end message set for the second signal set;
a second converter for converting the second signal group, the cyclic redundancy check information group, the synchronization information group and the packet end information group received in parallel into an output serial bit stream; and
an encoder for applying the predetermined encoding protocol to the output serial bit stream and converting the encoded output serial bit stream into the output multipurpose serial signal;
wherein the flash memory card comprises one of a multimedia memory card, a secure digital memory card, a compact flash memory card, and a memory stick memory card.
2. The flash memory card of claim 1 wherein the legacy data path is configured to convert an input clock command signal to the status signal and an input clock data signal to the input data signal, and is configured to convert the control signal to an output clock command signal and the output data signal to an output clock data signal.
3. The flash memory card of claim 2 wherein the flash memory card is a multimedia memory card comprising a first pin and a second pin, wherein the input differential signal and the output differential signal are provided at the first pin and the second pin, respectively, and the input/output clock data signal is provided at one of the first pin and the second pin.
4. The flash memory card of claim 1 wherein the crc detector performs crc using a first crc format when the input serial bitstream includes the status signal; when the input serial bit stream contains the input data signal, the crc detector performs crc using a second crc format.
5. The flash memory card of claim 1 further comprising a phase-locked loop configured to generate a local clock signal for use in reading data from the input data signal and to generate an output serial bit stream.
6. An electronic device, comprising:
a pin configuration predetermined based on a number of pins of a flash memory card, the pin configuration including at least one dual-purpose pin for providing a legacy data path and a differential data path;
a host memory card adapter for connecting the flash memory card, the host memory card adapter comprising a protocol controller, an application adapter and a differential data path, wherein:
a protocol controller, responsive to the application converter, for providing a function of the specific flash card communication protocol;
the application adapter is used for controlling the protocol controller and provides a bridge between the communication of a specific device and the communication of the specific flash memory card; and
a differential data path having a function of converting an input differential signal into a status signal and an input data signal to the protocol controller, and a function of converting a control signal and an output data signal from the protocol controller into an output differential signal, wherein the differential data path comprises a differential transceiver and a differential serial interface engine:
a differential transceiver for converting the input differential signal into an input multipurpose serial signal and for converting an output multipurpose serial signal into the output differential signal; and
a differential serial interface engine for converting the input multipurpose serial signal into at least one status signal and the input data signal, and converting at least one control signal and the output data signal into the output multipurpose serial signal, wherein the differential serial interface engine comprises:
a decoder for decoding the input multipurpose serial signal according to a predetermined encoding protocol and converting the input multipurpose serial signal into an input serial bit stream;
a first converter for converting the input serial bit stream into a first signal set;
a synchronization detector for identifying a synchronization packet with respect to the first signal set and starting packet reception by generating an initial signal when detecting the synchronization packet;
a read FIFO for storing the contents of the first set of signals in response to the start signal and outputting the at least one status signal and the input data signal;
a cyclic redundancy check detector for performing a cyclic redundancy check on the first signal set in response to the start signal;
a command/data detector for determining whether the first set of signals is a command signal or a data signal in response to the start signal and providing the determination to the CRC detector;
a packet end detector for detecting an end-of-packet message of the first set of signals in response to the start signal and, upon detection, issuing a stop signal to terminate packet reception;
a write FIFO for storing the at least one control signal and the contents of the output data signal outputted through the protocol controller, and outputting a second set of signals;
a synchronous generator for generating a synchronous information set for the second signal set;
a cyclic redundancy check generator for generating a cyclic redundancy check information set for the second signal set;
a command/data setting circuit for determining whether the second set of signals is a command signal or a data signal and providing the determination to the CRC generator;
a start frame and end of packet generator for generating a start frame field and an end of packet field for the second set of signals;
a second converter for converting the second signal group, the cyclic redundancy check information group, the synchronization information group, the start frame information group and the end of packet information group received in parallel into an output serial bit stream; and
an encoder for applying the predetermined encoding protocol to the output serial bit stream and converting the encoded output serial bit stream into the output multipurpose serial signal;
wherein the flash memory card comprises one of a multimedia memory card, a secure digital memory card, a compact flash memory card, and a memory stick memory card.
7. The electronic device of claim 6 further comprising a legacy data path for converting an input clock command signal to the status signal and an input clock data signal to the input data signal, and for converting the control signal to an output clock command signal and the output data signal to an output clock data signal.
8. The electronic device of claim 6, wherein the CRC generator applies a first CRC format to the output serial bit stream when the output serial bit stream is generated from the control signal; and the crc generator applies a second crc format to the output serial bitstream when the output serial bitstream is generated from the output data signal; wherein the input serial bit stream includes the status signal, the crc detector performing a crc using the first crc format; when the input serial bit stream contains the input data signal, the crc detector performs crc using the second crc format.
9. The electronic device of claim 6 further comprising a phase-locked loop for generating a system clock signal, wherein the start frame information is generated in response to the system clock signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101026477A CN102135859A (en) | 2010-01-22 | 2010-01-22 | Flash memory card used for transmitting differential data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101026477A CN102135859A (en) | 2010-01-22 | 2010-01-22 | Flash memory card used for transmitting differential data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102135859A true CN102135859A (en) | 2011-07-27 |
Family
ID=44295657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101026477A Pending CN102135859A (en) | 2010-01-22 | 2010-01-22 | Flash memory card used for transmitting differential data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135859A (en) |
Cited By (9)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214315A (en) * | 2010-04-12 | 2011-10-12 | 智多星电子科技有限公司 | Flash memory card used for differential data transmission |
CN103034603A (en) * | 2012-12-07 | 2013-04-10 | 天津瑞发科半导体技术有限公司 | Multi-channel flash memory card control device and control method thereof |
CN103365815A (en) * | 2013-06-27 | 2013-10-23 | 清华大学 | SD card interface supporting IP implementation under SD mode |
CN103888161A (en) * | 2012-12-19 | 2014-06-25 | 置富存储科技(深圳)有限公司 | Wireless transmission device data transmission method and wireless transmission system |
CN107145362A (en) * | 2016-03-01 | 2017-09-08 | 瑞萨电子株式会社 | Embedded device and method for updating program |
CN107153623A (en) * | 2016-03-04 | 2017-09-12 | 爱思开海力士有限公司 | Data handling system and its operating method |
CN108090549A (en) * | 2016-11-21 | 2018-05-29 | 瑞昱半导体股份有限公司 | Intermediate circuit for memory card access |
CN114268572A (en) * | 2020-09-16 | 2022-04-01 | 铠侠股份有限公司 | Communication system, device and communication method |
CN115588442A (en) * | 2022-12-12 | 2023-01-10 | 合肥康芯威存储技术有限公司 | Storage device and power supply method thereof |
-
2010
- 2010-01-22 CN CN2010101026477A patent/CN102135859A/en active Pending
Cited By (14)
* Cited by examiner, † Cited by third partyPublication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214315A (en) * | 2010-04-12 | 2011-10-12 | 智多星电子科技有限公司 | Flash memory card used for differential data transmission |
CN103034603A (en) * | 2012-12-07 | 2013-04-10 | 天津瑞发科半导体技术有限公司 | Multi-channel flash memory card control device and control method thereof |
CN103034603B (en) * | 2012-12-07 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | Multi-channel flash memory card control device and control method thereof |
CN103888161A (en) * | 2012-12-19 | 2014-06-25 | 置富存储科技(深圳)有限公司 | Wireless transmission device data transmission method and wireless transmission system |
CN103365815A (en) * | 2013-06-27 | 2013-10-23 | 清华大学 | SD card interface supporting IP implementation under SD mode |
CN103365815B (en) * | 2013-06-27 | 2015-11-18 | 清华大学 | The SD memory card interface that under support SD pattern, IP realizes |
CN107145362A (en) * | 2016-03-01 | 2017-09-08 | 瑞萨电子株式会社 | Embedded device and method for updating program |
CN107145362B (en) * | 2016-03-01 | 2021-08-06 | 瑞萨电子株式会社 | Embedded device and program update method |
CN107153623A (en) * | 2016-03-04 | 2017-09-12 | 爱思开海力士有限公司 | Data handling system and its operating method |
CN108090549A (en) * | 2016-11-21 | 2018-05-29 | 瑞昱半导体股份有限公司 | Intermediate circuit for memory card access |
CN114268572A (en) * | 2020-09-16 | 2022-04-01 | 铠侠股份有限公司 | Communication system, device and communication method |
CN114268572B (en) * | 2020-09-16 | 2024-01-16 | 铠侠股份有限公司 | Communication systems, devices and communication methods |
US12149449B2 (en) | 2020-09-16 | 2024-11-19 | Kioxia Corporation | Communication system, device, and communication method |
CN115588442A (en) * | 2022-12-12 | 2023-01-10 | 合肥康芯威存储技术有限公司 | Storage device and power supply method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7844763B2 (en) | 2010-11-30 | Differential data transfer for flash memory card |
US7664902B1 (en) | 2010-02-16 | Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol |
CN102135859A (en) | 2011-07-27 | Flash memory card used for transmitting differential data |
US7069369B2 (en) | 2006-06-27 | Extended-Secure-Digital interface using a second protocol for faster transfers |
US7836236B2 (en) | 2010-11-16 | Extended secure-digital (SD) devices and hosts |
US7660938B1 (en) | 2010-02-09 | Flash card reader and data exchanger utilizing low power extended USB protocol without polling |
US7467249B2 (en) | 2008-12-16 | Efficient connection between modules of removable electronic circuit cards |
CN106209695B (en) | 2020-01-07 | Providing low power physical units for load/store communication protocols |
TWI405087B (en) | 2013-08-11 | Differential data transfer for flash memory card |
US8166221B2 (en) | 2012-04-24 | Low-power USB superspeed device with 8-bit payload and 9-bit frame NRZI encoding for replacing 8/10-bit encoding |
US20040120353A1 (en) | 2004-06-24 | Method and apparatus for double data rate serial ATA phy interface |
TWI806262B (en) | 2023-06-21 | Bridge device and data storage system |
US20080126588A1 (en) | 2008-05-29 | Memory card |
US7219839B2 (en) | 2007-05-22 | Method for enhancing transfer rate of multimedia card using differential signal |
JP4956143B2 (en) | 2012-06-20 | Semiconductor memory card, host device, and data transfer method |
US9535454B2 (en) | 2017-01-03 | Computing module with serial data connectivity |
CN101777033A (en) | 2010-07-14 | Storage card extension device |
TWI401570B (en) | 2013-07-11 | Differential data transfer for flash memory card |
CN102214315A (en) | 2011-10-12 | Flash memory card used for differential data transmission |
CN112199312B (en) | 2023-03-24 | Interface conversion device of communication equipment and communication system |
US11728930B2 (en) | 2023-08-15 | Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating |
CN101989184A (en) | 2011-03-23 | Memory card with SATA transfer interface |
JP2024175967A (en) | 2024-12-19 | Communication device and communication method |
CN100378638C (en) | 2008-04-02 | Interface adapter for external MS memory card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
2011-07-27 | C06 | Publication | |
2011-07-27 | PB01 | Publication | |
2011-09-07 | C10 | Entry into substantive examination | |
2011-09-07 | SE01 | Entry into force of request for substantive examination | |
2014-03-12 | WD01 | Invention patent application deemed withdrawn after publication | |
2014-03-12 | WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110727 |