Method for accessing a secure digital sd card and controller of the sd card

By extending the address of the SD card to more than 32 bits using the address extension command, the capacity limitation problem of the SD card is solved, and efficient addressing and access operations for capacities greater than 2TB are realized.

CN115794665BActive Publication Date: 2025-11-28SILICON MOTION INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211435745.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-12-28
Filing Date
2018-12-28
Publication Date
2025-11-28
Estimated Expiration
2038-12-28

AI Technical Summary

Technical Problem

Existing SD cards only have 32-bit address parameters, which limits their maximum storage capacity to 2TB, making them unable to meet the needs of applications requiring larger capacity.

Method used

The address extension command expands the 32-bit address in the access command to a larger than 32 bits, forming a combined address to enable addressing of capacities greater than 2TB, supporting single read, single write, multiple read, multiple write and erase operations.

Benefits of technology

It enables efficient addressing and access to SD cards with capacities greater than 2TB, expanding the application scope of SD cards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115794665B_ABST
    Figure CN115794665B_ABST
Patent Text Reader

Abstract

A method for accessing a secure digital (SD) card and a controller of the SD card. The SD card includes a voltage supply pin for receiving a voltage supply from a host, at least one ground pin, a clock pin for receiving a clock signal from the host, a command pin for receiving a command from the host, and four data pins for writing data into or reading data from the SD card. The method for accessing the SD card includes receiving, from the host via the command pin, an address extension command including a first address, receiving, from the host via the command pin, an access command including a second address, and accessing, via the data pins, at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address. The access command indicates an access operation to be performed on the SD card selected from a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related information of divisional application

[0002] The present application is a divisional application. The parent application of the present application is a Chinese invention patent application with the title of "Method for accessing security digital (SD) card and controller of SD card", the filing date of December 28, 2018, and the application number of 201811624926.2. TECHNICAL FIELD

[0003] The present application relates to a method for a memory device and related controller, memory device and host, and more particularly to a memory addressing method for a memory device and related controller, memory device and host. BACKGROUND

[0004] With the wide use of digital communication devices or electronic devices for processing video data and / or music data and the popularity of IA (Internet Appliance) products, various types of storage devices for storing digital data have been developed. Memory cards become the mainstream products in the market because of their compact size and low power consumption. Memory cards are very suitable for use in various types of host / devices / systems, such as digital cameras, digital camcorders, MP3 players, mobile phones, personal digital assistants (PDAs) or global positioning system (GPS) devices.

[0005] A security digital (SD) card is a commonly used memory card in the market. However, because the address parameter or variable parameter in the command of the SD card only has 32 bits (the current maximum storage capacity), the SD card can support 2 terabytes (TB), which cannot meet the capacity requirements in various applications. It is desirable to have an SD card that can support a larger capacity, and it is also necessary to provide an addressing or accessing method for such an SD card. SUMMARY

[0006] Therefore, one object of the present application is to provide an addressing method capable of accessing an SD card supporting a capacity greater than 2 TB, and to provide a related SD card, a controller of the SD card and a host.

[0007] One embodiment of the present invention discloses a method for accessing a secure digital (SD) card, the SD card including: a voltage supply pin for receiving a voltage supply from a host, at least one ground pin, a clock pin for receiving a clock signal from the host, a command pin for receiving a command from the host, and four data pins for writing data into or reading data from the SD card. The method includes: receiving, from the host, an address extension command including a first address through the command pin; receiving, from the host, an access command including a second address through the command pin; and accessing at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address, through the data pins. The access command indicates an access operation to be performed on the SD card selected from: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0008] Another embodiment of the present invention discloses a controller of an SD card, the controller being configured to perform the above method.

[0009] One embodiment of the present invention discloses a method for accessing a secure digital (SD) card, the SD card including: a voltage supply pin for receiving a voltage supply from a host; at least one ground pin; a clock pin for receiving a clock signal from the host; a command pin for receiving a command from the host; and four data pins for writing data into or reading data from the SD card. The method includes: transmitting, to the SD card, an address extension command including a first address through the command pin; transmitting, to the SD card, an access command including a second address through the command pin; and accessing at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address, through the data pins. The access command indicates an access operation to be performed on the SD card selected from: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0010] Another embodiment of the present invention discloses an SD card that includes a memory module, an input / output (I / O) interface, and a controller. The memory module includes a plurality of memory locations. The I / O interface includes a voltage supply pin for receiving a voltage supply from a host, at least one ground pin, a clock pin for receiving a clock signal from the host, a command pin for receiving a command from the host, and four data pins for writing data into or reading data from the SD card. The controller is configured to receive, from the I / O interface, an address extension command that includes a first address through the command pin, receive, from the I / O interface, an access command that includes a second address through the command pin, and access at least one of the plurality of memory locations indicated by a third address that is a combination of the first address and the second address. The access command indicates an access operation to be performed on the SD card selected from a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0011] Yet another embodiment of the present invention discloses an electronic device capable of accessing an SD card. The SD card includes an I / O interface and a processor. The I / O interface includes a voltage supply contact for providing a voltage supply to the SD card, at least one ground contact, a clock contact for providing a clock signal to the SD card, a command contact for providing a command to the SD card, and four data contacts for writing data into or reading data from the SD card. The processor is configured to transmit, to the SD card, an address extension command that includes a first address through the command contact, transmit, to the SD card, an access command that includes a second address through the command contact, and access at least one memory location in the SD card indicated by a third address that is a combination of the first address and the second address through the data contacts. The access command indicates an access operation to be performed on the SD card selected from a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0012] It will be appreciated by those skilled in the art, upon reading the following detailed description of the preferred embodiments shown in the accompanying drawings, that the goals of the present invention are achieved. BRIEF DESCRIPTION OF DRAWINGS

[0013] Figure 1 A schematic diagram showing commands of an SD card according to some embodiments of the present invention.

[0014] Figure 2 A memory command sequence according to some embodiments of the present invention is shown.

[0015] Figure 3 A memory command sequence according to some embodiments of the present invention is shown.

[0016] Figure 4AMemory command sequences according to some embodiments of the application are shown.

[0017] Figure 4B Memory command sequences according to some embodiments of the application are shown.

[0018] Figure 5A is a schematic diagram of an SD card according to some embodiments of the application.

[0019] Figure 5B is a table of a description of pins of an SD card according to some embodiments of the application.

[0020] Figure 6 is a block diagram showing a combination of an SD card and a host according to some embodiments of the application.

[0021] Figure 7 is a flowchart of a method of a host accessing an SD card according to some embodiments of the application.

[0022] Figure 8 is a flowchart of a method of a host accessing an SD card according to some embodiments of the application.

[0023] Figure 9 is a flowchart of a method of a host accessing an SD card according to some embodiments of the application.

[0024] Figure 10 is a flowchart of a method for accessing an SD card performed by the SD card or a controller of the SD card according to some embodiments of the application.

[0025] Figure 11 is a flowchart of a method for accessing an SD card performed by the SD card or a controller of the SD card according to some embodiments of the application.

[0026] Figure 12 is a state diagram showing changes in states of an SD card when accessing the SD card according to some embodiments of the application. DETAILED DESCRIPTION

[0027] Figure 1 is a schematic diagram of commands of an SD card according to some embodiments of the application.

[0028] Communication between an SD card and a host is based on command and data streams. A command can be viewed as a request to perform a specific operation. Commands are transmitted from the host to the SD card through the card's command (CMD) pin. As Figure 1As shown, the total length of the command is 48 bits. The command starts with or is preceded by a start bit ("0") and ends with or is followed by a stop bit or end bit ("1"). The transmitter bit "1" indicates that the command is transmitted from the host to the SD card. The response from the SD card to the host is also transmitted through the command pin. In this case, the transmitter bit is set to "0". The index contains 6 bits and indicates the command type, which determines the operation to be performed on the SD card. The definitions of various commands of the SD card are described in detail in section 4.7.3 of "Part 1 Physical Layer Specification" published by the SD Card Association. The address variable parameter (or address parameter) contains 32 bits and indicates the address information of the command. The cyclic redundancy check (CRC) code contains 7 bits and is used to detect transmission errors and protect the contents in the index and address of the command.

[0029] Examples of different types of commands are described below.

[0030] The CMD 17 command indicates a command to perform a single read (or single block read) operation on a memory location indicated by the 32-bit address in the command in the SD card. Since the binary code of the decimal number 17 is "10001", the index of the CMD 17 command is "10001". The CMD 24 command indicates a command with the index "11000" and performs a single write (or single block write) operation on a memory location indicated by the 32-bit address in the command in the SD card. Since the binary code of the decimal number 24 is "11000", the index of the CMD 24 command is "11000".

[0031] The CMD 18 command indicates a command with the index "10010" and performs a multi-read (or multi-block read) operation starting from a memory location indicated by the 32-bit address in the command in the SD card. The combination of the CMD 23 command and the CMD 18 command (e.g., the CMD 23 command followed by the CMD 18 command) indicates a multi-read operation starting from a memory location indicated by the 32-bit address in the CMD 18 command in the SD card, where the CMD 23 has information of the data read length.

[0032] The CMD 25 command indicates a command with the index "11001" and performs a multi-write (or multi-block read) operation starting from a memory location indicated by the 32-bit address in the command in the SD card. The combination of the CMD 23 command and the CMD 25 command (e.g., the CMD 23 command followed by the CMD 25 command) indicates a multi-write operation starting from a memory location indicated by the 32-bit address in the CMD 25 command in the SD card, where the CMD 23 has information of the data write length.

[0033] The CMD38 command indicates a command with index "100110" and performs an erase operation to the SD card. For example, the combination of the CMD32 command and the CMD38 command (e.g., the CMD32 command followed by the CMD38 command) indicates an erase operation starting from the memory location indicated by the 32-bit address in the CMD32 command in the SD card. The combination of the CMD32 command, the CMD33 command, and the CMD38 command (e.g., the CMD32 command followed by the CMD33 command, and the CMD33 command followed by the CMD38 command) indicates an erase operation from the memory location indicated by the 32-bit address in the CMD32 command in the SD card to the memory location indicated by the 32-bit address in the CMD33 command in the SD card.

[0034] The CMD44 command indicates a command with index "101100" and performs a data transfer operation to the SD card. For example, the combination of the CMD44 command and the CMD45 command (e.g., the CMD44 command followed by the CMD45 command) indicates a data transfer operation starting from the memory location indicated by the 32-bit address in the CMD45 command in the SD card.

[0035] Generally, because the address information of the operation to be performed is indicated by the 32-bit address in one command corresponding to the operation, the addressing or access capability of one command is limited to 2 TB (2 32 (32-bit address) * 2 9 (512B block) = 2 41 bytes = 2 TB), thereby also limiting the maximum capacity that the SD card can support to 2 TB.

[0036] In some embodiments of the present application, a memory addressing method that can support a capacity greater than 2 TB is provided. The 32-bit address in an access command is extended to greater than 32 bits by using an address extension command, whereby a capacity greater than 2 TB can be provided. The access command can include the commands CMD17, CMD18, CMD24, CMD25, CMD32, CMD33, or CMD44 described above, which carry the address information of the corresponding operation to be performed. In some embodiments, the access command can be a combination of the commands CMD17, CMD18, CMD24, CMD25, CMD32, CMD33, or CMD44 described above. The address extension command can be a command selected from the pool of reserved commands in the regular SD card application, i.e., the address extension command can be CMD22, CMD31, CMD39, CMD41, or CMD51. In some embodiments, the address extension command can be a combination of commands selected from the pool of reserved commands, e.g., the address extension command can include two CMD22 commands.

