← Back to Patent Explorer
EP0489204A1 Expired / Lapsed EP ⏱️ 0.0 years remaining

Reprogrammable data storage device

Assignee: Hewlett Packard Ltd
•
Filing: 1990-12-04
•
Granted: —
•
Expires: 2010-12-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A reprogrammable data storage device is provided of the type which includes a host I/O port (10), a media read/write drive (12), a data buffer (13) for buffering data flow between the I/O port (10) and the drive (12), and control and processing electronics (16) for controlling the operation of the device and processing data passing through the device (for example, to re-format the data). The control and processing electronics (16) include a program-controlled processor (17) and a flash memory (18) storing program code for the processor. The control and processing electronics (16) is arranged to control reprogramming of the flash memory (18) with new code by the following steps: a) storing the new program code, received via the I/O port (10) or the drive (12), into the buffer (13); b) determining when all the new code has been received; c) erasing to flash memory (18); d) transferring the new code from the buffer (13) to the flash memory (18).

Inventors

  • 👤 Kevin Lloyd-Jones

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-23 13:53
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/062; G06F3/0623; G06F3/0628; G06F3/0655; G06F3/0659; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0679; G06F8/00; G06F8/60; G11; G11C; G11C16/00; G11C16/02; G11C16/06; G11C16/10; G11C16/102

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 257 words
A data storage device of the type comprising: - input/output means (10) for exchanging data between the device and an external data handling system; - media read/write means (12) for reading/writing data from/to a storage medium; - a data buffer (13) connected between the input/output means (10) and the media read/write means (12) for buffering the transfer of data between the input/output means (10) and the media read/write means; and - control and processing means (16)connected to the input/output means (10), the data buffer (13) and the read/write means (12), and operative to control the transfer of data via said data buffer (13) between the input/output means (10) and the read/write means (12) and to process said data, said control and processing means (16) including a non-volatile memory (18) for holding program code and a program-controlled processor (17) operative to execute said program code; characterised in that at least a portion of said non-volatile memory is a flash memory (18) and the control and processing means (16) is operative to implement the following steps in sequence for the purpose of reprogramming the flash memory (18) with new program code: a) storage of the new program code, received via said input/output means (10) or said media read/write means (12), into said data buffer (13); b) determination of when all said new program code has been received and stored in the data buffer (13); c) erasure of said flash memory (18); and d) transfer of the new program code from said data buffer (13) to said flash memory (18).
Claim 2
Dependent Claim 108 words
A data storage device according to claim 1, wherein at least steps (c) and (d) are implemented by said program-controlled processor (17) under the control of the original said program code, said processor (17) having a further, rewritable, memory (19) associated therewith and the control and processing means (16) being operative in reprogramming the flash memory (18) to copy across from the flash memory (18) to said further memory (19), prior to erasure of the flash memory, that portion of said original program code which corresponds to steps (c) and (d) and thereafter to execute steps (c) and (d) by reading the code from said further memory (19).
Claim 3
Dependent Claim 107 words
A data storage device according to claim 1, wherein at least steps (c) and (d) are implemented by said control and processing means (16) under program control, said control and processing means (16) including a further, rewritable, memory (19) and being operative in reprogramming the flash memory (18) to receive and store in said further memory (19), a program for implementing steps (c) and (d) that is provided via said input/output means (10) or said read/write means (12) along with said new program code, the control and processing means (16) thereafter executing steps (c) and (d) by reading the said program stored in said further memory (19.
Claim 4
Dependent Claim 65 words
A data storage device according to claim 1, wherein following a positive determination in step (b) and prior to implementing step (c), the control and processing means (16) effects a checking step in which one or more checks are carried out on the new program code, the control and processing means (16) only proceeding with steps (c) and (d) where the check results are satisfactory.
Claim 5
Dependent Claim 43 words
A data storage device according to claim 4, wherein said checking step involves checking the new program code stored in the data buffer (13) to ascertain whether any of the new program code has become corrupted since storage in the data buffer (13).
Claim 6
Dependent Claim 114 words
A data storage device according to claim 5, wherein the device is operative during step (a): - to store parity data in respect of each byte or word of the new program code, and - to generate progressively an error checking code by carrying out an exclusive OR function between each bit of the new program code as it is stored in the data buffer (13) and another bit in said buffer, the resultant error checking code being stored in said buffer; the device being further operative during said checking step to regenerate said error checking code and said parity data to detect any errors and seek to effect correction of errors so detected.
Claim 7
Dependent Claim 106 words
A data storage device according to claim 4, wherein the flash memory (18) holds identification data indicative of the identity of said program code and/or of said device, and wherein the said new program code also includes identification data indicative of the identity of the new program code and/or of the device on which the new program code is intended to run; said control and processing means (16) being operative during the said checking step to compare the identification data held in the flash memory (18) with that provided with the new program code to ascertain whether the new program code is compatible with said device.
Claim 8
Dependent Claim 52 words
A data storage device according to claim 4, wherein the flash memory (18) holds device operational parameters, the control and processing means being operative to transfer said device operational parameters to a temporary store (13) prior to implementing step (c), and then subsequently to restore said parameters to the flash memory (18).
Claim 9
Dependent Claim 113 words
A data storage device according to claim 1, wherein the control and processing means (16) is operative during step (a) to calculate a checksum for the area of the buffer used to store the new program code, this checksum being recalculated as new program code is progressively stored in the buffer (13), the final checksum being loaded into the flash memory (18) together with the new program code; the control and processing means (16) being further operative upon power up of the device to recalculate the checksum for the flash memory (18) and compare it with the stored checksum to check the integrity of the program code stored in the flash memory (18).
Claim 10
Dependent Claim 57 words
A data storage device according to claim 1, wherein along with the new program code, the device is provided with an indication of the length of the new code, the control and processing means (16) being operative in implementing step (b) to utilize this length information to determine when all said new program code has been received.
Claim 11
Dependent Claim 48 words
A data storage device according to claim 1, wherein the new program code is provided to said device in encoded form, the control and processing means (16) being operative in implementing step (a) to decode the encoded program code and to store decoded code in said buffer (13).

References Cited (Backward Citations)

WO1986003328A1 Cited
WO1989010618A1 Cited
EP0365116A2 Cited
GB2227584A Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag