This application claims the priority benefit of Taiwan application serial no. 97131804, filed on Aug. 20, 2008. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
1. Field of the Invention
The present invention generally relates to a non-volatile memory controller, and more particularly, to a non-volatile memory controller which can update a firmware directly on a printed circuit board and a memory card using the same.
2. Description of Related Art
Along with the rapid advancement of information technology, storage media developed based on semiconductor techniques have become the mainstream products and which are generally referred to as portable memories, flash memory cards, or memory cards. Compared to the conventional floppy disk and compact disk, portable memory is far more advantageous in its functional characteristics, such as portability, power consumption, data storage, data transmission rate, reread or rewrite, and vibration and damp proof. Due to all these advantages of portable memory, every international electronic product manufacturer has promoted its own portable memory, such as Smart card, PC card (PCMCIA ATA Flash Card), CF card (CompactFlash Card), SM card (Smart Media Card), MMC card (MultiMedia Card), MS card (Memory Stick Card), and SD card (Secure Digital Card), etc, and these portable memories are broadly applied to various digital products. Generally, after a memory card is manufactured, a firmware has to be written into the memory card by using a special fixture called MP-tooling (usually provided by the manufacturer of the memory card).
Herein it is assumed that the non-volatile memory controller 120 is a SD memory card controller and the non-volatile memories 160 and 170 are flash memory chips. An external device, for example, a host 140, of the MCP IC 110 is connected to the non-volatile memory controller 120 through the host access port group 124. If the host 140 is about to access the non-volatile memory 160 or 170, the host 140 has to send a signal conforming to the specification of SD memory card to the interface circuit 121. After a fixture 180 receives a new firmware, the fixture 180 sends the new firmware to the processing unit 122 through the host access port group 124 and the interface circuit 121, and the processing unit 122 then writes the new firmware into the non-volatile memory 160 through the control unit 123.
In another conventional firmware updating technique, when the memory card becomes invalid or has compatibility problem and accordingly the firmware in the MCP IC 110 is to be updated, the MCP IC 110 soldered on a printed circuit board (PCB) is de-soldered (i.e., removed from the PCB) and then loaded into a specific firmware update fixture to be written with the new firmware. This conventional technique is very inconvenient and costly.
Accordingly, the present invention is directed to a non-volatile memory controller which can update a firmware directly on a printed circuit board, such that firmware updating is made more convenient.
The present invention is also directed to a memory card which can update a firmware directly on a printed circuit board.
The present invention provides a non-volatile memory controller which provides a process interface to allow a host to access a non-volatile memory. The non-volatile memory controller includes a mode setting port group, a firmware download port group, a host access port group, a memory port group, a control unit, a processing unit, an interface unit, and a switch unit. The firmware download port group receives a new firmware. The host access port group is used for coupling to the host. The memory port group is used for coupling to the non-volatile memory. The control unit is coupled to the memory port group. The processing unit is coupled to the control unit, and the processing unit accesses the non-volatile memory through the control unit. The interface unit is coupled to the processing unit. A first terminal of the switch unit is coupled to the host access port group, a second terminal thereof is coupled to the firmware download port group, and a third terminal thereof is coupled to the interface unit. The processing unit controls the interface unit to couple a third terminal of the interface unit to a first terminal or a second terminal thereof according to a logic state received by the mode setting port group.
The present invention also provides a memory card including a non-volatile memory and a non-volatile memory controller. The non-volatile memory controller includes a mode setting port group, a firmware download port group, a host access port group, a memory port group, a control unit, a processing unit, an interface unit, and a switch unit. The firmware download port group receives a new firmware. The host access port group is coupled to a host. The memory port group is coupled to the non-volatile memory. The control unit is coupled to the memory port group. The processing unit is coupled to the control unit, and the processing unit accesses the non-volatile memory through the control unit. The interface unit is coupled to the processing unit. A first terminal of the switch unit is coupled to the host access port group, a second terminal thereof is coupled to the firmware download port group, and a third terminal thereof is coupled to the interface unit. The processing unit controls the interface unit to couple a third terminal of the interface unit to a first terminal or a second terminal thereof according to a logic state received by the mode setting port group.
The present invention further provides a non-volatile memory controller including a first memory port group, a second memory port group, a control unit, a processing unit, an interface unit, and a mode setting port group. The first memory port group is used for coupling to a first non-volatile memory. The second memory port group is used for coupling to a second non-volatile memory, wherein the second memory port group is further served as a firmware download port group. The control unit is coupled to the first memory port group and the second memory port group. The processing unit is coupled to the control unit, and the processing unit accesses the first non-volatile memory or the second non-volatile memory through the control unit. The interface unit is coupled to the processing unit, wherein the processing unit provides a process interface through the interface unit to allow a host to access the first non-volatile memory or the second non-volatile memory. The processing unit controls the control unit according to a logic state of the mode setting port group to determine whether the control unit executes an instruction received through the firmware download port group.
The present invention further provides a memory card including a first non-volatile memory, a second non-volatile memory, and a non-volatile memory controller. The non-volatile memory controller includes a first memory port group, a second memory port group, a control unit, a processing unit, an interface unit, and a mode setting port group. The first memory port group is coupled to the first non-volatile memory. The second memory port group is coupled to the second non-volatile memory, wherein the second memory port group is further served as a firmware download port group. The control unit is coupled to the first memory port group and the second memory port group. The processing unit is coupled to the control unit, and the processing unit accesses the first non-volatile memory or the second non-volatile memory through the control unit. The interface unit is coupled to the processing unit, wherein the processing unit provides a process interface through the interface unit to allow a host to access the first non-volatile memory or the second non-volatile memory. The processing unit controls the control unit according to a logic state of the mode setting port group to determine whether the control unit executes an instruction received through the firmware download port group.
According to an embodiment of the present invention, the non-volatile memory controller and the non-volatile memory are packaged together in a multi-chip package (MCP).
According to an embodiment of the present invention, the host access port group is disposed at a lower side of the MCP to be soldered on a printed circuit board (PCB), the firmware download port group is disposed on an upper side of the MCP, and the mode setting port group may be disposed on the upper side of the MCP.
According to another embodiment of the present invention, the host access port group is disposed in the center area of a lower side of the MCP to be soldered on a PCB, the firmware download port group is disposed at an edge area of the lower side of the MCP, and the mode setting port group may be disposed at the edge area of the lower side of the MCP.
According to an embodiment of the present invention, the non-volatile memory controller and the non-volatile memory are respectively packaged in different packages, wherein the host access port group and the memory port group are disposed at a packaged lower side of the non-volatile memory controller to be soldered on a PCB, the firmware download port group is disposed on a packaged upper side of the non-volatile memory controller, and the mode setting port group is disposed on the packaged upper side of the non-volatile memory controller.
According to another embodiment of the present invention, the host access port group and the memory port group are disposed in the center area of a packaged lower side of the non-volatile memory controller to be soldered on a PCB, the firmware download port group is disposed at an edge area of the packaged lower side of the non-volatile memory controller, and the mode setting port group may be disposed at the edge area of the packaged lower side of the non-volatile memory controller.
According to an embodiment of the present invention, the switch unit of the non-volatile memory controller is a multiplexer or a switch.
According to an embodiment of the present invention, the non-volatile memory controller further serves the firmware download port group as a second memory port group to be coupled to a second non-volatile memory, and the control unit is further coupled to the second memory port group to allow the processing unit to access the second non-volatile memory through the control unit.
Thereby, when the firmware in the non-volatile memory is to be updated, the switch unit switches to the firmware download port group to allow the processing unit to obtain a new firmware, and the control unit writes the new firmware into the non-volatile memory directly on the circuit board according to the instruction of the processing unit. As a result, firmware updating is made more convenient. Moreover, by sharing a port group between different functions, the cost of the memory card in the present invention is not increased and no additional pin is disposed.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
The non-volatile memory controller 200 includes an interface unit 240, a processing unit 122, a control unit 123, a switch unit 210, a host access port group 124, a firmware download port group 280, a mode setting port group 270, and a memory port group 125. The host access port group 124, the firmware download port group 280, the mode setting port group 270, and the memory port group 125 may be bounding pad groups of the non-volatile memory controller 200. The interface unit 240 includes an interface circuit 121 and a register 241, and the switch unit 210 includes a multiplexer 220 and a register 230. The first terminal 221, the second terminal 222, and the third terminal 223 of the multiplexer 220 are respectively served as the first terminal, the second terminal, and the third terminal of the switch unit 210.
The host access port group 124 is coupled to the first terminal 221 of the multiplexer 220, and the firmware download port group 280 is coupled to the second terminal 222 of the multiplexer 220. The third terminal 223 of the multiplexer 220 is coupled to the interface unit 240. The memory port group 125 may be coupled to the non-volatile memory 160. The control unit 123 is coupled to the processing unit 122 and the memory port group 125. The control unit 123 accesses the non-volatile memory 160 according to a signal of the processing unit 122. In other words, the processing unit 122 accesses the non-volatile memory 160 through the control unit 123.
The processing unit 122 receives a mode signal 260 through the interface unit 240 and the mode setting port group 270 and controls the switch unit 210 to switch between the first, the second, and the third terminal according to the logic state of the mode signal 260, so as to selectively couple the interface unit 240 to the host access port group 124 or the firmware download port group 280. For example, if the mode signal 260 is at high level, the processing unit 122 controls the switch unit 210 to connect the third terminal 223 of the multiplexer 220 to the first terminal 221 thereof, so that the non-volatile memory controller 200 can provide a process interface to the host 140 to allow the host 140 to access the non-volatile memory 160. Contrarily, if the mode signal 260 received by the processing unit 122 through the mode setting port group 270 is at low level, the processing unit 122 controls the switch unit 210 to connect the third terminal 223 of the multiplexer 220 to the second terminal 222 thereof, so that the non-volatile memory controller 200 is temporarily disconnected from the host 140 and the process interface is provided to a fixture 180 to allow the fixture 180 to update the firmware in the non-volatile memory 160.
The registers 230 and 241 are respectively used for temporarily storing an instruction of the processing unit 122 and the mode signal 260. The operation of the processing unit 122 corresponding to the logic state of the mode signal 260 is not limited in the present embodiment; instead, it can be determined according to the actual requirement of a circuit designer. Besides, in the present embodiment, the mode setting port group 270 is coupled to the interface unit 240; however, the present invention is not limited thereto, and the mode setting port group 270 may also be coupled to the control unit 123 or directly to the processing unit 122.
If the host 140 is about to access the non-volatile memory 160, the mode signal 260 is sent to the register 241 in the interface unit 240 through the mode setting port group 270. When the processing unit 122 receives the mode signal 260 from the register 241, it controls the switch unit 210 to connect the third terminal 223 of the multiplexer 220 to the first terminal 221 thereof, so that the interface circuit 121 can be connected to the host access port group 124. Accordingly, the host 140 can be coupled to the non-volatile memory controller 200 through the host access port group 124 and accesses the non-volatile memory 160.
It should be noted that if a firmware stored in the non-volatile memory 160 is to be updated (in the present embodiment, the firmware is assumed to be stored in the non-volatile memory 160), the processing unit 122 issues a switch command to the switch unit 210 according to the mode signal 260 to connect the third terminal 223 of the multiplexer 220 to the second terminal 222 thereof, so that the interface circuit 121 is connected to the firmware download port group 280. Accordingly, the non-volatile memory controller 200 is connected to the fixture 180 through the firmware download port group 280. Then the fixture 180 sends the new firmware to the interface circuit 121 through the firmware download port group 280 and the switch unit 210 according to the predetermined memory card standard (for example, the standard of CF card, SM card, MMC card, MS card, or SD card). The processing unit 122 then obtains the new firmware through the interface circuit 121. The processing unit 122 issues a write command to the control unit 123 to allow the control unit 123 to write the new firmware into the non-volatile memory 160 through the memory port group 125. By now, the firmware updating process is completed.
Because the processing unit 122 switches the electrical path between the first terminal of the switch unit 210 (i.e., the first terminal 221 of the multiplexer 220) and the host 140 into a floating state (i.e., an off state) according to the mode signal 260, the problem of bus contention can be avoided in foregoing firmware updating process. Thus, the non-volatile memory controller 200 provided by the present invention can update a firmware directly on a printed circuit board, and accordingly firmware updating is made very convenient.
In the embodiment described above, the non-volatile memory controller 200 and the non-volatile memory 160 may be integrated into the same integrated circuit (IC, or chip) or may also be implemented respectively in different ICs (or chips). If the non-volatile memory controller 200 and the non-volatile memory 160 are respectively implemented in different ICs (or chips), they can be fabricated through any packaging technique. For example, the non-volatile memory controller 200 and the non-volatile memory 160 may be packaged together in a MCP. Or, the non-volatile memory controller 200 and the non-volatile memory 160 may also be respectively packaged in different IC packages.
In addition, the multiplexer 220 may also be replaced by a switch device (such as the switch 320 in
In some embodiments of the present invention, the non-volatile memory controller 400 may be connected to a plurality of non-volatile memories, such as the non-volatile memories 160 and 170 in the present embodiment. In the present embodiment, it is assumed that the non-volatile memory 160 is used for storing a firmware and the non-volatile memory 170 is used by the host 140 for storing general data (such as text files, music files, and image files, etc). The control unit 123 issues a chip selection signal such that the processing unit 122 can enable one of a plurality of non-volatile memories (160 and 170) and disable the other unselected non-volatile memories. Thus, to update the firmware stored in the non-volatile memory 160, no action is taken to the non-volatile memory 170 and the second memory port group 126 is idled. Thus, the memory port group 126 can be served as the firmware download port group when the firmware is updated, namely, the same port group is shared by different functions.
Thereby, to update the firmware stored in the non-volatile memory 160, the processing unit 122 issues a switch command to the switch unit 210 according to the mode signal 260 to connect the third terminal 223 of the multiplexer 220 to the second terminal 222 thereof, so that the interface circuit 121 is connected to the common port group 126 (i.e., the memory port group 126). Accordingly, the non-volatile memory controller 200 is connected to the fixture 180 used for updating the firmware through the common port group 126 to obtain the new firmware. Then the processing unit 122 obtains the new firmware through the interface circuit 121 and issues a write command to the control unit 123. The control unit 123 then writes the new firmware into the non-volatile memory 160 through the memory port group 125. By now, the firmware updating process is completed.
The mode signal 260 indicates that the fixture 180 used for updating the firmware is already removed when the firmware is not to be updated. Thereby, the host 140 can still access the non-volatile memories 160 and 170 through the non-volatile memory controller 400. The mode signal 260 indicates that the memory port group 126 is served as the firmware download port group when the firmware is updated. By sharing the same port group between different functions, the layout area taken by port groups (or bounding pads) in the non-volatile memory controller 400 and the cost of the non-volatile memory controller 400 can be reduced.
In the embodiment described above, the non-volatile memory controller 400 and the non-volatile memories 160 and 170 may be integrated into the same IC (or chip) or may also be implemented respectively in different ICs (or chips). If the non-volatile memory controller 400 and the non-volatile memories 160 and 170 are respectively implemented into different ICs (or chips), they can be fabricated through any packaging technique. For example, the non-volatile memory controller 400 and the non-volatile memories 160 and 170 may be packaged together into a MCP. Or, the non-volatile memory controller 400 and the non-volatile memories 160 and 170 may also be respectively packaged into different IC packages.
The firmware updating method described above may also be changed appropriately by those having ordinary knowledge in the art according to the description of foregoing embodiment. For example, in another embodiment of the present invention, the electrical path between the control unit 123 and the internal bus of the non-volatile memory controller 400 may be switched to a floating state (i.e., an off state). In other words, the processing unit 122 can temporarily disables the connection between the control unit 123 and the internal bus of the non-volatile memory controller 400 according to the logic state of the mode signal 260 received by the mode setting port group 270, so that the fixture 180 can send an instruction and the new firmware to the control unit 123 through the second memory port group 126 without being interfered by the internal bus of the non-volatile memory controller 400. After that, the control unit 123 writes the new firmware into the non-volatile memory 160 through the memory port group 125.
In yet another embodiment of the present invention, the processing unit 122 may also disable the functions of the switch unit 210 and the interface circuit 121 according to the mode signal 260. Then the fixture 180 connected to the second memory port group 126 can issue an instruction to the control unit 123 so that the control unit 123 can write the new firmware into the non-volatile memory 160 through the memory port group 125. As described above, in the present embodiment, the fixture 180 can directly update the firmware in the non-volatile memory 160 through the control unit 123.
In the present embodiment, the first non-volatile memory 160 is used for storing a firmware, and the second non-volatile memory 170 is used for storing general data (for example, document files, music files, and image files, etc) written by the host 140. The processing unit 122 selects and enables one of the non-volatile memories (160 and 170) and disables the others according to a chip selection signal issued by the control unit 123. Thus, no operation is performed to the second non-volatile memory 170 when the firmware stored in the first non-volatile memory 160 is updated, and herein the second memory port group 126 is idled. Accordingly, the second memory port group 126 can be served as a firmware download port group (i.e., the same port group is shared by two different functions) when the firmware is updated.
In the present embodiment, the non-volatile memory controller 1100 and the non-volatile memories 160 and 170 are all packaged into a MCP. The non-volatile memory controller 1100 in the present embodiment may be designed as a memory card controller of any type or any pattern. For example, the non-volatile memory controller 1100 may be a memory card controller conforming to the standard of a Smart card, a PC card, a CF card, a SM card, a MMC card, a MS card, or a SD card. In addition, the non-volatile memories 160 and 170 in the present embodiment may be any programmable read-only memories, such as flash memories and electrically erasable programmable read-only memories (EEPROM), etc.
The non-volatile memory controller 1100 includes an interface unit 240, a processing unit 122, a control unit 123, a host access port group 124, a mode setting port group 270, a first memory port group 125, and a second memory port group 126, wherein the second memory port group 126 is further served as a firmware download port group such that an external fixture can be connected to the control unit 123 through the firmware download port group (i.e., the second memory port group 126). The host access port group 124, the mode setting port group 270, the first memory port group 125, and the second memory port group 126 may be bounding pad groups of the non-volatile memory controller 1100.
The first memory port group 125 is used for connecting to the first non-volatile memory 160, and the second memory port group 126 is used for connecting to the second non-volatile memory 170. The control unit 123 is coupled to the processing unit 122, the first memory port group 125, and the second memory port group 126. The control unit 123 accesses the non-volatile memory 160 or 170 according to a signal of the processing unit 122. In other words, the processing unit 122 accesses the non-volatile memory 160 or 170 through the control unit 123.
The interface unit 240 includes an interface circuit 121 and a register 241. The host access port group 124 is coupled to the interface circuit 121 of the interface unit 240. Accordingly, the non-volatile memory controller 1100 can provide a process interface to the host 140 such that the host 140 can access the first non-volatile memory 160 through the host access port group 124, the interface circuit 121, and the control unit 123.
The register 241 is used for temporarily storing a mode signal 260. The processing unit 122 receives the mode signal 260 through the register 241 and the mode setting port group 270 and controls the control unit 123 according to the logic state of the mode signal 260 received through the mode setting port group 270 to determine whether the control unit 123 executes an instruction received through the firmware download port group 126. For example, if the mode signal 260 is a high level signal, the processing unit 122 disables the interface unit 240 and controls the control unit 123 through the firmware download port group 126. Accordingly, an external fixture 180 sends an instruction and a new firmware to the control unit 123 through the firmware download port group 126, and the control unit 123 writes the new firmware into the first non-volatile memory 160 through the first memory port group 125. In other words, the control unit 123 which is controlled by the fixture 180 can writes the new firmware provided by the fixture 180 into the first non-volatile memory 160.
The operation of the processing unit 122 corresponding to the logic state of the mode signal 260 is not limited in the present embodiment and which can be determined according to the actual requirement of a circuit designer. Additionally, in the present embodiment, the mode setting port group 270 is coupled to the interface unit 240. However, the coupling of the mode setting port group 270 is not limited in the present embodiment, and the mode setting port group 270 may also be coupled to the control unit 123 or directly to the processing unit 122.
As described above, when the host 140 is about to access the non-volatile memory 160 or 170, the mode signal 260 is transmitted to the register 241 in the interface unit 240 through the mode setting port group 270. After the processing unit 122 obtains the mode signal 260 from the register 241, it controls the control unit 123 to operate in a normal mode. Thus, the host 140 can be coupled to the non-volatile memory controller 1100 through the host access port group 124 to access the non-volatile memory 160 or 170.
To update the firmware stored in the first non-volatile memory 160 (in the present embodiment, it is assumed that the firmware is stored in the non-volatile memory 160), the processing unit 122 disables the interface unit 240 according to the mode signal 260 and controls the control unit 123 to operate in a firmware updating mode. The control unit 123 is under the control of the firmware download port group 126 in this firmware updating mode. Accordingly, the external fixture 180 sends an instruction and a new firmware to the control unit 123 through the firmware download port group 126. The control unit 123 writes the new firmware into the first non-volatile memory 160 through the first memory port group 125, so as to update the firmware stored in the first non-volatile memory 160, according to the instruction issued by the fixture 180.
The processing unit 122 disables the interface circuit 121 according to the mode signal 260. Then, the fixture 180 connected to the second memory port group 126 (i.e., the firmware download port group) issues an instruction to the control unit 123, and accordingly the control unit 123 updates the firmware stored in the first non-volatile memory 160 through the first memory port group 125. Thereby, in the present embodiment, the fixture 180 can update the firmware in the first non-volatile memory 160 directly through the control unit 123. During the firmware updating process described above, the problem of bus contention can be avoided. Accordingly, the non-volatile memory controller 1100 in the present invention can update a firmware directly on a printed circuit board, and accordingly firmware updating is made more convenient.
The firmware updating process described above can be appropriately changed by those having ordinary knowledge in the art according to the embodiment described above. For example, in another embodiment of the present invention, the processing unit 122 may switch the electrical path between the control unit 123 and an internal bus of the non-volatile memory controller 1100 to a floating state (i.e., an off state) according to the mode signal 260. In other words, the processing unit 122 may temporarily disable the connection between the control unit 123 and the internal bus of the non-volatile memory controller 1100 according to the logic state of the mode signal 260 received through the mode setting port group 270. Then, the fixture 180 may send an instruction and a new firmware to the control unit 123 through the second memory port group 126 (i.e., the firmware download port group) without being affected by the internal bus of the non-volatile memory controller 1100. After that, the control unit 123 can write the new firmware into the first non-volatile memory 160 through the first memory port group 125.
If the mode signal 260 indicates that the firmware is not to be updated and the fixture 180 for updating the firmware has been removed, the host 140 can still access the non-volatile memories 160 and 170 through the non-volatile memory controller 1100. If the mode signal 260 indicates that the firmware is to be updated, the processing unit 122 transmits a chip selection signal to the second non-volatile memory 170 according to the logic state of the mode setting port group 270 to disable the second non-volatile memory 170 so that the second memory port group 126 can be served as the firmware download port group. By sharing the port group, less layout area is taken by port groups (or bounding pads) in the non-volatile memory controller 1100 and accordingly the fabrication cost is reduced.
In the embodiment described above, the non-volatile memory controller 1100 and the non-volatile memories 160 and 170 can be integrated into the same IC (or chip) or respectively implemented in different ICs (or chips). If the non-volatile memory controller 1100 and the non-volatile memories 160 and 170 are respectively implemented in different ICs (or chips), they can be fabricated through any packaging technique. For example, the non-volatile memory controller 1100 and the non-volatile memories 160 and 170 can be packaged together into a MCP. Or, the non-volatile memory controller 1100 and the non-volatile memories 160 and 170 can be respectively packaged into different IC packages.
The firmware updating process described above may also be appropriately changed by those having ordinary knowledge in the art according to the description of the fifth embodiment. For example, in another embodiment of the present invention, the processing unit 122 may switch the electrical path between the control unit 123 and an internal bus of a non-volatile memory controller 1200 to a floating state (i.e., an off state) according to the mode signal 260. Namely, the processing unit 122 may temporarily disable the connection between the control unit 123 and the internal bus of the non-volatile memory controller 1200 according to the logic state of the mode signal 260 received through the mode setting port group 270. Then, the fixture 180 can send an instruction and a new firmware to the control unit 123 through the second memory port group 126 (i.e., the firmware download port group) without being affected by the internal bus of the non-volatile memory controller 1200. After that, the control unit 123 can write the new firmware into the first non-volatile memory 160 through the first memory port group 125.
The non-volatile memory controller in foregoing first, second, third, fourth and fifth embodiment has a plurality of port groups, such as the host access port group 124, the firmware download port group 280, the mode setting port group 270, and the memory port groups 125 and 126. If the non-volatile memory controller and the non-volatile memory are packaged together into a MCP (for example, a memory card package), since the memory port groups 125 and 126 are packaged inside the MCP, there is no need to dispose corresponding pins of the memory port groups 125 and 126 on the surface of the MCP. Herein the surface of the MCP for disposing the pins corresponding to the host access port group 124 is defined as a “lower side” and which is to be soldered on a printed circuit board (PCB, not shown). The firmware download port group 280 and the mode setting port group 270 can be respectively disposed on the lower side or an upper side of the MCP. For example, the firmware download port group 126 or 280 and the mode setting port group 270 may be both disposed on the upper side or the lower side of the MCP, or the two may also be disposed on different sides of the MCP. Generally, the host access port group 124 can be disposed in the center area of the lower side of the MCP to be soldered on the PCB. The firmware download port group 126 or 280 can be disposed at an edge area of the lower side of the MCP, and the mode setting port group may also be disposed at the edge area of the lower side of the MCP.
Besides, if the non-volatile memory controller 200, 400, 500, 1100 or 1200 and the non-volatile memories 160 and 170 are individually packaged, the port groups thereof may be disposed as following:
1. The host access port group 124 and the memory port groups 125 and 126 are disposed at a packaged lower side of the non-volatile memory controller to be soldered on a PCB. The firmware download port group 126 or 280 and the mode setting port group 270 may be deposed on the same side (the upper side or the lower side) or different sides of the package.
2. If the host access port group 124 and the memory port groups 125 and 126 are disposed in the center area of the packaged lower side of the non-volatile memory controller, the firmware download port group 126 or 280 may be disposed at an edge area of the packaged lower side of the non-volatile memory controller, and the mode setting port group 270 may also be disposed at the edge area of the packaged lower side of the non-volatile memory controller.
The dispositions of foregoing port groups are not limited to the pattern described in the present embodiment; instead, they can be determined according to the actual requirement of circuit layout by those having ordinary knowledge in the art. The disposition of the firmware download port group in some embodiments of the present invention will be described below with reference to structure diagrams and exploded views of MCPs.
The fixture 180 is connected to a non-volatile memory controller (for example, the non-volatile memory controller in
As described above, the non-volatile memory controller provided by the present invention can update a firmware in a non-volatile memory without taking out the non-volatile memory. As a result, firmware updating is made very convenient. Moreover, different disposition patterns of pins for connecting a fixture are provided by the present invention such that the convenience in firmware updating is further improved and less surface area is taken by the pins.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
97131804 | Aug 2008 | TW | national |