[0037] In particular, the address extension command can have an index "010110" (CMD 22) and carry an address in its 32-bit address variable parameter, where the address can be considered 6 bits (e.g., the lower 6 bits of the 32-bit address variable parameter), 32 bits, or any other number of bits in the 32-bit address variable parameter. The address in the address extension command is combined with the address in the access command following the address extension command to form a combined address that includes more than 32 bits and can be used to access memory capacity greater than 2 TB. If the address in the address extension command has 6 bits, the combined address has 38 bits and enables access to 128 TB (2 6 * 2 TB memory space. According to a preferred embodiment, the address in the address extension command can be the upper address of the combined address and the address in the access command can be the lower address of the combined address. In another embodiment, the address in the address extension command can be the lower address of the combined address and the address in the access command can be the upper address of the combined address. 32 * 2 TB memory space. According to a preferred embodiment, the address in the address extension command can be the upper address of the combined address and the address in the access command can be the lower address of the combined address. In another embodiment, the address in the address extension command can be the lower address of the combined address and the address in the access command can be the upper address of the combined address.

[0038] In a preferred embodiment, the combined address is generated by concatenating the address included in the address extension command and the address included in the access command. For example, if the address included in the address extension command is [X31:X0] and the address included in the access command is [Y31:Y0], then the combined address is [X31:X0, Y31:Y0] (or [Y31:Y0, X31:X0] in some embodiments). Figure 2 An example of a memory read command sequence according to some embodiments of the application is shown. An address extension command CMD 22 precedes a single read command CMD 17 or a multiple read command CMD 18. The address extension command CMD 22 carries (in its 32-bit address variable parameter) an address that is to be combined with the address in the single read command CMD 17 or the multiple read command CMD 18 to form a combined address that includes more than 32 bits and indicates the memory location at which the single read operation or the multiple read operation is to be performed.

[0039] With respect to the multiple read operation, the data read length of the operation can be set using the CMD 23 command. Optionally, the multiple read operation can be stopped using the CMD 12 command without setting the data read length of the multiple read operation through the CMD 23 command.

[0040] Figure 3An example of a memory write command sequence according to some embodiments of the application is shown. An address extension command CMD 22 precedes a single write command CMD 24 or a multiple write command CMD 25. The address extension command CMD 22 carries (in its 32-bit address argument) an address that is to be combined with the address in the single write command CMD 24 or the multiple write command CMD 25 to form a combined address that includes more than 32 bits and that indicates a memory location at which a single write operation or a multiple write operation is to be performed.

[0041] With respect to a multiple write operation, a CMD 23 command can be used to set the data write length of the operation. Optionally, a CMD 12 command can be used to stop the multiple write operation without setting the data write length of the multiple write operation through a CMD 23 command.

[0042] Figure 4A An example of a memory erase command sequence according to some embodiments of the application is shown. One address extension command CMD 22 precedes a CMD 32 command and carries (in its 32-bit address argument) an address that is to be combined with the address in the CMD 32 command to form a combined address that includes more than 32 bits and that indicates a memory location at which an erase operation is to start. Another address extension command CMD 22 precedes a CMD 33 command and carries (in its 32-bit address argument) an address that is to be combined with the address in the CMD 33 command to form another combined address that includes more than 32 bits and that indicates a memory location at which the erase operation is to end. A CMD 38 command initiates the erase operation.

[0043] Figure 4B An example of a memory data transfer command sequence according to some embodiments of the application is shown. A CMD 44 command indicates a data transfer operation on an SD card. An address extension command CMD 22 precedes a CMD 45 command and carries (in its 32-bit address argument) an address that is to be combined with the address in the CMD 45 command to form a combined address that includes more than 32 bits and that indicates a memory location at which the data transfer is to start.

[0044] Figure 5A is a top view of an SD card A. As shown in Figure 5A The SD card A includes nine pins, labeled A1 to A9.

[0045] Figure 5B is a top view of an SD card A. As shown in Figure 5AThe table shows the description or definition of pins Al to A9 of the SD card A. As shown in the table, pins Al and A7 to A9 are data pins for writing data into or reading data from the SD card A. Pin A2 is referred to as a command pin, which can receive commands transmitted from the host to the SD card A, and can transmit responses from the SD card A to the host in response to the commands. Pin A4 is referred to as a VDD pin and is used as a voltage supply pin of the SD card A. Pin A4 can be configured to receive a voltage in a range of 2.7 to 3.6 volts (V). Pin A5 is referred to as a clock (CLK) pin and is configured to receive a clock signal. Pins A3 and / or A6 are ground pins.

[0046] Figure 6 is a block diagram showing a combination of the SD card A and the host H according to some embodiments of the present application. The SD card A includes a flash memory module 120 and a flash memory controller (or controller) 110, where the flash memory controller 110 is arranged to access the flash memory module 120. The flash memory controller 110 can be configured to receive commands (e.g., address extension commands or access commands) from the host H and access memory locations in the flash memory module 120 according to addresses in the commands. The flash memory controller 110 includes a microprocessor 112, a read-only memory (ROM) 112M, control logic 114, a buffer memory 116, and interface logic 118. The ROM 112M is arranged to store program code 112C, and the microprocessor 112 is arranged to execute the program code 112C in order to control access to the flash memory module 120. The control logic 114 includes an encoder 142 and a decoder 144.

[0047] In some embodiments, the flash memory module 120 includes a plurality of flash memory chips, each of which includes a plurality of blocks, and the flash memory controller 110 treats a "block" as an erase unit for performing operations on the flash memory module 120. The flash memory controller 110 can execute the program code 112C by the microprocessor 112. In some embodiments, a block can include a certain number of pages, where the flash memory controller 110 treats a "page" as a unit for writing data to the flash memory module 120. In some embodiments, the flash memory module 120 can include a 3D NAND type flash memory.

[0048] In practice, the flash memory controller 110 executing the program code 112C by the microprocessor 112 can use its internal elements to perform various control operations, such as using the control logic 114 to control access operations of the flash memory module 120 (particularly access operations on at least one block or at least one page), using the buffer memory 116 to perform required buffering processes, and using the interface logic 118 to communicate with the host H through the data pins of the SD card A. For example, the buffer memory 116 can be a static random access memory (static RAM (SRAM)), but the present application is not limited thereto.

[0049] The host H can include a processor 132 and an input / output (I / O) interface 134 coupled to the SD card A. The I / O interface 134 can include contacts corresponding to the pins of the SD card A, respectively (i.e., the I / O interface can include nine contacts). The I / O interface 134 can include a voltage supply contact for providing a voltage supply, one or more ground contacts, a clock contact for providing a clock signal, and a command contact for electrically connecting to the command pin of the SD card A and for providing commands to the SD card A. The definition of each contact of the host H can refer to the table shown in FIG. 2. Figure 5B

[0050] Figure 7 is a flowchart of a method 700 performed by a host (or a processor of the host) for accessing an SD card according to some embodiments of the present application. The detailed steps are as follows:

[0051] Step 702: The host determines an access operation to be performed on the SD card. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0052] Step 704: The host determines a memory location in the SD card at which the access operation is to be performed, where the memory location can be indicated by a 64-bit address.

[0053] Step 706: The host separates the 64-bit address into a 32-bit high address and a 32-bit low address.

[0054] Step 708: The host transmits an address extension command including the high address (in an address variable parameter) from the I / O interface of the host to the SD card through the command pin of the SD card.

[0055] Step 710: The host transmits an access command including the low address (in an address variable parameter) and information indicating the access operation (in an index) to the SD card through the command pin of the SD card.

[0056] Step 712: The host accesses the memory location indicated by the combined address, which is the combination of the high address and the low address, in the SD card through the data pin of the SD card.

