US10388392B2 - Safe execution in place (XIP) from flash memory - Google Patents
Safe execution in place (XIP) from flash memory Download PDFInfo
- Publication number
- US10388392B2 US10388392B2 US15/482,729 US201715482729A US10388392B2 US 10388392 B2 US10388392 B2 US 10388392B2 US 201715482729 A US201715482729 A US 201715482729A US 10388392 B2 US10388392 B2 US 10388392B2
- Authority
- US
- United States
- Prior art keywords
- ecc
- flash memory
- block
- address
- engine
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Definitions
- Embodiments of the present disclosure generally relate to execution in place (XIP), and more specifically relate to XIP from flash memory.
- XIP execution in place
- a device in one aspect, includes a processor, a flash memory configured to store error correcting code (ECC) blocks for execution in place (XIP) processing by the processor, wherein an ECC block includes a data block and an ECC code for the data block, a flash interface controller coupled to the flash memory, and an error correcting code (ECC) engine coupled between the processor and the flash interface controller, wherein the ECC engine is configured to receive a read command for the flash memory from the processor, to translate a read address to an ECC block address, to read the ECC block at the ECC block address from the flash memory via the flash interface controller, and to verify the ECC code in the read ECC block.
- ECC error correcting code
- a method for safe execution in place (XIP) processing from flash memory includes receiving a read command from a processor in an error correcting code (ECC) engine coupled between the processor and a flash interface controller coupled to the flash memory, translating a read address to an error correcting code (ECC) block address by the ECC engine, wherein an ECC block comprises a data block and an ECC code for the data block, reading, by the ECC engine, the ECC block at the ECC block address from the flash memory via the flash interface controller, and verifying, by the ECC engine, the ECC code in the read ECC block.
- ECC error correcting code
- FIG. 1 is a high level block diagram of an example multiprocessor system-on-a-chip (SOC);
- FIG. 2 is a simplified block diagram of the flash subsystem of the SOC of FIG. 1 ;
- FIG. 3 is an example of storing error correcting code (ECC) blocks in the flash memory of the SOC of FIG. 1 ;
- ECC error correcting code
- FIG. 4 is a flow diagram of a method for ECC protected read accesses of a flash memory in execute in place (XIP) mode
- FIG. 5 is a flow diagram of a method for ECC write access to a flash memory.
- XIP Execution in place
- flash memory such as flash memory
- SOCs systems-on-a-chip
- ADAS advanced driver assistance systems
- Flash memory incorporated in such a system is one of the components that may need an effective protection mechanism.
- Soft errors which change the value of one or more bits in a memory location, may occur. Soft errors may be caused by radiation or radioactive particles striking a memory cell causing the cell to change state, i.e., a ‘1’ changes to a ‘0’ or vice-versa. Transient errors introduced from noise sources such as cross talk or power/ground noises and bounces are also possible. Further, errors may be introduced by failures in the circuitry coupling flash memory to an SoC and circuit failures due to aging or temperature.
- Embodiments of the disclosure provide for safe XIP from flash memory. More specifically, error correcting code (ECC) protection for accessing flash memory from an SoC is provided in some embodiments.
- ECC error correcting code
- the ECC protection is implemented on the SoC between any processors coupled to access the flash memory and a flash interface controller on the SoC, which provides protection from both soft errors in accessed flash memory locations and errors that may introduced due to failures in the circuitry coupling the flash memory to the SoC or failures in the flash interface controller.
- regions of the flash memory covered by ECC protection are configurable.
- the size of the data block on which the ECC is computed is configurable.
- the ECC code for a data block is computed based on the data block contents and the ECC block address of the data block in the external flash memory.
- FIG. 1 is a high level block diagram of an example multiprocessor system-on-a-chip (SOC) 100 configured to support safe execution in place (XIP) in a camera-based ADAS.
- the SOC 100 includes dual general purpose processors (GPP) 102 , dual digital signal processors (DSP) 104 , and hardware accelerators 112 coupled via a high speed interconnect 122 .
- the hardware accelerators 112 may include, for example, a lens distortion correction accelerator, an image scaling accelerator, and/or a noise filter accelerator configured to perform various pre-processing operations on incoming camera images and a vector processor tuned for computer vision processing such as gradient computation, orientation binning, histogram normalization, etc.
- the GPP 102 hosts the operating system and provides overall control of the operation of the SOC 100 including scheduling of the preprocessing tasks performed by the hardware accelerators 112 .
- the DSP 104 provides support for computer vision processing such as object detection and classification.
- the SOC 100 further includes a direct memory access (DMA) component 108 , a camera capture component 110 coupled to a camera 124 , a display management component 114 , and on-chip random access (RAM) memory 116 , e.g., a computer readable medium, all coupled to the processors 102 , 104 and the accelerators 112 via the interconnect 122 .
- DMA direct memory access
- RAM on-chip random access
- the SOC 100 includes a safety component 118 that includes safety related functionality to enable compliance with automotive safety requirements. Such functionality may include support for CRC (cyclic redundancy check) of data, clock comparator for drift detection, error signaling, windowed watch-dog timer, and self testing of the SOC for damage and failures.
- CRC cyclic redundancy check
- the SOC 100 further includes a flash subsystem (FSS) 120 coupled to an external flash memory 126 .
- the flash memory 126 may be any suitable flash memory.
- the FSS 120 implements the interface between the processors and the flash memory 126 and includes functionality to provide for safe XIP from the flash memory 126 .
- all of the components of FSS 120 and/or SOC 100 may be included in and/or implemented on a single integrated circuit.
- the single integrated circuit may be a first integrated circuit and flash memory 126 may be included in and/or implemented on a second integrated circuit different than the first integrated circuit.
- FIG. 2 is a simplified block diagram of the FSS 120 of FIG. 1 .
- the FSS 120 includes a flash interface controller implemented as a serial peripheral interface (SPI) controller 202 , an error correcting code (ECC) engine 204 , and memory mapped registers (MMR) 206 .
- the SPI controller 202 is the interface between the FSS 120 and the controller of the flash memory 126 and may be any suitable type of SPI, e.g., octal or quad SPI.
- ECC engine 204 may be implemented on an integrated circuit and/or an integrated circuit package that is different than that of flash memory 126 .
- the flash memory 126 may be external to an SOC that includes FSS 120 .
- the ECC engine 204 provides for ECC of reads and writes to the flash memory 126 for XIP.
- the ECC engine 204 may implement both an ECC mode and a bypass mode in which no ECC is performed. Further, the ECC engine 204 provides ECC for specified regions of the flash memory 126 and no ECC for other regions.
- the ECC encoding used by the ECC engine 204 may be any suitable encoding, such as, for example a single error correction double error detection Hamming code.
- the size of the data block read or written with ECC in the example of FIG. 2 is fixed. Any suitable block size may be used. The size of the block and the particular ECC encoding are used determine how many bits are needed to store the ECC code for the block. In some embodiments, the size of the data block is thirty-two bytes and two bytes are allocated for the ECC code, resulting in an ECC block of thirty-four bytes.
- the ECC blocks may be stored contiguously in the flash memory 126 .
- FIG. 3 shows an example of storing two thirty-four byte ECC blocks. For simplicity of explanation, the operation of the ECC engine 204 for read and write accesses to the flash memory 126 is explained assuming an ECC block size of thirty-four bytes. One of ordinary skill in the art will understand embodiments in which other block sizes are used.
- the ECC engine 204 expects write addresses to be aligned on a thirty-two byte boundary. For a write access to an ECC enabled region of the flash memory 126 , the ECC engine 204 translates the write address to an ECC block address, determines the two byte ECC code for the thirty-two byte data block, and sends the write command, the ECC block address, the thirty-two byte data block, and the two byte ECC code to the SPI controller 202 for communication to the flash memory 126 .
- the ECC engine 204 is configured to handle read addresses aligned on a thirty-two byte boundary and non-aligned read addresses. Further, the ECC engine 204 is configured to handle a read request for data that is less than thirty-two bytes or spans multiple sequential thirty-two byte blocks. For an aligned read access to an ECC enabled region of the flash memory 126 , the ECC engine 204 translates the read address to an ECC block address, determines the number of sequential ECC blocks to be read based on the amount of data requested, and sends the read command, the ECC block address, and the number of sequential blocks to be read to the SPI controller 202 for communication to the flash memory 126 .
- the ECC engine 204 determines the ECC code for the thirty-two byte data block of each received ECC block and compares the determined ECC code with the received ECC code. If an error is detected, the ECC engine 204 performs correction in the received data block if possible or signals an error if no correction is possible. If no error is detected or if an error is detected and corrected, the ECC engine 204 outputs the requested data.
- the ECC engine 204 For an unaligned read access to an ECC enabled region of the flash memory 126 , the ECC engine 204 translates the unaligned read address to an aligned address of a thirty-two byte block containing the unaligned address and translates the aligned address to an ECC block address. The ECC engine also determines the number of ECC blocks to be read based on the amount of data requested. The ECC engine 204 then sends the read command, the ECC block address, and the number of sequential blocks to be read to the SPI controller 202 for communication to the flash memory 126 .
- the ECC engine 204 determines the ECC code for the thirty-two byte data block of each received ECC block and compares the determined ECC code with the received ECC code. If an error is detected, the ECC engine 204 performs correction in the received data block if possible or signals an error if no correction is possible. If no error is detected or if an error is detected and corrected, the ECC engine 204 outputs the requested data.
- the address translation performed by the ECC engine 204 to translate an aligned read or write address to an ECC block address in the flash memory 126 may be computed as Floor(Address/DataBlockSize) ⁇ ECCBlockSize where Address is the requested read or write address, DataBlockSize is the size in bytes of the data block, e.g., thirty-two bytes, and ECCBlockSize is the size in bytes of the ECC block to be transferred to or from the flash memory 126 .
- the MMR 206 is configured to store various control and configuration parameters for ECC engine 204 .
- the parameters may include a parameter to enable or disable ECC for all memory accesses and a start address and size for each of some number of ECC regions.
- the MMR 206 may also include various interrupt status registers and ECC error status registers.
- the FSS 120 may be used to configure the flash memory 126 for safe XIP.
- the FSS 120 may be used to load instructions and data for XIP by one or more of the processors 102 , 104 into ECC protected regions of the flash memory 126 .
- a software program may be executed on a GPP 102 to write the instructions and data into an ECC protected region via the FSS 120 .
- a write operation to an ECC protected region causes an ECC code to be attached to each thirty-two byte data block prior to storing in the flash memory 126 .
- One application of the safe XIP is booting a processor on the SOC 100 where at least some of the boot instructions and data are stored in an ECC region of the flash memory 126 .
- the processor may be powered up when the SOC 100 is powered up, during which initial boot instructions are executed from read-only memory (ROM) (not shown).
- ROM read-only memory
- ECC is not enabled in the FSS 120 .
- Execution of the initial boot instructions from ROM then cause initial instructions of a secondary boot loader (SBL) to be executed from a non-ECC protection region of the flash memory 126 .
- SBL secondary boot loader
- Execution of the initial SBL instructions causes the configuration of ECC parameters in the MMR 206 to specify the ECC region(s) in the flash memory 126 and to enable ECC.
- the execution of the SBL then moves to XIP of SBL instructions in an ECC enabled region of the flash memory 126 .
- FIG. 4 is a flow diagram of a method for ECC protected read accesses of a flash memory in XIP mode.
- the method is described in reference to the FSS 120 of FIG. 2 and assumes an ECC block size of thirty-four bytes. Further, the method assumes that ECC is enabled, the read access is to a region of the flash memory designated as an ECC region, and the read address is aligned.
- the ECC engine 204 receives 400 a read command and translates 401 the read address to an ECC block address. The ECC engine 204 then sends 402 the ECC block address to the SPI controller 202 with the read command. The ECC engine 204 receives 404 the requested ECC block from the SPI controller 202 and verifies 406 the ECC code of the received block to determine if an error has occurred. The ECC engine 204 verifies the ECC code by computing an ECC code for the received data block and comparing the computed ECC code to the received ECC code.
- the ECC engine 204 If there is no ECC error 408 , the ECC engine 204 returns 414 the requested data block. If there is an ECC error 408 and the error is correctable 410 , the ECC engine 204 corrects 412 the error and returns 414 the requested data block. Otherwise, the ECC engine 204 signals an error.
- FIG. 5 is a flow diagram of a method for ECC write access to a flash memory.
- the method is described in reference to the FSS 120 of FIG. 2 and assumes an ECC block size of thirty-four bytes. Further, the method assumes that ECC is enabled, the write access is to a region of the flash memory designated as an ECC region, and the write address is aligned.
- the ECC engine 204 receives 502 a write command and a data block to be written and translates 504 the write address to an ECC block address.
- the ECC engine 204 also computes 506 an ECC code for the data block and appends the ECC code to the data block to create an ECC block.
- the ECC engine 204 then sends 508 the ECC block address and the ECC block to the SPI controller 202 with the write command.
- ECC regions of the flash memory may be configured by an off-line program that loads ECC blocks in the flash memory in ECC regions.
- the flash memory may include both ECC regions and non-ECC regions.
- the entire flash memory is ECC protected.
- ECC regions are not configurable but rather have fixed locations and sizes.
- the flash interface controller between the SOC 100 and the flash memory 126 is an SPI controller.
- any suitable serial interface controller may be used, such as, for example, a hyperbus controller.
- any suitable parallel interface controller may be used when the flash memory is parallel flash memory such as, for example, NOR flash memory.
- embodiments have been described herein in which the ECC code for a data block is computed using only the data in the data block.
- the ECC code is computed for both the data and the ECC block address.
- an error is detected in the address portion of the ECC code, an error is signaled. Any error in the ECC block address may be indicative that the data block was read from the wrong address due to a transient error.
- the ECC engine signals a corrected error and the position of the corrected bit.
- Such information may be collected and used, for example, to detect long term effects such as drift or aging, or to detect systematic issues such as marginal timings.
- ECC engine is configured to inject errors in read and write commands for self test of ECC logic.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Floor(Address/DataBlockSize)×ECCBlockSize
where Address is the requested read or write address, DataBlockSize is the size in bytes of the data block, e.g., thirty-two bytes, and ECCBlockSize is the size in bytes of the ECC block to be transferred to or from the
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/482,729 US10388392B2 (en) | 2017-04-08 | 2017-04-08 | Safe execution in place (XIP) from flash memory |
PCT/US2018/026594 WO2018187771A2 (en) | 2017-04-08 | 2018-04-06 | Safe execution in place (xip) from flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/482,729 US10388392B2 (en) | 2017-04-08 | 2017-04-08 | Safe execution in place (XIP) from flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180293129A1 US20180293129A1 (en) | 2018-10-11 |
US10388392B2 true US10388392B2 (en) | 2019-08-20 |
Family
ID=63711012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/482,729 Active 2037-05-19 US10388392B2 (en) | 2017-04-08 | 2017-04-08 | Safe execution in place (XIP) from flash memory |
Country Status (2)
Country | Link |
---|---|
US (1) | US10388392B2 (en) |
WO (1) | WO2018187771A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190102254A1 (en) * | 2017-09-29 | 2019-04-04 | Nvidia Corporation | Securing against errors in an error correcting code (ecc) implemented in an automotive system |
TWI750061B (en) * | 2021-03-04 | 2021-12-11 | 瑞昱半導體股份有限公司 | Verifying method for ecc circuit of sram |
US11288374B2 (en) * | 2017-10-31 | 2022-03-29 | Mitsubishi Heavy Industries Machinery Systems. Ltd. | Information processing device, method for controlling information processing device, and program |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11393550B2 (en) | 2018-09-14 | 2022-07-19 | Rambus Inc. | Memory system with error detection |
US10910048B1 (en) | 2020-01-16 | 2021-02-02 | Micron Technology, Inc. | Extended memory communication |
CN111323149A (en) * | 2020-03-13 | 2020-06-23 | 上海申矽凌微电子科技有限公司 | Temperature sensor device with function of correcting OTP (one time programmable) errors and OTP error correcting method |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US20030206442A1 (en) * | 2002-05-02 | 2003-11-06 | Jerry Tang | Flash memory bridiging device, method and application system |
US20080172523A1 (en) * | 2007-01-11 | 2008-07-17 | Hitachi, Ltd. | Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module |
US20090024899A1 (en) * | 2007-07-16 | 2009-01-22 | Robert Alan Reid | System and Method for Providing Data Integrity in a Non-Volatile Memory System |
US20100023800A1 (en) * | 2005-09-26 | 2010-01-28 | Eliyahou Harari | NAND Flash Memory Controller Exporting a NAND Interface |
US20100037002A1 (en) * | 2008-08-05 | 2010-02-11 | Broadcom Corporation | Mixed technology storage device |
US20100251074A1 (en) | 2009-03-26 | 2010-09-30 | Chin-Huo Chu | Decoding/encoding method for booting from a nand flash and system thereof |
US20130013851A1 (en) | 2011-07-04 | 2013-01-10 | Phison Electronics Corp. | Data stream dispatching method, memory controller, and memory storage apparatus |
US20140015565A1 (en) | 2003-06-10 | 2014-01-16 | Altera Corporation | Apparatus and methods for communicating with programmable devices |
US20140281820A1 (en) * | 2013-03-15 | 2014-09-18 | Idan Alrod | Method and system for adaptive setting of verify levels in flash memory |
US20150301890A1 (en) | 2014-04-22 | 2015-10-22 | Freescale Semiconductor, Inc. | Apparatus for error detection in memory devices |
US9910676B1 (en) * | 2015-09-22 | 2018-03-06 | Microsemi Solutions (U.S.), Inc. | Hardware based XIP exit sequence to enable XIP mode operation on SPI boot interface |
-
2017
- 2017-04-08 US US15/482,729 patent/US10388392B2/en active Active
-
2018
- 2018-04-06 WO PCT/US2018/026594 patent/WO2018187771A2/en active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US20030206442A1 (en) * | 2002-05-02 | 2003-11-06 | Jerry Tang | Flash memory bridiging device, method and application system |
US20140015565A1 (en) | 2003-06-10 | 2014-01-16 | Altera Corporation | Apparatus and methods for communicating with programmable devices |
US20100023800A1 (en) * | 2005-09-26 | 2010-01-28 | Eliyahou Harari | NAND Flash Memory Controller Exporting a NAND Interface |
US20080172523A1 (en) * | 2007-01-11 | 2008-07-17 | Hitachi, Ltd. | Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module |
US20090024899A1 (en) * | 2007-07-16 | 2009-01-22 | Robert Alan Reid | System and Method for Providing Data Integrity in a Non-Volatile Memory System |
US20100037002A1 (en) * | 2008-08-05 | 2010-02-11 | Broadcom Corporation | Mixed technology storage device |
US20100251074A1 (en) | 2009-03-26 | 2010-09-30 | Chin-Huo Chu | Decoding/encoding method for booting from a nand flash and system thereof |
US20130013851A1 (en) | 2011-07-04 | 2013-01-10 | Phison Electronics Corp. | Data stream dispatching method, memory controller, and memory storage apparatus |
US20140281820A1 (en) * | 2013-03-15 | 2014-09-18 | Idan Alrod | Method and system for adaptive setting of verify levels in flash memory |
US20150301890A1 (en) | 2014-04-22 | 2015-10-22 | Freescale Semiconductor, Inc. | Apparatus for error detection in memory devices |
US9910676B1 (en) * | 2015-09-22 | 2018-03-06 | Microsemi Solutions (U.S.), Inc. | Hardware based XIP exit sequence to enable XIP mode operation on SPI boot interface |
Non-Patent Citations (3)
Title |
---|
"ECC Memory", Wikipedia, available at https://en.wikipedia.orgwiki/ECC_memory, on Mar. 8, 2017, pp. 1-7. |
International Search Report dated Oct. 4, 2018. |
Priyanka P. Ankolekar, et al., "Multibit Error-Correction Methods for Latency-Constrained Flash Memory Systems" IEEE Transations on Device and Materials Reliability, vol. 10, No. 1, Mar. 2010, pp. 33-39. |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190102254A1 (en) * | 2017-09-29 | 2019-04-04 | Nvidia Corporation | Securing against errors in an error correcting code (ecc) implemented in an automotive system |
US10908995B2 (en) * | 2017-09-29 | 2021-02-02 | Nvidia Corporation | Securing against errors in an error correcting code (ECC) implemented in an automotive system |
US11494265B2 (en) | 2017-09-29 | 2022-11-08 | Nvidia Corporation | Securing against errors in an error correcting code (ECC) implemented in an automotive system |
US11288374B2 (en) * | 2017-10-31 | 2022-03-29 | Mitsubishi Heavy Industries Machinery Systems. Ltd. | Information processing device, method for controlling information processing device, and program |
TWI750061B (en) * | 2021-03-04 | 2021-12-11 | 瑞昱半導體股份有限公司 | Verifying method for ecc circuit of sram |
Also Published As
Publication number | Publication date |
---|---|
WO2018187771A3 (en) | 2018-11-08 |
US20180293129A1 (en) | 2018-10-11 |
WO2018187771A2 (en) | 2018-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10388392B2 (en) | Safe execution in place (XIP) from flash memory | |
US9164897B2 (en) | NAND flash memory interface controller with GNSS receiver firmware booting capability | |
US9436546B2 (en) | Apparatus for error detection in memory devices | |
JP5232018B2 (en) | Error processing method and error processing apparatus | |
KR101473119B1 (en) | Methods and apparatus to protect segments of memory | |
US8176387B2 (en) | Error detection control system | |
US20120124448A1 (en) | Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information | |
US20050204264A1 (en) | Error correction circuit | |
US11119909B2 (en) | Method and system for in-line ECC protection | |
US8555050B2 (en) | Apparatus and method thereof for reliable booting from NAND flash memory | |
US7752527B2 (en) | Microcontroller and RAM | |
US8739012B2 (en) | Co-hosted cyclical redundancy check calculation | |
TWI640997B (en) | Data protecting method, memory control circuit unit and memory storage apparatus | |
CN117136355A (en) | Error checking data for use in offloading operations | |
US11726665B1 (en) | Memory extension with error correction | |
US8769333B2 (en) | Application reliability and fault tolerant chip configurations | |
CN111913668B (en) | Method for checking and correcting memory data accuracy under IP multiplexing | |
US11281576B2 (en) | Memory device | |
CN114333968A (en) | Memory control method, memory controller and electronic device | |
CN111061591B (en) | System and method for implementing data integrity check based on memory integrity check controller | |
US8447932B2 (en) | Recover store data merging | |
US20240134743A1 (en) | Electronic device, electronic system, method for operating an electronic device, and method for operating an electronic system | |
US20230085149A1 (en) | Intra-chip and inter-chip data protection | |
CN220064808U (en) | System on chip and car | |
JP2004126911A (en) | Control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TEXAS INSTRUMENTS DEUTSCHLAND GMBH, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABERL, PETER;REEL/FRAME:041935/0066 Effective date: 20170405 Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DUBEY, AISHWARYA;SAGAR, RAJAT;FALIK, ELDAD;SIGNING DATES FROM 20170405 TO 20170406;REEL/FRAME:041935/0115 |
|
AS | Assignment |
Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:TEXAS INSTRUMENTS DEUTSCHLAND GMBH;REEL/FRAME:046105/0129 Effective date: 20180420 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |