Claims
- 1. A memory controller for managing data within a memory component, the memory controller comprising:
a switching circuit having a plurality of data input/output (I/O) terminals and multiple sets of transfer terminals; a standard transfer circuit connected to one set of transfer terminals; a fast serial transfer circuit connected to another set of transfer terminals; and a compression/decompression engine connected to the standard transfer circuit and the fast serial transfer circuit.
- 2. The memory controller of claim 1, further comprising:
a storage device interface connected between the compression/decompression engine and memory; and logic circuitry connected to the switching circuit, standard transfer circuit, fast serial transfer circuit, compression/decompression engine, and storage device interface.
- 3. The memory controller of claim 2, wherein the switching circuit further comprises a plurality of switches, the switches configured to connect the data I/O terminals to one set of the multiple sets of transfer terminals.
- 4. The memory controller of claim 3, wherein the logic circuitry is configured to, in response to a command from a host to initiate a fast data transfer mode, signal the switching circuit to configure the plurality of switches such that the data I/O terminals are connected to the transfer terminals that are connected to the fast serial transfer circuit.
- 5. The memory controller of claim 1, wherein the compression/decompression engine comprises:
a compression detector that detects whether the data is in compressed form; a compression engine that compresses incoming data when the compression detector detects that the data is not in compressed form; and a data input control circuit that selects between the incoming data and the compressed data, and adds a compression symbol to the selected data to identify the data as either compressed or not compressed.
- 6. The memory controller of claim 1, wherein the compression/decompression engine comprises:
a decompression detector that detects the compression symbol added to the data retrieved from memory; a decompression engine that decompresses the data retrieved from memory; and a data output control circuit that selects between the data retrieved from memory and the decompressed data.
- 7. A system for storing data, the system comprising:
a host; and a memory component in electrical communication with the host, the memory component comprising:
at least one memory bank; and a memory controller connected to the at least one memory bank, the memory controller comprising:
a switching circuit that switches between a parallel transfer mode and a fast serial transfer mode; and a compression/decompression engine that compresses and decompresses data.
- 8. The system of claim 7, wherein the memory component is a memory card.
- 9. The system of claim 8, wherein the memory card has a form factor compatible with one of MultiMediaCard™, Secure Digital™ card, and Memory Stick™ or other memory card form factors that have separate command and data lines.
- 10. The system of claim 7, wherein the memory controller further comprises a storage device interface that transfers compressed data, transferred in either the parallel transfer mode or the fast serial transfer mode, between the compression/decompression engine and the at least one memory bank.
- 11. The system of claim 7, wherein the host comprises:
a user device processing system that comprises a data source and a destination circuit; a switching circuit; a standard transfer circuit connected between the user device processing system and the switching circuit; a fast serial transfer circuit connected between the user device processing system and the switching circuit; and a logic circuit providing a control signal to the switching circuit to configure the switching circuit to operate in one of the parallel transfer mode and the fast serial transfer mode.
- 12. The system of claim 11, wherein the host further comprises a host connector connected to the standard transfer circuit via the switching circuit when the logic circuit configures the switching circuit to operate in the parallel transfer mode and connected to the fast serial transfer circuit via the switching circuit when the logic circuit configures the switching circuit to operate in the fast serial transfer mode.
- 13. The system of claim 7, wherein the memory controller further comprises:
a standard transfer circuit; a fast serial transfer circuit; a storage device interface; and logic circuitry.
- 14. The system of claim 13, wherein the logic circuitry is adapted to configure switches within the switching circuit to switch one of the standard transfer circuit and the fast serial transfer circuit into a data transfer path, such that the system is in the parallel transfer mode when the standard transfer circuit is in the data transfer path and is in the fast serial transfer mode when the fast serial transfer circuit is in the data transfer path.
- 15. The system of claim 13, wherein the standard transfer circuit comprises push-pull transceivers.
- 16. The system of claim 13, wherein the fast serial transfer circuit comprises a processing circuit, a transmitting differential amplifier, and a receiving serial differential amplifier.
- 17. The system of claim 16, wherein the processing circuit comprises:
a phase locked loop circuit that increases a system clock speed; and a serial/deserial circuit.
- 18. The system of claim 16, wherein the transmitting differential amplifier is configured to pull serial digital data from the processing circuit and convert the serial digital data to a serial differential format including positive and negative components.
- 19. The system of claim 16, wherein the receiving differential amplifier is configured to receive serial differential data, convert the serial differential data to a serial digital format, and output the serial digital data into the processing circuit.
- 20. The system of claim 13, wherein the switching circuit comprises a plurality of switches adapted to configure the fast serial transfer circuit in a half-duplex mode.
- 21. The system of claim 20, wherein, in a fast serial transfer mode, the switching circuit is adapted to configure the plurality of switches such that differential serial data is either transmitted or received along two data lines.
- 22. The system of claim 13, wherein the switching circuit comprises a plurality of switches adapted to configure the fast serial transfer circuit in a full-duplex mode.
- 23. The system of claim 22, wherein, in a fast serial transfer mode, the switching circuit is adapted to configure the plurality of switches such that differential serial data is simultaneously transmitted and received along four data lines.
- 24. A system for transferring data along data paths within a memory component, the system comprising:
means for switching the paths of data transfer to one of a parallel transfer mode and a fast serial transfer mode; means for transferring data in the parallel transfer mode; means for transferring data in the fast serial transfer mode; means for compressing and decompressing data; and means for controlling the means for switching to configure the means for switching in either one of the parallel transfer mode or the fast serial transfer mode.
- 25. The system of claim 24, wherein the means for transferring data in the fast serial transfer mode comprises a high transfer rate that is higher than the transfer rate when the path of data transfer is switched to the parallel transfer mode.
- 26. The system of claim 24, wherein the means for controlling controls the means for switching in response to a command from a host.
- 27. The system of claim 24, wherein the means for compressing and decompressing data comprises:
means for detecting if data has already been compressed and for transmitting the data to a means for storing data when the data is detected as being compressed; means for performing a compression algorithm on the data when the means for detecting detects that the data has not been compressed; and means for adding a compression identifier, indicating the algorithm used for compressing the data, and for transmitting the compressed data and compression identifier to the means for storing data.
- 28. The system of claim 27, wherein the means for compressing and decompressing data further comprises:
means for retrieving data from the means for storing data, for detecting whether a compression identifier is present, and for transmitting the data to the means for switching when no compression identifier is present; and means for decompressing the data when a compression identifier is present and for transmitting the decompressed data to the means for switching.
- 29. A method for transferring data between a host and a memory component, the method comprising the steps of:
determining whether the host requests a fast serial transfer mode; configuring a switching circuit to connect a plurality of data lines to a plurality of fast serial transfer lines when the host requests the fast serial transfer mode; and configuring the switching circuit to connect the plurality of data lines to a plurality of parallel transfer lines when the host does not request the fast serial transfer mode.
- 30. The method of claim 29, further comprising the steps of:
determining whether data has been previously compressed; compressing data that has not been previously compressed; and transferring the data to the memory component.
- 31. The method of claim 30, further comprising the step of adding a compression identifier along with the compressed data to indicate that the data has been compressed.
- 32. The method of claim 30, further comprising the steps of:
retrieving data from the memory component; determining whether the retrieved data has a compression identifier; when the retrieved data has a compression identifier, detecting the compression algorithm used to compress the data; decompressing the data using a decompression algorithm that is reciprocal to the compression algorithm; and transferring the decompressed data to the host.
- 33. An executable sequence stored on a computer-readable medium, the executable sequence comprising:
logic configured to transfer data along a fast serial transfer path; logic configured to transfer data along a parallel transfer path; logic configured to store data; logic configured to switch a data transfer path between one of a plurality of paths through the logic configured to store data and one of a plurality of paths through either the logic configured to transfer data along a fast serial transfer path and the logic configured to transfer data along a parallel transfer path; and logic configured to control the logic configured to switch.
- 34. A host device comprising a processor that executes the executable sequence of claim 33.
- 35. A memory card comprising a memory controller and a plurality of memory banks, wherein the memory controller executes the executable sequence of claim 33.
- 36. A memory card comprising:
a plurality of memory banks; a memory controller connected to the plurality of memory banks, the memory controller comprising:
a switching circuit having switching elements configurable in one of a plurality of selectable data transfer modes, each selectable data transfer mode comprising at least one of a plurality of data transfer paths; a standard transfer circuit connected along a first set of data transfer paths; and a fast serial transfer circuit connected along a second set of data transfer paths.
- 37. The memory card of claim 36, further comprising a compression/decompression engine connected between the data transfer paths and the plurality of memory banks.
- 38. The memory card of claim 36, further comprising a body having a form factor compatible with one of MultiMediaCard™, Secure Digital™ card, and Memory Stick™ or other memory card form factors that have separate command and data lines.
- 39. The memory card of claim 36, wherein the memory banks comprise atomic resolution storage (ARS) devices.
- 40. The memory card of claim 36, wherein the memory banks comprise magnetic random access memory (MRAM) devices.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to copending U.S. patent application Ser. No. 10/243,263 (HP Docket No. 100110738-1), filed on Sep. 13, 2002, and entitled “System for Quickly Transferring Data,” which is incorporated by reference in its entirety herein.