[0057] In the above-described embodiments, both the high address and the low address are 32 bits. In some other embodiments, the address indicating the memory location determined in step 704 can be 38 bits, and the high address can be 6 bits and the low address can be 32 bits. According to the present application, the number of bits of the high address can be any number not greater than 32, and thus is not limited to the above embodiments. Furthermore, in some embodiments, the address extension command can include the low address, and the access command can include the high address.

[0058] ​In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 17 command, the step of accessing the memory locations of the SD card (step 712) includes performing a single read operation at the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 17 command.

[0059] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 24 command, the step of accessing the memory locations of the SD card (step 712) includes performing a single write operation at the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 24 command.

[0060] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 18 command (as shown in Figure 2 In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 18 command (as shown in

[0061] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 25 command (as shown in Figure 3 In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 25 command (as shown in

[0062] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 32 and a CMD 38 command, the step of accessing the memory locations of the SD card (step 712) includes performing an erase operation from the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 32 command, in response to the CMD 38 command.

[0063] In some embodiments, if the address extension command comprises a first CMD 22 command and a second CMD 22 command, and the access command comprises a CMD 32 command, a CMD 33 command and a CMD 38 command (as shown in Figure 4AIf the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as shown in FIG. 8B), then the step of accessing a memory location of the SD card (step 712) comprises performing a transfer of data from a memory location indicated by a combined address generated from a high address contained in the CMD 22 command and a low address contained in the CMD 45 command. The CMD 44 command is used to set the data direction, the priority task ID, and the total number of blocks to be transferred.

[0064] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as Figure 4B If the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as shown in FIG. 8B), then the step of accessing a memory location of the SD card (step 712) comprises performing a transfer of data from a memory location indicated by a combined address generated from a high address contained in the CMD 22 command and a low address contained in the CMD 45 command. The CMD 44 command is used to set the data direction, the priority task ID, and the total number of blocks to be transferred.

[0065] It should be noted that the order of the steps shown in FIG. 8A is merely exemplary, and these steps can be rearranged in any other suitable order according to various applications. For example, in some other embodiments, step 704 can precede step 702, or step 710 can precede step 708. Figure 7

[0066] Figure 8 FIG. 8A is a flowchart of a method 800 performed by a host for accessing an SD card according to some embodiments of the present application. The detailed steps are as follows:

[0067] Step 802: The host receives information of the capacity of the SD card. The information can be stored in a card specific data (CSD) register in the SD card.

[0068] Step 804: The host determines whether the capacity of the SD card exceeds a predetermined threshold, for example, the capacity that can be presented by a 32-bit address. The threshold can be 2 TB or less. If the result is affirmative, the process proceeds to step 806. If the result is negative, the process proceeds to step 820.

[0069] Step 806: The host determines an access operation to be performed on the SD card. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0070] Step 808: The host determines a memory location in the SD card at which the access operation is to be performed, wherein the memory location can be indicated by a 64-bit address.

[0071] ​Step 810: The host separates the 64-bit address into a 32-bit high address and a 32-bit low address.

[0072] Step 812: The host transmits, from the I / O interface of the host to the SD card through the command pin of the SD card, an address extension command containing the high address (in the address variable parameter).

[0073] Step 814: The host transmits, to the SD card through the command pin of the SD card, an access command containing the low address (in the address variable parameter) and information indicating the access operation (in the index).

[0074] Step 816: The host accesses, through the data pin of the SD card, the memory location in the SD card indicated by the combined address, which is the combination of the high address and the low address.

[0075] Step 820: The host determines the access operation to be performed on the SD card. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0076] Step 822: The host determines the memory location in the SD card on which the access operation is to be performed, wherein the memory location is indicated by a 32-bit address.

[0077] Step 824: The host transmits, to the SD card through the command pin of the SD card, an access command containing the 32-bit address (in the address variable parameter) and information indicating the access operation (in the index).

[0078] Step 826: The host accesses, through the data pin of the SD card, the memory location in the SD card indicated by the 32-bit address according to the access operation in Step 824.

[0079] In the current embodiment, the host H first determines the capacity of the SD card. If the capacity of the SD card exceeds a threshold, e.g., 2 TB, the process goes to Step 806; otherwise, it goes to Step 820. The operations of Steps 806 to 816 are the same as those of Steps 702 to 712. In other words, if the host H determines that the capacity of the SD card exceeds 2 TB, an address extension command is needed for accessing the SD card; otherwise, only an access command is sufficient for accessing the SD card.

[0080] It should be noted that, Figure 8 The order of the steps shown in FIG. 8 is merely exemplary, and the steps can be rearranged in any other suitable order according to various applications. For example, in some other embodiments, Step 806 and Step 820 can be combined and can be before Step 802, or Step 814 can be before Step 812.

[0081] Figure 9is a flowchart of a method 900 performed by a host for accessing an SD card according to some embodiments of the present application. The detailed steps are as follows:

[0082] Step 901: The host determines an access operation to be performed on the SD card. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0083] Step 902: The host receives information of the capacity of the SD card. The information can be stored in the CSD register in the SD card.

[0084] Step 904: The host determines whether the capacity of the SD card exceeds a predetermined threshold. The threshold can be 2 TB or less. If the result is affirmative, the process goes to step 906. If the result is negative, the process goes to step 922.

[0085] Step 906: The host determines a memory location in the SD card to perform the access operation determined in step 901, where the memory location can be indicated by a 64-bit address or a 32-bit address. If the memory location is to be indicated by an address greater than 32 bits, the process goes to step 908. If the memory location can be indicated by a 32-bit address, the process goes to step 922.

[0086] Step 908: The host separates the 64-bit address into a 32-bit high address and a 32-bit low address.

[0087] Step 910: The host transmits an address extension command containing the high address (in the address variable parameter) from the I / O interface of the host to the SD card through the command pin of the SD card.

[0088] Step 912: The host transmits an access command containing the low address (in the address variable parameter) and information indicating the access operation (in the index) to the SD card through the command pin of the SD card.

[0089] Step 914: The host accesses the memory location indicated by the combined address, which is the combination of the high address and the low address, in the SD card through the data pin of the SD card.

[0090] Step 922: The host determines a memory location in the SD card to perform the access operation, where the memory location is indicated by a 32-bit address.

[0091] Step 924: The host transmits an access command containing the 32-bit address (in the address variable parameter) and information indicating the access operation (in the index) to the SD card through the command pin of the SD card.

[0092] Step 926: The host accesses the memory location in the SD card indicated by the 32-bit address through the data pins of the SD card according to the access operation in step 824.

[0093] It should be noted that in the method 900, even if the host recognizes that the SD card supports a capacity greater than, for example, 2 TB, the host can still choose to perform an access operation on a memory location that can be indicated by a 32-bit address, where no address extension command needs to be transmitted.

[0094] Figure 10 is a flowchart of a method 1000 performed by an SD card or a controller of an SD card for accessing the SD card according to some embodiments of the present application. The detailed steps are as follows:

[0095] Step 1002: The SD card (or the controller of the SD card) receives an address extension command containing a high-bit address (in an address variable parameter) through the command pins of the SD card from the I / O interface of the host.

[0096] Step 1004: The SD card (or the controller of the SD card) receives an access command containing a low-bit address (in an address variable parameter) and information indicating an access operation (in an index) through the command pins of the SD card. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0097] Step 1006: The SD card (or the controller of the SD card) accesses a memory location in the SD card indicated by a combined address, which is a combination of the high-bit address and the low-bit address.

[0098] Both the high-bit address and the low-bit address can be 32 bits. In some other embodiments, the high-bit address can be 6 bits, and the low-bit address is 32 bits. In other cases, the high-bit address can be 32 bits and only contain 6 meaningful bits. According to the present application, the number of bits (e.g., meaningful bits) of the high-bit address can be any number not greater than 32, and thus is not limited to the above embodiments. Furthermore, in some embodiments, the address extension command can contain the low-bit address, and the access command can contain the high-bit address.

[0099] In some embodiments, if the address extension command comprises a CMD22 command, and the access command comprises a CMD17 command, the step of accessing a memory location in the SD card (step 1006) comprises performing a single read operation on the memory location indicated by the combined address, which is generated according to the high-bit address contained in the CMD22 command and the low-bit address contained in the CMD17 command.

[0100] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 24 command, the step of accessing the memory locations of the SD card (step 1006) comprises performing a single write operation at the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 24 command.

[0101] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 18 command (as shown in Figure 2 the step of accessing the memory locations of the SD card (step 1006) comprises performing a multiple read operation starting at the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 18 command. The CMD 23 command is used to set the data read length of the multiple read operation.

[0102] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 23 command and a CMD 25 command (as shown in Figure 3 the step of accessing the memory locations of the SD card (step 1006) comprises performing a multiple write operation starting at the memory locations indicated by a combined address generated from the high address included in the CMD 22 command and the low address included in the CMD 25 command. The CMD 23 command is used to set the data write length of the multiple write operation.

[0103] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 32 and a CMD 38 command, the step of accessing the memory locations of the SD card (step 1006) comprises performing an erase operation starting at the memory locations indicated by a combined address in response to the CMD 38 command. The combined address is generated from the high address included in the CMD 22 command and the low address included in the CMD 32 command.

[0104] In some embodiments, if the address extension command comprises a first CMD 22 command and a second CMD 22 command, and the access command comprises a CMD 32 command, a CMD 33 command and a CMD 38 command (as shown in Figure 4AIf the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as shown in FIG. 10B), then the step of accessing memory locations of the SD card (step 1006) comprises performing a transfer of data from a memory location indicated by a combined address generated from a high address included in the CMD 22 command and a low address included in the CMD 45 command. The CMD 44 command is used to set the data direction, the priority task ID, and the total number of blocks to be transferred.

[0105] In some embodiments, if the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as Figure 4B If the address extension command comprises a CMD 22 command and the access command comprises a CMD 44 command and a CMD 45 command (as shown in FIG. 10B), then the step of accessing memory locations of the SD card (step 1006) comprises performing a transfer of data from a memory location indicated by a combined address generated from a high address included in the CMD 22 command and a low address included in the CMD 45 command. The CMD 44 command is used to set the data direction, the priority task ID, and the total number of blocks to be transferred.

[0106] It should be noted that the order of the steps shown in FIG. 10A is merely exemplary, and these steps can be rearranged in any other suitable order according to various applications. For example, in some other embodiments, step 1004 can precede step 1002. Figure 10

[0107] Figure 11 is a flowchart of a method 1100 performed by an SD card or a controller of an SD card for accessing the SD card according to some embodiments of the present application. The detailed steps are as follows:

[0108] Step 1102: The SD card (or the controller of the SD card) transmits information of the capacity of the SD card to the host. The information can be stored in a CSD register in the SD card.

[0109] Step 1104: The SD card determines whether an address extension command including a high address (in an address variable parameter) is received. If the address extension command is received, the process goes to step 1106; otherwise, it goes to step 1120.

[0110] Step 1106: The SD card (or the controller of the SD card) receives, through the command pin of the SD card, an access command including a low address (in an address variable parameter) and information indicating an access operation (in an index). The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0111] ​Step 1108: The SD card (or the controller of the SD card) accesses the memory location in the SD card indicated by the combined address, which is the combination of the high address and the low address. The access operation can be selected from the following: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0112] Step 1120: The SD card (or the controller of the SD card) receives, from the I / O interface of the host through the command pin of the SD card, an access command containing a 32-bit address (in the address variable parameter) and information indicating an access operation (in the index).

[0113] Step 1122: The SD card (or the controller of the SD card) accesses the memory location in the SD card indicated by the 32-bit address according to the access operation in step 1120.

[0114] It should be noted that, Figure 11 The order of the steps shown in FIG. 12 is only exemplary, and these steps can be rearranged in any other suitable order according to various applications. For example, steps 1106 and 1120 for receiving an access command can be combined, and can be before step 1104.

[0115] Figure 12 is a state diagram showing the state changes of the SD card when accessing the SD card according to some embodiments of the present application.

[0116] The state diagram starts from state 1200, which is a transfer state, in which the SD card does not receive any access command in a certain period of time. That is, the SD card has not received any high address or low address.

[0117] In state 1200, if a CMD 17, CMD 18, CMD 24, or CMD 25 command is received, the SD card receives the low address carried by the CMD 17, CMD 18, CMD 24, or CMD 25 command, and the SD card enters state 1204. The SD card then enters state 1250.

[0118] In state 1200, if a CMD 22 command is received, the SD card receives the high address carried by the CMD 22 command, and the SD card enters state 1202.

[0119] In state 1200, if a CMD 23 command is received, the SD card receives the data length carried by the CMD 23 command, and the SD card enters state 1222, in which the SD card has not received any high address or low address.

[0120] In state 1200, if a CMD 32 command is received, the SD card receives the low address carried by the CMD 32 command, and the SD card enters state 1212.

[0121] In state 1202, if a new CMD 22 command is received, the high address carried by the new CMD 22 command replaces the high address received when the SD card switched from state 1200 to state 1202, and the SD card remains in state 1202.

