System and method for programming non-volatile memory
AssigneeBroadcom Corporation
InventorsJeffrey Douglas Carr, Mark Buer
Life of this patent
Estimating the term…
Loading patent…
AssigneeBroadcom Corporation
InventorsJeffrey Douglas Carr, Mark Buer
Estimating the term…
Systems and methods that may program a non-volatile memory for use in configuring features of a device, such as a set top box, for example, are disclosed. One method may include the steps of beginning a programming cycle; programming mode control bits of the non-volatile memory that correspond to configurations of features of the device; if an interruption occurs during the programming cycle, then rendering the non-volatile memory invalid; and if no interruption occurs during the programming cycle, then rendering the non-volatile memory operational.
A method for securing a particular device, comprising:
A method for securing a storage device for use in configuring a particular device, comprising:
A system for securing a storage device for use in configuring a particular device, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Auxiliary circuits, e.g. for writing into memory: safety or protection circuits preventing unauthorised or accidental access to memory cells
Static stores
About Less than a month of term left · ends 11 Nov 2026 (estimated)
The present invention relates generally to systems and methods that program non-volatile memory and, more specifically, to systems and methods that program non-volatile memory for use in configuring features of a device.
Devices are generally manufactured with particular features and functions that meet the particular requirements of customers. However, this can be a costly undertaking especially where a wide variety of features and functions are available and customer preferences are equally diverse. To make a new line of devices that have the features or perform the functions according to each customer's specification would require a process involving additional design time and manufacture set up, and such a process would lack many of the efficiencies that result from economies of scale. Under these circumstances, such a customized solution may be impractical.
In addition, even if such a customized solution is implemented, it still lacks the flexibility to permit modification (e.g., enabling or disabling) of particular features or functions as customer needs change. Thus, a customer who would like to enable or to disable a particular feature or function would have to purchase another new line of devices that are designed and manufactured to incorporate the modifications.
FIG. 1 shows an example of a device including a chip according to the present invention.
FIG. 2 shows a table illustrating an example of a memory allocation within a non-volatile memory according to the present invention.
FIG. 3 is a flowchart illustrating an example of a method for programming a non-volatile memory according to the present invention.
FIG. 1 shows an example of a device 100 including a chip 110 according to the present invention. Although the chip 110 is illustrated as part of the device 100, it may be external to the device 100 and merely coupled to the device 100. The chip 110 may include a processor 120, a memory array 130 and a chip interface 140. The memory array 130 may include a non-volatile memory 150 such as, for example, a one-time programmable non-volatile memory. The non-volatile memory 150 may include, for example, banks of mode control bits. The processor 120 is coupled to the memory array 130 and the chip interface 140 via buses or other conventional communication means. The device 100 communicates with the chip 110 via, for example, the chip interface 140. In one embodiment, the device 100 is a set top box, for example. Of course, other types of devices are also contemplated by the present invention.
In operation, the non-volatile memory 150 of the memory array 130 can be programmed during a programming cycle or outside of the programming cycle by the processor 120 or by data received by the processor 120 via the chip interface 140. During the programming cycle, a first set of banks of the mode control bits are programmed which correspond to configurations of features or functions of the device 100 that are desired. The first set of banks can be locked out using protection built into the programming cycle. For example, when the programming cycle is complete, subsequent changing of bit values within the first set of banks of the mode control bits can be prohibited.
A second set of banks of the mode control bits can be programmed outside of the programming cycle (e.g., subsequent to the programming cycle completion). The second set of banks of the mode control bits can also be used to program the device 100. The second set of banks may correspond to the same or different features and functions as the first set of banks. Furthermore, the second set of banks may or may not override or cancel out similar features and functions set in the first set of banks during the programming cycle. Once a bank in the second set of banks of the mode control bits is programmed, the locking mechanism corresponding to the respective bank can be programmed to lock the programmed values in the respective bank. For example, one of the bits in the bank can be reserved (e.g., a locking bit) for the locking mechanism such that when the particular bit has been programmed (e.g., a one-time programming of the locking bit resulting in the change from a binary 0 to a binary 1), then the values stored in the respective bank are locked and cannot be modified in the future. Although illustrated as a single bit, one or more bits can be reserved for the locking mechanism of a particular bank. Furthermore, the locking bit or bits need not be part of the respective bank, but can be merely associated with the respective bank. In addition, one or more locking bits can be associated with one or more banks in the second set of banks of the mode control bits.