The accompanying drawings are included to provide a further understanding of the present invention and are incorporated in and constitute a part of this specification. The drawings illustrate the embodiments of the present invention and together with the description serve to explain the principles of the invention. Other embodiments of the present invention and many of the intended advantages of the present invention will be readily appreciated as they become better understood by reference to the following detailed description. The elements of the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding similar parts.
In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as “top,” “bottom,” “front,” “back,” “leading,” “trailing,” etc., is used with reference to the orientation of the Figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
One embodiment of a control unit for a memory module comprises a usage determination unit to determine an accumulated usage information and a control circuit coupled to the usage determination unit to compare the accumulated usage information and a usage limit information that defines a limit for usage of the memory module. The control circuit controls the operation of the control unit based on a result of the comparison of the accumulated usage information and the usage limit information.
One embodiment of a memory module comprises a control unit including a usage limit storage unit to store a usage limit information and a usage determination unit to determine an accumulated usage information, and at least one memory chip coupled to the control unit, wherein the control unit compares the usage limit information and the accumulated usage information and controls the memory module so that data are not further stored in the at least one memory chip if the accumulated usage information reaches the usage limit information.
One embodiment of a method for operating a memory module comprises retrieving an accumulated usage information, comparing the accumulated usage information and a usage limit information, receiving data to be stored, and storing the data in the memory module based on a result of the comparing.
One embodiment of a method for leasing a memory module comprises providing the memory module to a lessee for usage in a computer and monitoring an accumulated usage of the memory module. A lease fee is determined based on the accumulated usage.
One embodiment of a memory module has a storage functionality that may be at least partially disabled if a pre-determined accumulated usage limit (e.g., a pre-determined maximum usage time) has been reached.
One embodiment of a memory module is leased. The lease fee or pay is determined based on an actual usage of the memory module, such as usage time, so that lease fees generate a stable and continuous source of income for lessor.
A method of leasing a memory module according to an embodiment is explained with reference to
Lessee's computer 2 includes a central processing unit (CPU) 4 and a memory unit 5 connected thereto. As will be explained in more detail below, the memory unit 5 comprises one or several memory modules leased from lessor, which are configured in such a way that a storage functionality of the leased memory module or of the leased memory modules is at least partially disabled if a usage limit (e.g., an operation time) is exceeded. In order to avoid such a disabling of storage functionality, in an embodiment, lessee's computer automatically requests an extension of the usage limit by transmitting a corresponding request to lessor's server via data transfer connection 8 when the current usage limit is approached.
The memory modules are provided to lessee by lessor or an associate of lessor, either directly or via a manufacturer of the computers 2, 3. While the leased memory modules are physically installed in lessee's computer, their configuration, as described above, ensures that lessee must regularly contact lessor for receiving a usage extension, thus allowing lessor to charge a lease fee based on an actual usage of the leased memory modules.
Lessor's server includes a CPU 6 and a database 7 coupled thereto, the database containing data relating to memory modules leased from lessor, such as a unique identifier for each module leased and information on one or several usage extensions previously granted.
When receiving the request for usage extension, lessor's server automatically generates an extension signal that is transmitted to lessee's computer via data transfer connection 8. As will be explained in more detail below, the leased memory modules comprised by the memory unit 5 are configured such that the usage limit of a memory module may be extended by inputting an appropriate extension signal or extension code thereto. Therefore, by inputting the extension signal provided by lessor's server to the memory module installed in lessee's computer, the usage of the memory module may be extended (i.e., the lease of the memory module is extended). At the same time, the provision of the extension signal, and the amount by which the usage limit is extended, is registered in the database 7 of lessor's server, thus allowing lessor to charge lessee for the usage extension granted.
While the data transfer connections 8, 9 are schematically illustrated as physical links in
Further, while, in the embodiment shown in
Finally, while only two computers having leased memory modules installed therein are shown to be connected to lessor's server in
A memory unit 10 according to an embodiment is illustrated in
The memory unit 10 comprises a plurality of memory modules 12, 12′, 12″, each of which comprises a plurality of memory chips 14 (e.g., DRAM memory chips) installed thereon. Each memory module 12, 12′, 12″ further comprises a control unit 13 connected to the plurality of memory chips 14 comprised by the respective memory module 12, 12′, 12″. The memory modules 12, 12′, 12″ form a series or daisy chain configuration, a first memory module 12 being connected to a memory controller 11.
Two channels 15, 16 with typically high data transfer rates are provided for data transfer from the memory controller 11 to the memory modules 12, 12′, 12″ and vice versa, respectively. Additionally, an SMBus 17 is provided that typically is used for various control functions. Data transferred via channel 15, which comprises a storage address information identifying a storage address in one of the memory modules, is first buffered by the control units 13 of the memory modules 12, 12′, 12″ and, after the control units 13 have determined whether the storage address corresponds to the respective memory module, is stored in a memory chip of the respective memory module.
Examples of memory modules 12, 12′, 12″ are fully buffered DIMM (FB-DIMM), FB-DIMM2, or other memory modules having a serial buffer. While only three memory modules 12, 12′ and 12″ are illustrated in
While the control units 13 of the memory modules 12, 12′, 12″ buffer data in a way identical or similar to a conventional advanced memory buffer (AMB), in an embodiment, the control units 13 are configured in such a way as to perform additional functions specifically directed at monitoring an accumulated usage of the memory module and, if the accumulated usage exceeds a usage limit stored on the control unit 13, disabling, at least in part, a storage functionality of the memory module.
An embodiment of a method 20 of operating memory modules 12, 12′, 12″ is illustrated in
In one embodiment, after the control unit 13 has received, at 21, data to be stored from the memory controller 11 via channel 15, at 22, the usage limit information and the accumulated usage information are retrieved and are compared at 23. These acts or steps may be performed by the control unit 13 of the memory module. Alternatively, these acts or steps may be performed by the CPU of the computer in which the memory module is installed, and a signal may be sent from the CPU to the control unit 13 in dependence on the result of the comparison at 23. Still further, these acts or steps do not need to be performed each time data are received. Rather, in embodiments, these acts or steps are only performed, for example, in regular time intervals or each time pre-determined data amounts have been received, as will be described in more detail with reference to
Assuming, for simplicity, that the storage address information of the data received corresponds to an address on the memory module controlled by the control unit 13, the received data is stored in one or several of the memory chips of the memory module at 24, if the accumulated usage does not exceed the usage limit. By contrast, if the accumulated usage exceeds the usage limit (i.e., once the accumulated usage has reached the usage limit) the received data is not stored in the memory module, thus disabling the storage functionality of the memory module. Various actions may be taken if the accumulated usage exceeds the usage limit. In the embodiment illustrated in
In one embodiment, once the accumulated usage exceeds the usage limit, the control unit 13 sends a corresponding signal to the memory controller 11, so that the memory controller 11 no longer addresses data to this memory module.
In one embodiment, once the usage limit is exceeded, the control unit of the respective memory module is fully switched off, thereby cutting the series configuration illustrated in
As already indicated above,
At 26, the usage limit information and accumulated usage information are retrieved and are subsequently compared at 27. If the accumulated usage has not yet reached or exceeded the usage limit, after a wait time at 28, acts or steps 26 and 27 are repeated. By contrast, if the accumulated usage has reached the usage limit, at 28, the operation of the memory module will be stopped or a storage functionality thereof will be restricted at 29.
As already indicated above, the operation of the memory module may be restricted in a number of ways. For example, any access to the memory chips 14 may be inhibited. Alternatively, only the write access to the memory chips 14 will be inhibited and an error command is output by the control unit if a write command is received. Various other implementations of act or step 29 are conceivable. In one embodiment, once the operation of the memory module is stopped or restricted at 29, acts or steps 26 and 27 do not have to be carried out until the usage limit is increased.
While situations may occur in which the accumulated usage indeed exceeds the usage limit and a storage functionality of the memory module is disabled, it is typically in the interest of both lessor and lessee to regularly extend the usage limit of the memory module, thereby extending the lease of the memory module.
One embodiment of a method 30 for extending the usage limit is illustrated in
At 31, the usage limit information and accumulated usage information are retrieved. At 32, the difference of the usage limit and the accumulated usage is compared to a pre-determined, appropriately selected threshold. In one embodiment, the threshold may be set to zero. In another embodiment, the threshold has a finite value which is selected so as to be sufficiently large that the usage limit may conveniently be extended before the usage limit is reached or exceeded. If the usage limit is still larger than the accumulated usage plus the threshold, no further action is taken. If however, the accumulated usage has approached the usage limit so as to be larger than the usage limit minus the threshold, acts or steps 33-37 are performed to extend the usage limit.
At 33, an identification information identifying the control unit 13 or the corresponding memory module is retrieved. The identification information is, in one embodiment, stored on the control unit and comprises a unique identifier identifying the control unit, hereinafter referred to as unique AMB ID (UAID). Next, at 34, the control unit 13 transmits a signal to the memory controller 11, either via channel 16 or SMBus 17, which signal indicates that a usage extension is required, the signal typically comprising or being based on the identification information retrieved in act or step 33.
Based on the request, the memory controller 11 may then output a corresponding information to a user or system administrator of the computer in which the leased memory module is installed, and an extension code is manually input into the computer. However, in the embodiment schematically illustrated in
At 35, the usage extension code is received by the control unit. As will be explained in more detail with reference to
While most of the acts or steps 31-37 may be performed by either one of the control unit 13 or the CPU, acts or steps 35-37 being performed by the control unit 13 enhances security. In one embodiment, acts or steps 31-34 are performed by the CPU, while acts or steps 35-37 are performed by the control unit 13.
While, in the embodiment explained with reference to
Next, with reference to
In the embodiment of
In the embodiment of
One embodiment of a control unit 60 for a memory module is illustrated in
Both the buffer memory unit 61 and the control circuit 62 are coupled to channels 71, 72 and an SMBus 73. An additional channel 74 serves to couple the buffer memory unit to one or several DRAMs of a memory unit. The control unit 60 may, for example, be employed as control unit 13 for memory modules 12, 12′, and 12″ in
The control circuit 62 is configured to perform the methods for operating a memory module and for extending the usage limit explained with reference to
Since, in the embodiment illustrated in
The usage determination unit or counter unit may be configured in any way which is suitable for determining the accumulated usage, based on the quantity which has been agreed on as a basis for the lease fee. For example, if the lease fee is determined on the basis of usage time, the counter circuit receives information on a clock rate frequency of the control unit from the control circuit and determines the accumulated usage time by counting clock cycles divided by clock rate frequency. If the lease fee is determined on the basis of a storage amount, the counter unit receives, from the control circuit 62, information on the size and number of data packets output from the buffer memory unit 61 via channel 74, and determines the total storage amount by adding the sizes of data packets stored in memory chips of the memory module. The counter unit 63 comprises a non-volatile storage unit in which the accumulated usage information is stored and maintained, even if the computer is switched off.
The control circuit 62 is further configured such that, while data may always be read from the usage limit storage unit 64 and the identification unit 65, data stored in the usage limit storage unit 64 and the identification unit 65 is typically only updated after a received usage extension code has been successfully verified. In this case, the usage limit information stored in the usage limit storage unit 64 will be update so as to correspond to the extended usage limit, and the information on at least one previous usage extension stored in the identification unit 65 will be updated in accordance with the latest usage extension.
Further, while the counter unit 63 and the usage limit storage unit 64 are illustrated as separate units in
In one embodiment, the control unit 60 comprises a counter unit 63 and a usage limit storage unit 64 and, upon receiving a usage extension code, decreases the accumulated usage information stored in the counter unit 63 by resetting the counter or by reducing the counter value by subtracting the received usage extension therefrom, and leaves the usage limit information stored in the usage limit storage unit unchanged.
Many other variations of the embodiments described above are conceivable. For example, while a memory unit 10 has been described as being comprised by a set of identical memory modules, each including a control unit operative so as to disable, at least in part, a storage functionality of the respective memory module when a usage limit is exceeded, it is to be understood that memory modules, which are bought from a vendor, and memory modules which are leased from a lessor may be combined in a single memory unit.
While embodiments of control units has been described above as comprising a counter unit and a usage limit storage unit, the counter unit and usage limit storage unit could, in other embodiments, also be provided externally of the control unit.
While the embodiments of memory units have been described above as a series configuration of memory modules, other embodiments are implemented with memory units having other configurations or to memory units comprising a single memory module.
Further, while the some of the above embodiments have been described with reference to specific embodiments, it is to be understood that, unless specifically noted otherwise, features of the various embodiments may be suitably combined with one another.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.