[0122] In state 1202, if a CMD 17, CMD 18, CMD 24, or CMD 25 command is received, the SD card receives the low address carried by the CMD 17, CMD 18, CMD 24, or CMD 25 command, and the SD card enters state 1204. The SD card then enters state 1250.

[0123] In state 1202, if a command 32 is received, the SD card receives the low address carried by the CMD 32 command, and the SD card enters state 1212.

[0124] In state 1222, if a new CMD 23 command is received, the data length carried by the new CMD 23 command replaces the data length received when the SD card switched from state 1200 to state 1222, and the SD card remains in state 1222.

[0125] In state 1222, if a CMD 22 command is received, the SD card receives the high address carried by the CMD 22 command, and the SD card enters state 1223.

[0126] In state 1222, if a CMD 18 or CMD 25 command is received, the SD card receives the low address carried by the CMD 18 or CMD 25 command, and the SD card enters state 1224, where the SD card then enters state 1250.

[0127] In state 1223, if a new CMD 22 command is received, the high address carried by the new CMD 22 command replaces the high address received when the SD card switched from state 1222 to state 1223, and the SD card remains in state 1223.

[0128] In state 1223, if a new CMD 23 command is received, the data length carried by the new CMD 23 command replaces the current data length, and the SD card returns to state 1222.

[0129] In state 1223, if a CMD18 or CMD25 command is received, the SD card receives the low address carried by the CMD18 or CMD25 command, and the SD card enters state 1224, in which the SD card then enters state 1250.

[0130] In state 1212, the SD card then enters state 1214.

[0131] In state 1214, if a CMD33 command is received, the SD card receives the low address carried by the CMD33 command, and the SD card enters state 1216.

[0132] In state 1214, if a CMD22 command is received, the SD card receives the high address carried by the CMD22 command, and the SD card enters state 1215.

[0133] In state 1215, if a new CMD22 command is received, the high address carried by the new CMD22 command replaces the high address received when the SD card switched from state 1214 to state 1215, and the SD card remains in state 1215.

[0134] In state 1215, if a CMD33 command is received, the SD card receives the low address carried by the CMD33 command, and the SD card enters state 1216.

[0135] In state 1216, if a CMD38 command is received, the SD card is instructed of a corresponding operation (e.g., an erase operation), and the SD card enters state 1218, in which the SD card then enters state 1250.

[0136] In state 1250, according to the operation indicated by the index field of the access command (e.g., CMD17, CMD18, CMD24, CMD25, CMD32, and CMD33), the SD card is accessed at a location determined in the SD card by a low address or a combination of a high address and a low address. If the determined location cannot be accessed (e.g., within a read-only region) or does not exist in the SD card (e.g., beyond the capacity of the SD card), the access will be rejected, and the SD card returns to state 1200.

[0137] It is noted that in the exemplary embodiments shown in Figure 12 In state 1202, state 1222, state 1223, state 1214, state 1215, and state 1216, if an unexpected command (i.e., a command other than the commands described above in the respective descriptions) is received, the SD card returns to transmit state 1200 (as indicated by the dashed arrow).

[0138] In view of the foregoing, those having ordinary skill in the art can appreciate that Figures 7 to 11 The flowchart depicted is an embodiment of the present application and can be derived from the state diagram of Figure 12 Other flowcharts performed by the SD card or host can be derived from the state diagram of

[0139] The present application can be further described using the following clauses:

[0140] 1. A method for accessing a secure digital (SD) card, the SD card comprising:

[0141] a voltage supply pin for receiving a voltage supply from a host;

[0142] at least one ground pin;

[0143] a clock pin for receiving a clock signal from the host;

[0144] a command pin for receiving a command from the host; and

[0145] four data pins for writing data into or reading data from the SD card,

[0146] the method comprising:

[0147] receiving, from the host, an address extension command containing a first address through the command pin;

[0148] receiving, from the host, an access command containing a second address through the command pin; and

[0149] accessing at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address, through the data pins;

[0150] wherein the access command indicates an access operation to be performed on the SD card selected from the group consisting of: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0151] 2. The method of clause 1, wherein the third address is generated by concatenating the first address and the second address.

[0152] 3. The method of clause 1, wherein the first address and the second address are each 32 bits.

[0153] 4. The method of clause 1, wherein the first address is 6 bits and the second address is 32 bits.

[0154] 5. The method of clause 1, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 17 command, the step of accessing the memory locations of the SD card comprises performing the single read operation on the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD 17 command.

[0155] 6. The method of clause 1, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD24 command, the step of accessing the memory locations of the SD card comprises performing the single write operation on the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD24 command.

[0156] 7. The method of clause 1, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD18 command, the step of accessing the memory locations of the SD card comprises performing the multiple read operation starting from the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD18 command.

[0157] 8. The method of clause 1, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD25 command, the step of accessing the memory locations of the SD card comprises performing the multiple write operation starting from the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD25 command.

[0158] 9. The method of clause 1, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD32 and a CMD38 command, the step of accessing the memory locations of the SD card comprises performing the erase operation starting from the memory locations indicated by the third address in response to the CMD38 command, and wherein the third address is generated from the CMD22 command and the CMD32 command.

[0159] 10. The method of clause 1, wherein if the address extension command comprises a first CMD22 command and a second CMD22 command, and the access command comprises a CMD32 command, a CMD33 command, and a CMD38 command, then the step of accessing the memory location of the SD card comprises performing the erase operation between the memory location indicated by the third address and another memory location indicated by a fourth address in response to the CMD38 command, and wherein the third address is generated from the first CMD22 command and the CMD32 command, and the fourth address is generated from the second CMD22 command and the CMD33 command.

[0160] 11. The method of clause 1, wherein if the address extension command comprises a CMD22 command, and the access command comprises a CMD44 command and a CMD45 command, then the step of accessing the memory location of the SD card comprises performing a transfer of data from the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD45 command.

[0161] 12. The method of clause 1, further comprising transmitting information of a capacity of the SD card to the host.

[0162] 13. A controller of an SD card configured to perform the method of any of clauses 1-12.

[0163] 14. A method for accessing an SD card, the SD card comprising:

[0164] a voltage supply pin for receiving a voltage supply from a host;

[0165] at least one ground pin;

[0166] a clock pin for receiving a clock signal from the host;

[0167] a command pin for receiving a command from the host; and

[0168] four data pins for writing data into or reading data from the SD card,

[0169] the method comprising:

[0170] transmitting, to the SD card through the command pin, an address extension command including a first address;

