US9342294B2 - Information processing device comprising a read-only memory and a method for patching the read-only memory - Google Patents
Information processing device comprising a read-only memory and a method for patching the read-only memory Download PDFInfo
- Publication number
- US9342294B2 US9342294B2 US13/468,144 US201213468144A US9342294B2 US 9342294 B2 US9342294 B2 US 9342294B2 US 201213468144 A US201213468144 A US 201213468144A US 9342294 B2 US9342294 B2 US 9342294B2
- Authority
- US
- United States
- Prior art keywords
- processor
- data
- memory
- patched
- read
- 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.)
- Active, expires
Links
- 230000015654 memory Effects 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims description 18
- 230000010365 information processing Effects 0.000 title claims description 11
- 239000013598 vector Substances 0.000 claims abstract description 26
- 238000006467 substitution reaction Methods 0.000 claims abstract description 10
- 230000005291 magnetic effect Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 description 10
- 230000005415 magnetization Effects 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 2
- 239000003302 ferromagnetic material Substances 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000005290 antiferromagnetic effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
Definitions
- Embodiments of the present invention relate to an information processing device comprising a read-only memory containing program instructions or data, and second memory containing patch instructions, correcting the program or the data stored in the read-only memory.
- the invention relates also to a read-only memory patching method.
- Information processing devices include customarily a processor and a digital memory on which a program is stored that is executed by the processor.
- the program may include for example executable instructions that can be fetched and executed by the processor, or also digital data needed by the processor for the execution of its intended functions.
- Various form of digital storage devices are available and are used in information processing devices.
- a read-only memory (ROM) is a memory that allows reading, but not modifying the data it stores.
- Mask ROMs are generally fabricated with the desired data permanently stored in it and present the advantage of being very cheap when produced in large numbers. For this reason, ROM is used in many smart card chip or other information processing devices that must contain a permanent firmware. After the final ROM is produced on a mass scale, however, it is in general necessary to modify in part the program and data stored, to correct the unavoidable program errors, or for other reasons.
- know patching system may insert an automatic call to a function check(x) at the beginning of each function.
- check(x) When inserted check(x) is hardcoded with an argument x that represents the function it was implanted into.
- the function check(x) searches if the argument x matches with one entry of an indirection table in the patch memory and, if a hit is found, diverts the execution to the address of a patched routine in the flash whose entry address is stored in the indirection table, otherwise returns to the caller.
- U.S. Pat. No. 7,596,721 describes a method and structures for providing patches to embedded ROM firmware while avoiding overhead and mentions the use of a CAM memory.
- US2010110744 and EP2270812 describe ternary content-addressable MRAM.
- WO9854639 describe a software patch method using a CAM memory.
- US2006174244 describes a method for enabling control transfer in a firmware through CAM.
- an information processing device including a read-only memory 120 , including executable instructions or data, a processor 170 capable of addressing said read-only memory 120 and fetch said executable instructions or data across a bus 28 , 48 , a CAM device 160 connected to said bus and arranged to compare the addresses requested by the processor 170 with the elements of a vector x i of addresses to be patched and, if the address requested by the processor matches with one of the elements of the vector x i , to present to the processor a substitution executable instruction or data in place of an executable instruction or data addressed by the processor 170 in the read-only memory, and by the corresponding method.
- FIG. 1 shows, in a schematic simplified form an information processing device according to an aspect of the present invention.
- FIGS. 2, 3 illustrate schematically a MRAM-based CAM used in an embodiment of the present invention.
- an embodiment of the present invention includes a smart card equipped with a processor 170 that executes software stored permanently in a memory 120 .
- a masked ROM memory is preferred in this position, thank to its very favourable cost.
- the processor 170 addresses the memory 120 via the address bus 25 and fetches the corresponding instructions, or instruction elements, on the instruction/data bus 28 .
- the invention can be applied both to processors with a single external storage for program instruction and data (Von Neumann architecture) and to systems with separate Program and Data memories (Harvard architecture).
- the following examples deal with the patching of executable instructions, but it must be understood that the system and methods of the invention can be adapted to and include also the patching of data.
- the address written on the address bus 25 is presented, in addition to the ROM memory 120 , to a CAM (Content-Addressable Memory) device 160 that stores a vector of addresses in the ROM that must be patched.
- the CAM device is a based on magnetoresistive RAM cells (MRAM-CAM). Unlike RAMs which access a word based on its address, CAMs access a word based on its contents.
- MRAM-CAM magnetoresistive RAM cells
- a CAM stores data in a similar fashion to a conventional RAM. However, “reading” the CAM involves providing input data to be matched, then searching the CAM for a match so that the address of the match can be output.
- a CAM is designed such that the user supplies a data word and the CAM searches its entire memory in parallel to see if that data word is stored anywhere in it. If the data word is found, the CAM returns a list of one or more storage addresses where the word was found.
- MRAM CAMs are described, among other, in European patent EP2204814, assigned to the applicant, that is hereby incorporated by reference in its entirety, and to which the reader is addressed for further information.
- FIGS. 2 and 3 illustrate schematically a MRAM cell 10 suitable for the CAM device of the invention.
- the MRAM-based CAM cell 10 comprises a magnetic tunnel junction 20 , formed by an insulating layer 22 disposed between a storage layer 23 and a sense layer 21 .
- the storage layer 23 is made of a hard ferromagnetic material, while the sense layer is made of a low coercivity, soft ferromagnetic material.
- the MRAM cell 10 also includes, below the storage layer 23 , an anti-ferromagnetic pinning layer 24 .
- the write operation of the MRAM-based CAM cell 10 is based for example on a thermally-assisted switching method (TAS) as disclosed in U.S. Pat. No. 6,950,335, for example.
- TAS thermally-assisted switching method
- This is obtained by driving an electric current 51 in the field line 50 and asserting at the same time the word line 70 , in order to switch on the selection transistor 60 , letting a pulse of heating current 31 flows through the tunnel junction 20 .
- the temperature of the magnetic junction thus rises at a determined high temperature threshold, while the junction is immersed in the magnetic field generated by the electric current 51 in the field line 50 .
- the magnetization of the storage layer 23 can be aligned in the magnetic field.
- junction 20 is then cooled by inhibiting the junction current pulse 31 to a low temperature threshold such that the magnetization of the storage layer 23 is frozen in a new stored logic state, conventionally designated as “1” or “0” according to the direction of the magnetization and the polarity of the field current.
- the writing could be performed by a spin-polarized magnetic current (STT or Spin Transfer Torque switching) or by a Current-induced magnetic switching (CIMS) schema that do not rely on external magnetic field, or in any other manner.
- STT spin-polarized magnetic current
- CIMS Current-induced magnetic switching
- a search bit is provided to the sense layer 21 via the field line 50 .
- the current circulating in the field line 50 during the read operation generates a magnetic field sufficient to modify the polarization of the sense layer 21 , but not that of the storage layer 23 .
- the magnetization direction of the sense layer 21 is then compared with that of the storage layer by measuring the resistance of the magnetic tunnel junction 20 .
- a low resistance indicates that the polarizations of the storage layer and of the sense layer are parallel, hence that they both contain a “1” or a “0”, whereas in all cases a high resistance is measured.
- the MRAM-based CAM cell 10 realizes intrinsically a XOR of the stored bit and of the search bit without additional components. By replicating the structure of the CAM cell 10 , it is possible to realize a CAM device that in able to compare in place and in parallel fashion a search pattern with a large number of keys. This match-in-place operation is very fast and typically is done within one clock cycle of the microprocessor.
- the MRAM-based CAM device of the invention could optionally include a second field line 40 , used to polarize the storage layer or the sense layer along a direction orthogonal to that of the first field line 50 .
- a second field line 40 used to polarize the storage layer or the sense layer along a direction orthogonal to that of the first field line 50 .
- this allows the realization of ternary CAM devices (TCAM) allowing a third logical value “X” besides “0” and “1”, that is treated as a wildcard value.
- TCAM ternary CAM devices
- the CAM device might use differential cells, each including two tunnel junctions.
- the TCAM device can comprise a so-called “dual junction” such as described in unpublished European patent application, filed by the present applicant under application number EP11290150.
- the magnetic tunnel junction 20 of the dual junction TCAM device further comprises a second storage layer and a second tunnel barrier layer comprised between the sense layer 21 and the second storage layer.
- the second storage layer has a magnetization that can be freely oriented at a second high temperature threshold, typically lower than the low temperature threshold.
- the logical value “X” can then be obtained by orienting the magnetization of the two storage layers 21 anti-parallel.
- the address present on the bus 25 is also fed to the input of the CAM device 160 , and compared with a vector of stored addresses (x i ) stored in the device. If the address does not match any of the stored addresses, the CAM device does not intervene, and the processing of the operation continues as usual: the processor fetches via the instruction/data bus 28 the addressed instruction or instruction element contained in the ROM 120 and executes it.
- the CAM device issues an interrupt 26 (or causes an interrupt to be issued) to the processor 28 .
- the machine code element present in the bus 28 is not read.
- the CAM device 168 outputs a diversion address y i corresponding to the address x i (for example, x i is used as an addressing key in the CAM device 160 to retrieve the diversion address y i ), and this diversion address is used to select a memory position in a patch memory 220 .
- the patch memory 220 is preferably a non-volatile storage, for example a flash memory, but could be a MRAM memory as well.
- check-in-place CAM device 160 and the patch memory 220 could be integrated in a single unit that, in case of a match with one of the stored addresses x i , directly outputs the value of a substitution machine code element, rather than its address.
- the patched machine code element is then presented to the processor (arrow 48 ) in place of the one that was originally addressed.
- the interrupt 21 being at this moment inactive, the processor 170 resumes the program execution as if the ROM had originally comprised the patched code, in a fully transparent manner.
- the proposed solution does not cause code increase or a performance penalty if no bugs are fixed, and does not rely on special compilation tools.
- the overhead in term of performances is minimal, and reduces to the loss of one clock cycle in order to discard the original instruction.
- the granularity of the proposed method is extremely fine. If needed, one single machine code element can be modified, without need to rewrite entire functions. Due to the non-volatile nature of MRAM, the vectors x i , y i are retained indefinitely in absence of power.
- MRAM-based CAM devices are extremely efficient in term of power consumption, density, and cost, and lend themselves especially well to the patching of miniaturized devices, low-power devices, and smart cards.
- Another advantage of MRAM storage in this case is that it is not volatile: the vectors x i and y i , once programmed, are retained indefinitely also in absence power supply.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hall/Mr Elements (AREA)
Abstract
Description
- xi address in ROM instruction
- yi address in DRAM patch memory
- 10 MRAM-based CAM cell
- 20 magnetic Tunnel Junction
- 21 Sense layer
- 22 insulating layer
- 23 storage layer
- 24 pinning layer
- 25 address bus
- 26 interrupt
- 40 second field line
- 48 patched instructions
- 50 field line
- 51 electric current
- 60 selection transistor
- 70 word line
- 120 ROM memory
- 160 check-in-place CAM device
- 170 processor
- 220 patch memory
Claims (9)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11290219.2 | 2011-05-10 | ||
EP11290219.2A EP2523105B1 (en) | 2011-05-10 | 2011-05-10 | Information processing device comprising a read-only memory and a method for patching the read-only memory |
EP11290219 | 2011-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120290773A1 US20120290773A1 (en) | 2012-11-15 |
US9342294B2 true US9342294B2 (en) | 2016-05-17 |
Family
ID=44118407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/468,144 Active 2032-07-15 US9342294B2 (en) | 2011-05-10 | 2012-05-10 | Information processing device comprising a read-only memory and a method for patching the read-only memory |
Country Status (4)
Country | Link |
---|---|
US (1) | US9342294B2 (en) |
EP (1) | EP2523105B1 (en) |
JP (1) | JP2012238312A (en) |
RU (1) | RU2582862C2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10276226B2 (en) * | 2014-09-21 | 2019-04-30 | Samsung Electronics Co., Ltd. | Method and system for determining temperature using a magnetic junction |
US10597595B2 (en) | 2017-10-27 | 2020-03-24 | Xyleco, Inc. | Processing biomass |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152568B1 (en) * | 2011-12-05 | 2015-10-06 | Seagate Technology Llc | Environmental-based device operation |
US9543013B1 (en) * | 2015-06-05 | 2017-01-10 | University Of South Florida | Magnetic tunnel junction ternary content addressable memory |
US10990384B2 (en) * | 2018-09-27 | 2021-04-27 | Intel Corporation | System, apparatus and method for dynamic update to code stored in a read-only memory (ROM) |
WO2020194366A1 (en) | 2019-03-22 | 2020-10-01 | Tdk株式会社 | Non-volatile associative memory cell, non-volatile associative memory device, and monitoring method |
DE102020207945A1 (en) | 2020-06-26 | 2021-12-30 | Robert Bosch Gesellschaft mit beschränkter Haftung | Memory control device and method for operating a memory control device |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5813043A (en) * | 1996-07-12 | 1998-09-22 | Motorola, Inc. | Method and system including memory patching utilizing a transmission control signal and circuit |
WO1998054639A1 (en) | 1997-05-29 | 1998-12-03 | Cirrus Logic, Inc. | Patching apparatus and method for upgrading modem software code |
US6260157B1 (en) | 1999-02-16 | 2001-07-10 | Kurt Schurecht | Patching of a read only memory |
US6950335B2 (en) | 2001-11-16 | 2005-09-27 | Commissariat A L'energie Atomique | Magnetic tunnel junction magnetic device, memory and writing and reading methods using said device |
US7039776B2 (en) * | 2003-04-17 | 2006-05-02 | Broadcom Corporation | Patch memory system for a ROM-based processor |
US20060174244A1 (en) * | 2005-01-31 | 2006-08-03 | Woods Paul R | System and method for modifying execution flow in firmware |
US7173452B2 (en) * | 2002-09-16 | 2007-02-06 | Emulex Design & Manufacturing Corporation | Re-programmable finite state machine |
US7596721B1 (en) * | 2004-01-09 | 2009-09-29 | Maxtor Corporation | Methods and structure for patching embedded firmware |
WO2009156790A1 (en) | 2008-06-23 | 2009-12-30 | Freescale Semiconductor, Inc. | Patching of a read-only memory |
US20090327650A1 (en) * | 2008-06-30 | 2009-12-31 | Infineon Technologies Ag | Device and method for bypassing a first program code portion with a replacement program code portion |
US20100110744A1 (en) * | 2008-11-04 | 2010-05-06 | Crocus Technology Sa | Ternary content addressable magnetoresistive random access memory cell |
EP2270812A1 (en) | 2009-07-02 | 2011-01-05 | CROCUS Technology | Ultimate magnetic random access memory-based ternay CAM |
US8745604B1 (en) * | 2004-12-13 | 2014-06-03 | Massachusetts Institute Of Technology | Transferring data in a parallel processing environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05127893A (en) * | 1991-10-30 | 1993-05-25 | Oki Electric Ind Co Ltd | Microprogram control system |
-
2011
- 2011-05-10 EP EP11290219.2A patent/EP2523105B1/en active Active
-
2012
- 2012-05-10 JP JP2012108522A patent/JP2012238312A/en active Pending
- 2012-05-10 RU RU2012119211/08A patent/RU2582862C2/en active
- 2012-05-10 US US13/468,144 patent/US9342294B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5813043A (en) * | 1996-07-12 | 1998-09-22 | Motorola, Inc. | Method and system including memory patching utilizing a transmission control signal and circuit |
WO1998054639A1 (en) | 1997-05-29 | 1998-12-03 | Cirrus Logic, Inc. | Patching apparatus and method for upgrading modem software code |
US6135651A (en) * | 1997-05-29 | 2000-10-24 | Cirrus Logic, Inc. | Patching apparatus and method for upgrading modem software code |
US6260157B1 (en) | 1999-02-16 | 2001-07-10 | Kurt Schurecht | Patching of a read only memory |
US6950335B2 (en) | 2001-11-16 | 2005-09-27 | Commissariat A L'energie Atomique | Magnetic tunnel junction magnetic device, memory and writing and reading methods using said device |
US7173452B2 (en) * | 2002-09-16 | 2007-02-06 | Emulex Design & Manufacturing Corporation | Re-programmable finite state machine |
US7039776B2 (en) * | 2003-04-17 | 2006-05-02 | Broadcom Corporation | Patch memory system for a ROM-based processor |
US7596721B1 (en) * | 2004-01-09 | 2009-09-29 | Maxtor Corporation | Methods and structure for patching embedded firmware |
US8745604B1 (en) * | 2004-12-13 | 2014-06-03 | Massachusetts Institute Of Technology | Transferring data in a parallel processing environment |
US20060174244A1 (en) * | 2005-01-31 | 2006-08-03 | Woods Paul R | System and method for modifying execution flow in firmware |
WO2009156790A1 (en) | 2008-06-23 | 2009-12-30 | Freescale Semiconductor, Inc. | Patching of a read-only memory |
US20090327650A1 (en) * | 2008-06-30 | 2009-12-31 | Infineon Technologies Ag | Device and method for bypassing a first program code portion with a replacement program code portion |
US20100110744A1 (en) * | 2008-11-04 | 2010-05-06 | Crocus Technology Sa | Ternary content addressable magnetoresistive random access memory cell |
EP2204814A1 (en) | 2008-11-04 | 2010-07-07 | Crocus Technology | Ternary content addressable magnetoresistive random access memory cell |
EP2270812A1 (en) | 2009-07-02 | 2011-01-05 | CROCUS Technology | Ultimate magnetic random access memory-based ternay CAM |
Non-Patent Citations (1)
Title |
---|
European Search Report for 11290219.2 dated Sep. 22, 2011. |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10276226B2 (en) * | 2014-09-21 | 2019-04-30 | Samsung Electronics Co., Ltd. | Method and system for determining temperature using a magnetic junction |
US10297300B2 (en) | 2014-09-21 | 2019-05-21 | Samsung Electronics Co., Ltd. | Method and system for determining temperature using a magnetic junction |
US10597595B2 (en) | 2017-10-27 | 2020-03-24 | Xyleco, Inc. | Processing biomass |
Also Published As
Publication number | Publication date |
---|---|
RU2012119211A (en) | 2013-11-20 |
US20120290773A1 (en) | 2012-11-15 |
RU2582862C2 (en) | 2016-04-27 |
EP2523105A1 (en) | 2012-11-14 |
EP2523105B1 (en) | 2019-12-04 |
JP2012238312A (en) | 2012-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9342294B2 (en) | Information processing device comprising a read-only memory and a method for patching the read-only memory | |
US10318304B2 (en) | Conditional branch prediction using a long history | |
US8291196B2 (en) | Forward-pass dead instruction identification and removal at run-time | |
US6877089B2 (en) | Branch prediction apparatus and process for restoring replaced branch history for use in future branch predictions for an executing program | |
US20150193464A1 (en) | Micro-journaling for file system based on non-volatile memory | |
US20080082788A1 (en) | Pointer-based instruction queue design for out-of-order processors | |
US8724403B2 (en) | Cache system and information-processing device | |
US20130159820A1 (en) | Dynamic error handling using parity and redundant rows | |
US20150074489A1 (en) | Semiconductor storage device and memory system | |
US10318172B2 (en) | Cache operation in a multi-threaded processor | |
US11513801B2 (en) | Controlling accesses to a branch prediction unit for sequences of fetch groups | |
Nebashi et al. | A content addressable memory using magnetic domain wall motion cells | |
CN107278296A (en) | For performing the apparatus and method for generating tracking data in response to affairs | |
Jiang et al. | Improving read performance of stt-mram based main memories through smash read and flexible read | |
CN104051018A (en) | Retention logic for non-volatile memory | |
JP2004521434A (en) | Non-volatile magnetic cache memory | |
US11740899B2 (en) | In-memory associative processing system | |
US9740497B2 (en) | Processor with memory-embedded pipeline for table-driven computation | |
US20210365204A1 (en) | Sort in memory using index and key tables | |
US20200192675A1 (en) | Memristor based multithreading | |
CN109712654B (en) | Semiconductor memory device with a memory cell having a memory cell with a memory cell having a memory cell | |
US20030154450A1 (en) | Method and apparatus for improving yield by decommissioning optional units on a CPU due to manufactruing defects | |
CN102956259A (en) | Magnetic random access memory | |
CN107844263B (en) | Memory system and processor system | |
CN110660422A (en) | Cache system used in cooperation with error correction magnetic random access memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CROCUS TECHNOLOGY SA, FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NACCACHE, DAVID;REEL/FRAME:028521/0891 Effective date: 20120701 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: LLC "SBERBANK INVESTMENTS", RUSSIAN FEDERATION Free format text: SECURITY INTEREST;ASSIGNOR:CROCUS TECHNOLOGY, INC.;REEL/FRAME:045938/0810 Effective date: 20180314 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: CROCUS TECHNOLOGY SA, FRANCE Free format text: CHANGE OF ADDRESS;ASSIGNOR:CROCUS TECHNOLOGY SA;REEL/FRAME:064658/0730 Effective date: 20180529 |
|
AS | Assignment |
Owner name: CROCUS TECHNOLOGY, INC., FRANCE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:LLC "SBERBANK INVESTMENTS";REEL/FRAME:064783/0420 Effective date: 20220412 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: ALLEGRO MICROSYSTEMS, LLC, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CROCUS TECHNOLOGY SA;REEL/FRAME:066350/0669 Effective date: 20240101 |