IP Library Granted Patent US 7,743,239
Granted Patent B2
US 7,743,239 · App. 11/480,308 · Granted Jun 22, 2010

Accelerating integrity checks of code and data stored in non-volatile memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,743,239
App. No.
11/480,308
Granted
Jun 22, 2010
Kind
B2
Abstract

In some embodiments, a command may be used by a host processor to access certain information from a non-volatile memory, together with a message authentication code. That information may be utilized to generate a message authentication code on the processor. Then, in any future accesses, the message authentication code generated by the host processor may be compared to the message authentication code from the non-volatile memory to determine the integrity of data or code that is received from the non-volatile memory.

Claims (33)

1. A method comprising:

receiving in a host a list of protected and unprotected ranges of non-volatile memory; and

reducing the processing to determine authenticity when accessing a protected memory range of the non-volatile memory compared to when accessing an unprotected range of said memory by using a measurement done for data in the past to authenticate different data thereafter.

2. The method of claim 1 comprising:

authenticating data from the non-volatile memory using a host that receives information from the non-volatile memory together with a message authentication code;

calculating a message authentication code on the host; and

comparing the host generated message authentication code to the non-volatile memory generated authentication code.

3. The method of claim 1 including generating access control information including information about whether particular ranges of the memory are write protected.

4. The method of claim 3 including maintaining a table of the write protection status of different memory ranges.

5. The method of claim 4 including initially providing write protection status information to a host processor.

6. The method of claim 5 including providing write protection status information only once and reusing the information thereafter.

7. The method of claim 6 including providing the access control information in response to a special command received from a host.

8. The method of claim 7 including maintaining the access control information in a limited access region within the non-volatile memory.

9. The method of claim 1 including maintaining a non-volatile memory having some regions which are write protected and other regions which are not write protected and keeping the write protection status of said regions within access control information.

10. A computer readable medium storing instructions that, when executed, enable a host processor-based system to:

receive a list of protected and unprotected ranges of non-volatile memory; and

reduce the processing to determine authenticity when accessing a protected memory range of the non-volatile memory compared to when accessing an unprotected range of said memory by using a previous measurement done for data in the past to authenticate different data thereafter.

11. The medium of claim 10 further storing instructions to:

authenticate data from the non-volatile memory using information from the non-volatile memory together with a message authentication code;

calculate a message authentication code; and

compare the host generated message authentication code to the non-volatile memory generated authentication code.

12. The medium of claim 10 further storing instructions to generate access control information including information about whether particular ranges of tbe memory are write protected.

13. The medium of claim 12 further storing instructions to maintain a table of the write protection status of different memory ranges.

14. The medium of claim 13 further storing instructions to reuse previously provided write protection status information.

15. The medium of claim 14 further storing instructions to obtain the access control information by sending a special command to the non-volatile memory.

16. A system comprising:

a host processor;

a non-volatile memory;

a memory bus coupled between the host processor and the non-volatile memory; and

the non-volatile memory to store a list of protected and unprotected ranges within said memory, said protected ranges being protected against writes and said unprotected ranges being unprotected against writes, wherein said non-volatile memory to store access control information including information about whether a particular range of memory is write protected.

17. The system of claim 16 wherein said host processor to authenticate data from the non-volatile memory using information from the non-volatile memory together with a message authentication code, calculate a method of authentication code, and compare a host generated message authentication code to a non-volatile memory generated at the authentication code.

18. The system of claim 16 wherein said access control information is maintained as a table that indicates the write protection status of different non-volatile memory ranges.

19. The system of claim 18 wherein said access control information is accessible only in response to a special command received from said host processor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2023
From: INTEL CORPORATION
To: INTEL NDTM US LLC
Reel/Frame 064928/0832 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2008
From: AHLQUIST, BRENT M.
To: INTEL CORPORATION
Reel/Frame 020347/0384 →