[0171] transmitting, to the SD card through the command pin, an access command including a second address; and

[0172] accessing, via the data pin, at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address;

[0173] wherein the access command indicates an access operation to be performed on the SD card selected from the group consisting of: a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0174] 15. The method of clause 14, wherein the third address is generated by concatenating the first address and the second address.

[0175] 16. The method of clause 14, further comprising receiving information of a capacity of the SD card; wherein the step of transmitting the address extension command is performed if the capacity of the SD card exceeds a predetermined threshold.

[0176] 17. The method of clause 14, wherein the first address and the second address are each 32 bits.

[0177] 18. The method of clause 14, wherein the first address is 6 bits and the second address is 32 bits.

[0178] 19. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 17 command, the step of accessing the memory location of the SD card includes performing the single read operation on the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD 17 command.

[0179] 20. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD24 command, the step of accessing the memory location of the SD card includes performing the single write operation on the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD24 command.

[0180] 21. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD18 command, the step of accessing the memory locations of the SD card comprises performing the multi-read operation starting from the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD18 command.

[0181] 22. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD25 command, the step of accessing the memory locations of the SD card comprises performing the multi-write operation starting from the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD25 command.

[0182] 23. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD32 and a CMD38 command, the step of accessing the memory locations of the SD card comprises performing the erase operation starting from the memory location indicated by the third address in response to the CMD38 command, and wherein the third address is generated from the CMD22 command and the CMD32 command.

[0183] 24. The method of clause 14, wherein if the address extension command comprises a first CMD22 command and a second CMD22 command and the access command comprises a CMD32 command, a CMD33 command, and a CMD38 command, the step of accessing the memory locations of the SD card comprises performing the erase operation between the memory location indicated by the third address and another memory location indicated by a fourth address in response to the CMD38 command, and wherein the third address is generated from the first CMD22 command and the CMD32 command, and the fourth address is generated from the second CMD22 command and the CMD33 command.

[0184] 25. The method of clause 14, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD44 command and a CMD45 command, the step of accessing the memory location of the SD card comprises performing a transfer of data from the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD45 command.

[0185] 26. The method of clause 14, further comprising:

[0186] determining to access a memory location that is indicated by a fourth address;

[0187] transmitting, to the SD card via the command pins, another access command that includes the fourth address; and

[0188] accessing, via the data pins, the memory location of the SD card that is indicated by the fourth address.

[0189] 27. An SD card, comprising:

[0190] a memory module that includes a plurality of memory locations;

[0191] an input / output (I / O) interface that includes:

[0192] a voltage supply pin for receiving a voltage supply from a host;

[0193] at least one ground pin;

[0194] a clock pin for receiving a clock signal from the host;

[0195] a command pin for receiving commands from the host; and

[0196] four data pins for writing data into or reading data from the SD card; and

[0197] a controller configured to:

[0198] receive, from the I / O interface via the command pins, an address extension command that includes a first address;

[0199] receive, from the I / O interface via the command pins, an access command that includes a second address; and

[0200] access at least one of the plurality of memory locations that is indicated by a third address, the third address being a combination of the first address and the second address,

[0201] wherein the access command indicates an access operation to be performed on the SD card selected from the group consisting of a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0202] 28. The SD card of clause 27, wherein the third address is generated by concatenating the first address and the second address.

[0203] 29. The SD card of clause 27, wherein the high address and the low address are each 32 bits.

[0204] 30. The SD card of clause 27, wherein the high address is 6 bits and the low address is 32 bits.

[0205] 31. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 17 command, the controller performs a single read operation on the memory location indicated by the third address, and wherein the third address is generated from the first address contained in the CMD22 command and the second address contained in the CMD 17 command.

[0206] 32. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 24 command, the controller performs a single write operation on the memory location indicated by the third address, and wherein the third address is generated from the first address contained in the CMD22 command and the second address contained in the CMD 24 command.

[0207] 33. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 23 command and a CMD 18 command, the controller performs a multiple read operation starting from the memory location indicated by the third address, and wherein the third address is generated from the first address contained in the CMD22 command and the second address contained in the CMD 18 command.

[0208] 34. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 23 command and a CMD 25 command, the controller performs a multiple write operation starting from the memory location indicated by the third address, and wherein the third address is generated from the first address contained in the CMD22 command and the second address contained in the CMD 25 command.

[0209] 35. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises CMD32 and CMD38 commands, the controller performs an erase operation starting from the memory location indicated by the third address in response to the CMD38 command, and wherein the third address is generated from the CMD22 command and the CMD32 command.

[0210] 36. The SD card of clause 27, wherein if the address extension command comprises a first CMD22 command and a second CMD22 command and the access command comprises a CMD32 command, a CMD33 command, and a CMD38 command, the controller performs an erase operation between the memory location indicated by the third address and another memory location indicated by a fourth address in response to the CMD38 command, and wherein the third address is generated from the first CMD22 command and the CMD32 command, and the fourth address is generated from the second CMD22 command and the CMD33 command.

[0211] 37. The SD card of clause 27, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD44 command and a CMD45 command, the controller performs a transfer of data from the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD45 command.

[0212] 38. The SD card of clause 27, wherein the controller is further configured to transmit information of a capacity of the SD card to the host.

[0213] 39. An electronic device capable of accessing an SD card, comprising:

[0214] an I / O interface comprising:

[0215] a voltage supply contact for providing a voltage supply to the SD card;

[0216] at least one ground contact;

[0217] a clock contact for providing a clock signal to the SD card;

[0218] a command contact for providing a command to the SD card; and

[0219] four data contacts for writing data into or reading data from the SD card; and

[0220] a processor configured to:

[0221] transmit, to the SD card via the command contact, an address extension command including a first address;

[0222] transmit, to the SD card via the command contact, an access command including a second address; and

[0223] access, via the data contact, at least one memory location in the SD card indicated by a third address, the third address being a combination of the first address and the second address;

[0224] wherein the access command indicates an access operation to be performed on the SD card selected from the group consisting of a single read operation, a single write operation, a multiple read operation, a multiple write operation, and an erase operation.

[0225] 40. The electronic device of clause 39, wherein the third address is generated by concatenating the first address and the second address.

[0226] 41. The electronic device of clause 39, wherein the processor is further configured to determine a capacity of the SD card based on information received from the I / O interface; and wherein the address extension command is transmitted if the determined capacity of the SD card exceeds a predetermined threshold.

[0227] 42. The electronic device of clause 39, wherein the first address and the second address are each 32 bits.

