1. Field of the Invention
The present invention refers to a non-volatile memory device.
2. Description of the Related Art
Currently in memory devices the updating of the software is made by canceling the previous version of the software and rewriting the updated version of said software on the memory device. The code corresponding to the installed version of the software remains in the volatile memory of the device and is updated by canceling the code of the previous version.
In said memory devices it is possible to successively reload the software with a successive version but it is also possible to reload with a previous version.
One embodiment of the present invention is a non-volatile memory device that overcomes the above-mentioned inconvenience.
One embodiment of the present invention is a non-volatile memory device comprising a matrix of non-volatile memory cells, writing circuitry, and reading circuitry for said memory cells of the matrix, a counter comprising a sector of non-volatile memory cells, and logic means capable of scanning the memory cells of said sector by means of said reading circuitry and updating said sector by commanding the writing of a given value in a memory cell different from the memory cell containing said given value by means of said writing circuitry.
The characteristics and the advantages of the present invention will appear evident from the following detailed description of an embodiment thereof, illustrated as non-limiting example in the attached drawings, in which:
With reference to
The memory device comprises a logic controller 5, which can be constituted by a microcontroller, for example the microcontroller already present in the memory device, or of another type of logic circuitry; said controller 5 exchanges data with the interface 4 and with the writing and reading circuitries.
A non-volatile counter according to one embodiment of the invention includes a sector 11 of memory cells, that is a group of memory cells, and the logic controller 5. The sector 11 is, for example, a portion of the memory matrix 1 and preferably is constituted by a row of the memory matrix 1. The sector 11 of the memory matrix 1 is used to store the data of the counter in the form of logical values, such as ones and zeros, while the logic controller 5 ensures the continuous updating of the contents of the sector 11 by means of a predefined algorithm. The logic controller 5 uses the reading circuitry 3 to scan the sector 11 and the writing circuitry 2 to update the counter.
The storing of the value in a controller of non-volatile memory is carried out by means of programming a bit, that is by entering a successive one or a successive zero in the sector 11. The counter can be updated in two methods, that is, either by means of a monotonic or sequential method or by means of a non-sequential method.
With the monotonic method the counter is updated by entering a one or a zero in the memory cell adjacent to the cell already containing a one or a zero in the monotonic scanning of the cells while with the non-sequential course the counter is updated entering a one or a zero in the memory cell distant a certain number of cells from the cell containing a one or a zero in the progressive scanning of the memory cells. Preferably the cells of the sector 11 are prepared in the logic state one and therefore the updating is carried out by entering the zero bit.
If the counter is used for memorizing the new version of the software, a command D_bus is sent to the interface 4 that interprets said signal and sends it to the logic controller 5 and a command D_Type to specify the type of sequential or non-sequential updating. In the case of non-sequential updating the interface 4 receives a command Incr to specify the amount of the increase. The latter implements the type of updating desired, that is, monotonic or non-sequential.
With the monotonic type of updating the logic controller 5 commands the circuitry 2 to write a zero in a memory cell adjacent to a memory cell that already contains a zero in the sector 11. Therefore, as can be seen in
With the non-sequential type of updating the logic controller 5 commands the writing of the zero in a successive cell but not adjacent to that which already contains a zero, in the direction from the least significant bit (LSB) indicated with 0 to the most significant bit (MSB) indicated with N. Therefore, as can be seen in
Both for the sequential updating and for the non-sequential the scanning of the cell can be the progressive type as it proceeds from the least significant bit (LSB) indicated with the number 0 to the most significant bit (MSB) indicated with the number N.
The scanning can be also made starting the scanning from the most significant bit (MSB) to the least significant bit (LSB), as shown in
The logic controller 5 comprises means 6 suitable for impeding the writing of a zero in a memory cell, which, in the scanning of the cell, precedes a memory cell already containing a zero. Therefore, as can be seen in
The method for updating the counter is described in the diagram of
In the phase A the user sends a command D_BUS to update the counter (subphase A1) and a command D_Type to specify the type of updating (subphase A2), that is if it is a monotonic sequential or non-sequential updating. If it is non-sequential updating, a command Incr (subphase A3) will be sent to specify the amount of the increase.
In the phase B the scanning of the sector 11 is done by means of the reading circuitry 3 and it is determined if the updating is allowable or not. The scanning can be made from the least significant bit to the most significant bit or from the most significant bit to the least significant bit.
If the updating is allowable, the counter is increased through the writing circuitry 2 in the phase C.
If the updating is not allowable, there is an error and the user is notified in the phase D.
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
05425718 | Oct 2005 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
5974500 | Maletsky et al. | Oct 1999 | A |
5987563 | Itoh et al. | Nov 1999 | A |
6968460 | Gulick | Nov 2005 | B1 |
6992937 | Tran et al. | Jan 2006 | B2 |
7167394 | La Placa et al. | Jan 2007 | B2 |
7313639 | Perego et al. | Dec 2007 | B2 |
7392457 | Tamura et al. | Jun 2008 | B2 |
20020141236 | Nakai et al. | Oct 2002 | A1 |
20080126676 | Li et al. | May 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20070130415 A1 | Jun 2007 | US |