Various embodiment of the invention relate generally to memory cards and particularly to memory card readers.
Memory cards offer portability for transferring and/or maintaining large amounts of data, in various forms, and are therefore widely employed. Examples of information stored in memory cards are video, pictures, data files, and a host of other types of information.
As memory has dropped in price and size, applications employing memory, such as memory card readers, have benefitted greatly. A memory card today has a memory capacity orders of magnitude more than those of, for example, five years ago and cost less than an equivalent memory card if it would have been possible to make such memory cards. Memory cards are expected to continue to enjoy these benefits in the future.
Security is a near-must for the protection of information to guard against or at least reduce the risk of information theft. Unfortunately, as is well known, identity theft has been a major concern. Portability of sensitive information, in a memory card, presents at times catastrophic risks.
Further, the transfer of information from a memory card to a host machine, for example from a portable memory drive to a personal computer (PC), currently takes time. Needless to say, this is, at a minimum, inconvenient for users of memory cards. Performance of the memory card is hindered by current controllers that are employed to read saved information transferred from a memory card to a host.
Accordingly, there is a need for card readers with higher performance and security.
Briefly, A storage controller with Universal Flash Storage (UFS) interface includes a series bus controller responsive to information from a first externally-located host, and a microprocessor coupled to the series bus controller and responsive to the information, and one or more UFS host interfaces responsive to the output from the microprocessor and operable to generate information to one or more externally-located UFS devices. The number of externally-located UFS devices is equal to the number of UFS host interfaces, wherein the UFS host devices cause simultaneous communication of at least some of the information to the externally-located UFS devices.
A further understanding of the nature and the advantages of particular embodiments disclosed herein may be realized by reference of the remaining portions of the specification and the attached drawings.
Particular embodiments and methods of the invention disclose a storage controller with a Universal Flash Storage (UFS) device interface. The UFS device interface can have one or more UFS host interfaces allowing it to communicate with multiple host devices simultaneously.
The following description describes a storage controller with a UFS device interface. The storage controller with UFS device interface employs one or more UFS interfaces causing improved performance and throughput, as discussed below.
Referring now to
The microprocessor 10 is shown coupled to the ROM 14, the RAM 15, the bus controller 11, the data buffer 12, and the UFS hosts 13, i.e. UFS host 1, UFS host 2, and UFS host 3. As such, the microprocessor 10 controls these structures (to which it is coupled) in the interface 1. The bus controller 11 is typically in communication with a host (not shown) through a recognized protocol interface, such as without limitation SATA. Information, in the form of data, is transferred between the interface 1 and the host through the bus controller 11 and under the direction of the microprocessor 10.
The UFS hosts 13 are typically in communication with storage devices (not shown) located externally to the interface 1, such as memory cards. Thus, information, such as data, is transferred between the interface 1 and storage device(s), located externally to the interface 1, through the host interface 13 and under the direction of the microprocessor 10. Similarly, the UFS hosts 13 allows for communication between an externally-located host device, such as computing or communication or networking devices, and the microprocessor 10. It is through the UFS hosts 13 that data or other types of information is transferred to an externally-located memory/storage devices, under the direction of the microprocessor 10. For instance, when an externally-located device is interested in accessing data stored in the RAM 15 or from the bus controller 11, microprocessor 10 retrieves the data from the RAM 15 or the bus controller 11, as the case may be, and couples it through to the UFS hosts 13 to the externally-located device(s). In the case where data is generated by the bus controller 11, data is first saved in the data buffer 12 and then passed onto the UFS hosts 13, under the direction of the microprocessor 10. Accordingly, data buffer 12 buffers information passed on from the bus controller 11 and provides the buffered data to the UFS hosts 13.
The bus controller 11 is generally compliant with an industry-adopted standard, such as Serial ATA (SATA), Peripheral Component Interconnect Express (PCIe), Universal Serial Bus (USB) and their updated version. An example of the UFS hosts 13 is a host that is compliant with the open-industry standard adopted by the Joint Electron Device Engineering Council (JEDEC), the currently-published version of its future upgrade version(s).
In various embodiments of the invention, the externally-located memory/storage devices may be compliant with, without limitation, USB, SATA or PCIe.
The interface 1 in an embodiment of the invention is made on a substrate of an integrated circuit (IC) in its entirety. In another embodiment, the interface 1 is made on more than one substrate. The engine 1 is on a single integrated circuit (IC), in an embodiment of the invention. In another embodiment of the invention, it is on multiple ICs and/or printed circuit boards (PCBs). In yet another embodiment of the invention, the card reader controller 1 is on a single PCB. In still other embodiments of the invention, some or all portions of the card reader controller 1, shown in
As shown, the ROM 14 and the RAM 15 are both shown coupled to the microprocessor 10. The ROM 14 is typically used to maintain the program (software/firmware) executed by the microprocessor 10 and the RAM 15 is typically used to maintain data and/or program employed by the microprocessor. The microprocessor 10 operates by executing code (also referred to herein as “program”) residing in the ROM 14 and/or the RAM 15.
In operation, the engine 1 receives information through the bus controller 11 and under the direction of the microprocessor 10. The received information is saved in the data buffer 12 under the control of the microprocessor 10. The microprocessor 10 ultimately causes part of all of the information received through the controller 11 to be sent to the hosts 13 for transmission to an external device.
Depending on design choices, the bus controller 11 may be compliant with known protocols/standards. In an embodiment of the invention, the bus controller 11 is compliant with the PCIe, SATA, SAS, or USB standards.
The UFS hosts 13 are each coupled to the matrix 16, which is shown coupled to the microprocessor 10 as well as the data buffer 12. In this manner, the matrix 16, under the direction of the microprocessor 10, transmits information between the data buffer 12 and the UFS hosts (1−N) 13.
The data buffer 12 effectively acts as the data exchange buffer between the controller 11 and the N UFS hosts 13.
The matrix 16 selectively couples the UFS hosts 13 with the data buffer 12, as there may be N number of UFS host interfaces and only one data buffer 12.
In an embodiment of the invention, the microprocessor 10 is an embedded processor, with suitable capability to communicate with the protocol, parameter configuration, and commands defined by both the serial port (the communication bus between the controller 11 (or output of the controller 11) and that to which it couples) and the N number of UFS ports (the output of the hosts 13).
As described above, relative to the embodiment of
In each of the embodiments of
Although the description has been described with respect to particular embodiments thereof, these particular embodiments are merely illustrative, and not restrictive.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
Thus, while particular embodiments have been described herein, latitudes of modification, various changes, and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of particular embodiments will be employed without a corresponding use of other features without departing from the scope and spirit as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit.
This application is a continuation-in-part of U.S. patent application Ser. No. 14/085,469, filed on Nov. 20, 2013, by Jianjun Luo, et al., and entitled “REDUNDANT ARRAY OF INDEPENDENT MODULES”.
Number | Date | Country | |
---|---|---|---|
Parent | 14085469 | Nov 2013 | US |
Child | 14668920 | US |