Data processing system and method for reading instruction data of instruction from memory including a comparison stage for preventing execution of wrong instruction data

US11507282B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11507282-B2
Application numberUS-202017111527-A
CountryUS
Kind codeB2
Filing dateDec 4, 2020
Priority dateDec 4, 2020
Publication dateNov 22, 2022
Grant dateNov 22, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In the disclosure, a data processing system includes a microprocessor and a memory. The integrity of data read from a memory by a microprocessor may be checked. When an instruction address is transmitted from the microprocessor to the memory for reading the instruction data corresponding to the instruction address, predetermined dummy data is also read from the memory while the instruction data is read. The integrity of the instruction data may be check by comparing the predetermined dummy data to a hardwire data that is not stored in the memory. If the dummy data matches the hardwire data, the instruction data read from the memory is determined to be correct.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing system, comprising: a memory, including a first region and a second region; a read data check circuit, coupled to the second region of the memory to receive a dummy data, and comparing the dummy data to a hardwire data; and a microprocessor, coupled to the memory and the read data check circuit, configured to access the memory using an instruction address to fetch instruction data, receive the instruction data from the first region and a comparison result from the read data check circuit in response to the instruction address, determine that the instruction data corresponds to the instruction address according to the comparison result, wherein the read data check circuit comprises: a comparator coupled between the second region of the memory and the microprocessor, and a multiplexer coupled between the first region of the memory and the microprocessor, and configured to receive the instruction data from the first region of the memory and the hardwire data, and to select the hardwire data or the instruction data received from the memory as an output to the microprocessor according to a read fail signal. 2. The data processing system of claim 1 , wherein when the comparison result indicates that the dummy data matches the hardwire data, the microprocessor determines that the instruction data received from the first region of the memory corresponds to the instruction address and fetches another instruction address of a subsequent instruction from the memory. 3. The data processing system of claim 1 , wherein the microprocessor accesses the memory again using the instruction address when the comparison result indicates that the dummy data does not match the hardwire data. 4. The data processing system of claim 1 , wherein the microprocessor comprises an instruction pipeline processing a plurality of instructions in an order that are received, wherein the microprocessor is configured to stall the instruction pipeline when the comparison result indicates that the dummy data does not match the hardwire data. 5. The data processing system of claim 1 , wherein the read fail signal is set according to a predetermined number of maximum attempts for reading the memory, and the hardwire data is selected as the output to the microprocessor to stop the execution of the instruction address. 6. The data processing system of claim 1 , wherein the hardwire data is a flush instruction to flush an instruction pipeline of the microprocessor. 7. The data processing system of claim 1 , further comprising a sense amplifier circuit, coupled to the memory, and reading the instruction data from the first region of the memory and the dummy data from the second region of the memory, wherein the instruction data is output to the microprocessor and the dummy data is output to the read data check circuit. 8. The data processing system of claim 1 , wherein the microprocessor is configured to process a first instruction and a second instruction in an instruction pipeline, wherein the instruction pipeline includes an instruction fetch stage, an instruction decode stage, a comparison stage and an execution stage, wherein the comparison stage stalls the instruction pipeline and starts over the instruction fetch stage on the first instruction when the comparison result indicates that the dummy data does not match the hardwire data. 9. The data processing system of claim 8 , wherein the microprocessor continues to process the second instruction when determined that the dummy data matches the hardwire data in the comparison stage of the first instruction. 10. The method of claim 1 , wherein the hardwire data is predetermined and stored in a storage circuit other than the memory, and the memory is a non-volatile memory. 11. A method of reading instruction data of an instruction from a memory, comprising: receiving a first instruction address corresponding to a first instruction; obtaining, from the memory, a first instruction data and a first dummy data based on the first instruction address; comparing the first dummy data to a hardwire data; selecting the first instruction data received from the memory or the hardwire data as an output to a microprocessor according to a read fail signal; and providing the first instruction data to the microprocessor when determined that the dummy data matches the hardwire data. 12. The method of claim 11 , further comprising: providing the first instruction data corresponding to the first instruction address to the microprocessor when determined that the first dummy data matches the hardwire data. 13. The method of claim 11 , further comprising: receiving a second instruction address of a second instruction subsequent the first instruction after determined that the first dummy data matches the hardwire data. 14. The method of claim 11 , further comprising: providing a first signal to the microprocessor to indicate that the memory is not ready for a second instruction subsequent to the first instruction when determined that the first dummy data does not match the hardwire data. 15. The method of claim 11 , further comprising: incrementing a read fail counter when determined that the first dummy data does not match the hardwire data. 16. The method of claim 15 , further comprising: determining whether the read fail counter has reached a predetermined number of read attempts. 17. The method of claim 16 , further comprising: repeatedly obtaining the first instruction data and the first dummy data from the memory based on the first instruction address until the read fail counter reaches the predetermined number of read attempts. 18. The method of claim 16 , further comprising: providing the hardware data to the microprocessor when determined that the read fail counter has reached the predetermined number of read attempts. 19. The method of claim 11 , wherein the hardwire data is predetermined and stored in a storage circuit other than the memory.

Assignees

Inventors

Classifications

  • Recovery, e.g. branch miss-prediction, exception handling (error detection or correction G06F11/00) · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Checkpointing the instruction stream · CPC title

  • G06F11/073Primary

    in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11507282B2 cover?
In the disclosure, a data processing system includes a microprocessor and a memory. The integrity of data read from a memory by a microprocessor may be checked. When an instruction address is transmitted from the microprocessor to the memory for reading the instruction data corresponding to the instruction address, predetermined dummy data is also read from the memory while the instruction data…
Who is the assignee on this patent?
Winbond Electronics Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/1407. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 22 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).