GB2447241A - Memory programming device - Google Patents

Memory programming device Download PDF

Info

Publication number
GB2447241A
GB2447241A GB0704193A GB0704193A GB2447241A GB 2447241 A GB2447241 A GB 2447241A GB 0704193 A GB0704193 A GB 0704193A GB 0704193 A GB0704193 A GB 0704193A GB 2447241 A GB2447241 A GB 2447241A
Authority
GB
United Kingdom
Prior art keywords
target
data
programming
memory
target device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0704193A
Other versions
GB0704193D0 (en
Inventor
Richard Hoptroff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB0704193A priority Critical patent/GB2447241A/en
Publication of GB0704193D0 publication Critical patent/GB0704193D0/en
Publication of GB2447241A publication Critical patent/GB2447241A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

The programming device comprises a processor, non volatile memory and electrical connectors and in use can be used to program or retrieve data from a target device memory. In operation, the device draws power from the target device but does not require any computational assistance from the target device. The data transferred may be encrypted and the device processor used to decrypt data as required. Where data is transmitted to the target device in encrypted form, a decryption algorithm is written to the target device memory. The device may also be limited to the number of times it can perform a programming operation. The device is ideally used to program devices in the field where previously a target device would have to be returned to the manufacturer for reprogramming.

Description

Memory programming device This invention relates to devices for
programming the values stored in non-volatile memory inside electronic products. Examples of such memory include flash memory integrated circuits, field programmable gate arrays and microcontrollers with on-board flash memory.
Typically the values are sent via programming signals to the memory from an external programming device. No computing capability on the product (such as a boot-loader) assists in the programming process. It is general practice for memory to be programmed in-factory at the time of manufacture, due to the dedicated programming equipment required.
The fact that programming must normally performed in-factory is a significant limitation. For example, if an improved version were developed, an existing product could only be upgraded if it were returned to the factory for reprogramming. In addition, this difficulty of packaging and delivering such intellectual property to the point of demand, rather than vice versa, is a barrier to the creation of a firmware publishing industry. Compare, for example, the software components industry well established in the sphere of Microsoft Windowsm computer software, where software components such as charting tools are purchased and delivered on CD-ROM or over the internet in the form of encrypted software libraries.
An object of this invention is to provide a low cost, easy to use, portable memory programming device (Invention') which may be readily transported to the device to be programmed (Target'), rather than vice versa, while providing reasonable security for the intellectual property (Data') provided therein.
Accordingly, the Invention is an electronic circuit containing: (i) control electronics capable of managing the programming process, (ii) non-volatile memory for storing the Data to be programmed and (iii) a connector which connects to the Target in order to obtain electric power from the Target and to program the memory.
Preferably, the Data is retained indefinitely. The Invention thus also serves as an archive comparable with a CD ROM.
Preferably, the programming signals also allow Data to be uploaded from the Target to the Invention for storage and diagnostic purposes.
Preferably, the Programmer has the capability to program a limited number of Targets, after which it declines to further disclose the Data.
A preferred embodiment of the invention will now be described with reference to the accompanying figures in which: FIGURE 1 shows a block diagram of the typical components of the invention (I), being: (2) microprocessor capable of managing the programming process, (3) non-volatile memory for storing the Data to be programmed, (4) a connector for transmitting Data to non-volatile memory, (5) a connector which connects to the Target for purposes of obtaining electric power and for programming the Target's memory, (6) an indicator light which indicates the state of the circuit. If microprocessor (2) is not capable of generating the in-circuit programming signals directly, for example if different voltage levels are required, signal conversion circuitry (7) may also be provided to obtain the required in-circuit programming signals. A single connector might fulfill the roles of connectors (4) and (5). Likewise a single microcontroller might fulfill the roles of microprocessor (2) and memory (3).
FIGURE 2 depicts the invention (1) being attached (9) onto a programming device (8). Programming device (8) consists of a connector (10) for making electrical contact with Invention (1), a microcontroller (11) and a USB plug (12).
FIGURE 3 depicts the invention (1) being attached (13) onto Target device printed circuit board (14). Target (14) contains a connector (15) for making electrical contact between Invention (I) and Target (16) to be programmed.
As shown in figures 1 and 2, a computer connected via USB plug (12) can provide power to the Invention (1) and send Data to the Invention's microcontroller (2), which then stores the Data in memory (3). Indicator (6) indicates when Data transfer is successful and complete. Data may be transferred into Invention (1) in an encrypted format and may either be stored encrypted, or decrypted and stored unencrypted. Data is then stored on Invention (1) which may be transported to the target device or retained for archival purposes.
As shown in figures 1 and 3, Invention (1) may then be attached (13) to Target printed circuit board (14) via a connector (15) which also provides power to Invention (1). Invention (I) then generates the programming signals required to program Target (16), using signal conversion circuitry (7) if required.
Target (16) may be any device capable of being configured in-circuit, including, for example, a microcontroller or field programmable gate array.
No computing capability on Target (14) plays an active role during the programming process other than provided at time of manufacture for normal programming purposes. Thus factory-fresh target components may be used without preloading any kind of boot-loader. Indicator (6) indicates when programming is successful and complete. In order to prevent unauthorized copying of the data during the data transfer process, the Invention may first program a decrypting bootloader into the target and then deliver then remainder of the Data in encrypted form, to be decrypted by the bootloader.
Many programming protocols provide means for reading Target (16) in addition to writing it. Therefore Invention (1) could also be confgured to read the memory rather than write to it. Invention (1) would then contain a record of the Data on the Target (14). Again, no computing capability on Target (14), plays an active role during such reading process, so the device might be used for diagnosis of non-functional units.
Invention (1) may store in its memory (3) a count of the number of times it has programmed Targets (14) and may decline to function once a specified number of Targets (14) have been programmed.

Claims (4)

1. A device containing a microprocessor, nonvolatile memory and electrical connectors which can store data for programming a target device or retrieve data from a target device and which can generate all the required programming signals to program or read the memory on said target and which derives power from said target and where said target does not provide any computational assistance in the programming process other than that provided at time of manufacture for normal programming purposes.
2. A device as claimed in any proceeding claim where the data is transmitted to the device's memory in an encrypted manner and decrypted by the device's microprocessor as required.
3. A device as claimed in any proceeding claim where the data is transmitted to the target device in an encrypted manner and decrypted as follows: (i) a decryption algorithm is written into target memory using any process as claimed in any proceeding claim, (ii) a target device executes the decryption algorithm, (iii) encrypted data is then transmitted to the target where it is decrypted by decryption algorithm.
4. A device as claimed in any proceeding claim where the programming operation may only be performed a limited number of times before the device declines to function.
GB0704193A 2007-03-05 2007-03-05 Memory programming device Withdrawn GB2447241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0704193A GB2447241A (en) 2007-03-05 2007-03-05 Memory programming device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0704193A GB2447241A (en) 2007-03-05 2007-03-05 Memory programming device

Publications (2)

Publication Number Publication Date
GB0704193D0 GB0704193D0 (en) 2007-04-11
GB2447241A true GB2447241A (en) 2008-09-10

Family

ID=37965915

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0704193A Withdrawn GB2447241A (en) 2007-03-05 2007-03-05 Memory programming device

Country Status (1)

Country Link
GB (1) GB2447241A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITVR20100084A1 (en) * 2010-04-26 2011-10-27 Marco Bologna CONTROL AND COMMAND SYSTEM FOR THE ACTIVATION OF MACHINERY IN GENERAL AND DATA TRANSPORT.

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990003724A1 (en) * 1988-10-04 1990-04-19 Solatrol, Inc. Distributed multiple irrigation controller management system
US5320561A (en) * 1992-06-19 1994-06-14 Motorola, Inc. Connector for providing programming, testing, and power signals
WO2001075594A2 (en) * 2000-03-30 2001-10-11 Intel Corporation Firmware field programming interface and module
US6636992B1 (en) * 2000-09-08 2003-10-21 Myson Century, Inc. Method for renewing program code in an embedded micro-controller unit
GB2402241A (en) * 2003-05-20 2004-12-01 Microbus Designs Ltd In-system programming or reprogramming of PROM devices
GB2414093A (en) * 2004-05-10 2005-11-16 Sony Computer Entertainment Inc Connecting a USB device to a portable terminal

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990003724A1 (en) * 1988-10-04 1990-04-19 Solatrol, Inc. Distributed multiple irrigation controller management system
US5320561A (en) * 1992-06-19 1994-06-14 Motorola, Inc. Connector for providing programming, testing, and power signals
WO2001075594A2 (en) * 2000-03-30 2001-10-11 Intel Corporation Firmware field programming interface and module
US6636992B1 (en) * 2000-09-08 2003-10-21 Myson Century, Inc. Method for renewing program code in an embedded micro-controller unit
GB2402241A (en) * 2003-05-20 2004-12-01 Microbus Designs Ltd In-system programming or reprogramming of PROM devices
GB2414093A (en) * 2004-05-10 2005-11-16 Sony Computer Entertainment Inc Connecting a USB device to a portable terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITVR20100084A1 (en) * 2010-04-26 2011-10-27 Marco Bologna CONTROL AND COMMAND SYSTEM FOR THE ACTIVATION OF MACHINERY IN GENERAL AND DATA TRANSPORT.

Also Published As

Publication number Publication date
GB0704193D0 (en) 2007-04-11

Similar Documents

Publication Publication Date Title
US8832843B2 (en) Storage devices with secure debugging capability and methods of operating the same
US7876894B2 (en) Method and system to provide security implementation for storage devices
CN106205696B (en) Semiconductor memory device and method of operating the same
WO2012127266A1 (en) Storage device and method for updating data in a partition of the storage device
JP6585153B2 (en) A device using flash memory to store important or sensitive technical information and other data
US20070067705A1 (en) NAND flash memory device performing error detecting and data reloading operation during copy back program operation
JP2005535984A (en) Transferable instrument license using smart card technology
TW200834589A (en) Flash memory control interface
US20090228697A1 (en) Information processing apparatus, storage drive and firmware update method
US9361987B2 (en) Managing data writing to memories
JP2010182285A (en) Cipher data box
EP2876554A1 (en) Method and apparatus for secure distribution of embedded firmware
JP4949911B2 (en) Real time calibration method of clock in software protection device
US20180267711A1 (en) Slave device, control method of slave device, non-volatile computer readable recording medium
US11023140B2 (en) NVDIMM with removable storage
CN102164462A (en) Methods for memory programming during product assembly
WO2009110140A1 (en) Information processing apparatus, storage drive and firmware update method
US10331586B2 (en) Nonvolatile memory device for providing fast booting and system including the same
GB2447241A (en) Memory programming device
TWI751638B (en) Secure memory device, secure memory system and method of managing temper detection
US11552801B2 (en) Method of operating memory system with replay attack countermeasure and memory system performing the same
JP2017037497A (en) Erasing system of nonvolatile storage device, nonvolatile storage device, external erasing device, and method
US10692335B2 (en) Green drive with status indicator
US20110219288A1 (en) Method of operating nonvolatile memory device, method of operating controller, and method of operating memory system including the same
CN116126755A (en) Storage device

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)