[0228] 43. The electronic device of clause 39, wherein the first address is 6 bits and the second address is 32 bits.

[0229] 44. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD 17 command, the processor performs a single read operation on the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD 17 command.

[0230] 45. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD24 command, the processor performs a single write operation on the memory location indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD24 command.

[0231] 46. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD18 command, the processor performs a multi-read operation from the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD18 command.

[0232] 47. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD23 command and a CMD25 command, the processor performs a multi-write operation from the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD25 command.

[0233] 48. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD32 and a CMD38 command, the processor performs an erase operation from the memory locations indicated by the third address in response to the CMD38 command, and wherein the third address is generated from the CMD22 command and the CMD32 command.

[0234] 49. The electronic device of clause 39, wherein if the address extension command comprises a first CMD22 command and a second CMD22 command and the access command comprises a CMD32 command, a CMD33 command, and a CMD38 command, the processor performs an erase operation between the memory locations indicated by the third address and another memory location indicated by a fourth address in response to the CMD38 command, and wherein the third address is generated from the first CMD22 command and the CMD32 command, and the fourth address is generated from the second CMD22 command and the CMD33 command.

[0235] 50. The electronic device of clause 39, wherein if the address extension command comprises a CMD22 command and the access command comprises a CMD44 command and a CMD45 command, the processor performs a transfer of data from the memory locations indicated by the third address, and wherein the third address is generated from the first address included in the CMD22 command and the second address included in the CMD45 command.

[0236] 51. The electronic device of clause 39, wherein if the electronic device determines to access a memory location that is indicated by a fourth address, the processor is further configured to:

[0237] transmit, to the SD card over the command pin, another access command that includes the fourth address; and

[0238] access, over the data pin, the memory location of the SD card that is indicated by the fourth address.

[0239] It is to be understood that the above-referenced arrangements are illustrative of the application described in the present disclosure. Numerous modifications and changes can be made to the above-described arrangements while maintaining the teachings of the present disclosure. Accordingly, the above disclosure is not intended as limiting the scope of the application. It is therefore desired that what is claimed should be understood to be within the broadest scope of the patent.

Claims

1. A method for accessing a secure digital SD card, the SD card comprising: Voltage supply pin used to receive voltage from the host; At least one ground pin; Clock pin used to receive clock signals from the host; Command pins used to receive commands from the host; as well as Four data pins are used to write data to or read data from the SD card, and the method includes: The command pin is used to receive an address extension command containing a first address from the host. The command pin is used to receive an access command containing a second address from the host; and The data pin is used to access at least one memory location in the SD card indicated by a third address, wherein the third address is a combination of the first address and the second address; The access command indicated is selected from the following access operations to be performed on the SD card: single read operation, single write operation, multiple read operation, multiple write operation, and erase operation; If the address extension command includes a CMD22 command and the access command includes CMD32 and CMD38 commands, then the step of accessing the memory location of the SD card includes, in response to the CMD38 command, performing the erase operation starting from the memory location indicated by the third address, wherein the third address is generated based on the CMD22 command and the CMD32 command.

2. The method according to claim 1, wherein the third address is generated by concatenating the first address and the second address.

3. The method according to claim 1, wherein both the first address and the second address are 32 bits.

4. The method according to claim 1, wherein the first address is 6 bits and the second address is 32 bits.

5. The method of claim 1, wherein if the address extension command includes a CMD22 command and the access command includes a CMD17 command, then the step of accessing the memory location of the SD card includes performing the single read operation at the memory location indicated by the third address, and wherein the third address is generated based on the first address included in the CMD22 command and the second address included in the CMD17 command.

6. The method of claim 1, wherein if the address extension command includes a CMD22 command and the access command includes a CMD24 command, then the step of accessing the memory location of the SD card includes performing the single write operation at the memory location indicated by the third address, and wherein the third address is generated based on the first address included in the CMD22 command and the second address included in the CMD24 command.

7. The method of claim 1, wherein if the address extension command includes a CMD22 command and the access command includes a CMD23 command and a CMD18 command, then the step of accessing the memory location of the SD card includes performing the multiple read operation starting from the memory location indicated by the third address, and wherein the third address is generated based on the first address included in the CMD22 command and the second address included in the CMD18 command.

8. The method of claim 1, wherein if the address extension command includes a CMD22 command and the access command includes a CMD23 command and a CMD25 command, then the step of accessing the memory location of the SD card includes performing the multiple write operation starting from the memory location indicated by the third address, and wherein the third address is generated based on the first address included in the CMD22 command and the second address included in the CMD25 command.

9. The method of claim 1, wherein if the address extension command includes a first CMD22 command and a second CMD22 command, and the access command includes a CMD32 command, a CMD33 command, and a CMD38 command, then the step of accessing the memory location of the SD card includes, in response to the CMD38 command, performing the erase operation between the memory location indicated by the third address and another memory location indicated by a fourth address, and wherein the third address is generated according to the first CMD22 command and the CMD32 command, and the fourth address is generated according to the second CMD22 command and the CMD33 command.

10. The method of claim 1, wherein if the address extension command includes a CMD22 command and the access command includes a CMD44 command and a CMD45 command, then the step of accessing the memory location of the SD card includes performing data transfer from the memory location indicated by the third address, and wherein the third address is generated based on the first address included in the CMD22 command and the second address included in the CMD45 command.

11. The method of claim 1, further comprising transmitting information about the capacity of the SD card to the host.

12. A controller for an SD card configured to perform the method according to any one of claims 1 to 11.

13. A method for accessing an SD card, the SD card comprising: Voltage supply pin used to receive voltage from the host; At least one ground pin; Clock pin used to receive clock signals from the host; Command pins used to receive commands from the host; as well as Four data pins are used to write data to or read data from the SD card, and the method includes: The command pin is used to transmit an address extension command containing the first address to the SD card. The access command containing a second address is transmitted to the SD card via the command pin, wherein the access command indicates an access operation to be performed on the SD card selected from the following: single read operation, single write operation, multiple read operation, multiple write operation, and erase operation; Accessing at least one memory location in the SD card indicated by a third address via the data pin, wherein the third address is a combination of the first address and the second address; and Receive information about the capacity of the SD card; wherein if the capacity of the SD card exceeds a predetermined threshold, then execute the step of transmitting the address extension command.

14. The method of claim 13, wherein the third address is generated by concatenating the first address and the second address.

Citation Information

Patent Citations

  • Memory card controller, memory card drive device, and computer program

    CN101069167A

  • Method for realizing control of storage card by digital equipment by expanding SD / MMC protocol

    CN101587427A