IP Library Granted Patent US 12,511,124
Granted Patent B2
US 12,511,124 · App. 17/693,240 · Granted Dec 30, 2025

Static identifications in object-based memory access

Inventor: Steven Jeffrey Wallach (Dallas, TX)
Assignee: Micron Technology, Inc.
G06F9/30112G06F9/342
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 12,511,124
App. No.
17/693,240
Granted
Dec 30, 2025
Kind
B2
Abstract

A computer system having an address system of a first predetermined width in which each address of the first predetermined width in the address system includes a first portion identifying an object and a second portion identifying an offset relative to the object, where a static identifier for the first portion is predetermined to identify an address space having a second predetermined width that is smaller than the first predetermined width, or a space of kernel objects.

Claims (31)

1 . A computer system, comprising:

a register of a first predetermined width, the register storing an address having:

a first portion identifying an object; and

a second portion identifying an offset relative to the object, wherein the offset is utilized for loading an instruction from a memory location; and

an execution unit configured to load the instruction using the offset and execute the instruction using the address in accessing memory;

wherein the first portion has a static identifier used in executing the instruction and configured to identify a predetermined object type of the object to facilitate adjusting of at least one operation conducted by a processor in accordance with the predetermined object type.

2 . The computer system of claim 1 , wherein the static identifier is configured to represent a class of objects; and the class of objects is applications using an address space having a second predetermined width that is smaller than the first predetermined width.

3 . The computer system of claim 2 , wherein the first predetermined width is 128 bits; and the second predetermined width is one of: 64 bits and 32 bits.

4 . The computer system of claim 3 , wherein when the static identifier has a value of one, the second predetermined width is 64 bits.

5 . The computer system of claim 3 , wherein when the static identifier has a value of one, the second predetermined width is 32 bits.

6 . The computer system of claim 2 , wherein the static identifier is pre-associated with a predetermined property used in address conversion during executing instructions of the object.

7 . The computer system of claim 6 , wherein the address conversion includes converting the address from the second predetermined width to the first predetermined width.

8 . The computer system of claim 7 , wherein the converting of the address from the second predetermined width to the first predetermined width is performed using the static identifier as an object identifier and the address of the second predetermined width as an offset.

9 . The computer system of claim 1 , wherein the static identifier is configured to represent a class of objects; and the class of objects is in a kernel of an operating system of the computer system.

10 . The computer system of claim 9 , wherein the static identifier has a value of zero.

11 . The computer system of claim 1 , wherein the instruction is loaded using the address for execution.

12 . The computer system of claim 1 , wherein execution of the instruction operates on a data item obtained from a memory location identified by the address.

13 . The computer system of claim 2 , wherein the static identifier is pre-associated with a predetermined property used to adjust a security operation during executing instructions of the object.

14 . The computer system of claim 2 , wherein the static identifier is pre-associated with a predetermined property used to adjust a priority during executing instructions of the object.

15 . A method, comprising:

receiving, in a processor, a first address in a memory address space having a first predetermined width;

determining, by the processor, an identifier predefined to represent the memory address space and configured to identify a predetermined object type of an object associated with the first address to facilitate adjusting of at least one operation conducted by the processor in accordance with the predetermined object type; and

combining, by the processor, the predefined identifier and the first address to generate a second address having a second predetermined width larger than the first predetermined width, wherein the second address has an object identifier portion and a byte offset portion, and the object identifier portion of the second address contains the predefined identifier representing the memory address space and the byte offset portion of the second address corresponds to the first address.

16 . The method of claim 15 , wherein the second predetermined width is 128 bits; and the first predetermined width is one of: 64 bits and 32 bits.

17 . The method of claim 16 , wherein the object identifier portion of the second address has 64 bits; and the byte offset portion of the second address has 64 bits.

18 . A computer system, comprising:

a memory address system of a first predetermined width in which each memory address of the first predetermined width in the memory address system includes an object identifier portion and an offset portion,

wherein the offset is utilized for loading an instruction from a memory location,

wherein an execution unit in the computer system is configured to load the instruction using the offset and execute the instruction using a memory address of the memory address system in accessing memory.

19 . The computer system of claim 18 , wherein the object identifier portion is pre-associated with an object property; and the object property identifies a kernel of an operating system.

20 . The computer system of claim 18 , wherein the object identifier portion is pre-associated with an object property; and the object property is configured to identify memory addresses of a second predetermined width that is smaller than the first predetermined width.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2022
From: WALLACH, STEVEN JEFFREY
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059247/0078 →
Continuity (3)
Continuation 16028840 · Jul 6, 2018
Provisional Application 62665936 · May 2, 2018
Related Publication 20220197648A1 · Jun 23, 2022
References Cited (85)
US 4445177A · Bratt et al. · 1984 [cited by applicant]
US 4454579A · Pilat et al. · 1984 [cited by applicant]
US 4514800A · Gruner et al. · 1985 [cited by applicant]
US 4525780A · Bratt et al. · 1985 [cited by applicant]
US 4660142A · Clancy et al. · 1987 [cited by applicant]
US 4821184A · Clancy et al. · 1989 [cited by applicant]
US 5226161A · Khoyi et al. · 1993 [cited by applicant]
US 6446188B1 · Henderson et al. · 2002 [cited by applicant]
US 7149878B1 · Jensen et al. · 2006 [cited by applicant]
US 7366882B2 · Sahraoui et al. · 2008 [cited by applicant]
US 8635412B1 · Wilshire · 2014 [cited by applicant]
US 8862861B2 · Olson et al. · 2014 [cited by applicant]
US 9798873B2 · Glew et al. · 2017 [cited by applicant]
US 9886532B1 · Scallon · 2018 [cited by applicant]
US 10761855B2 · Wallach · 2020 [cited by applicant]
US 11275587B2 · Wallach · 2022 [cited by applicant]
US 20020031135A1 · Inoue · 2002 [cited by applicant]
US 20020174327A1 · Kruckemyer et al. · 2002 [cited by applicant]
US 20020174328A1 · Kruckemyer · 2002 [cited by applicant]
US 20030033344A1 · Abbott et al. · 2003 [cited by applicant]
US 20030140085A1 · Moir et al. · 2003 [cited by applicant]
US 20040103213A1 · Park · 2004 [cited by applicant]
US 20060095895A1 · K. · 2006 [cited by applicant]
US 20060224816A1 · Yamada et al. · 2006 [cited by applicant]
US 20070043531A1 · Kosche et al. · 2007 [cited by applicant]
US 20080229069A1 · Sartorius et al. · 2008 [cited by applicant]
US 20090222816A1 · Mansell et al. · 2009 [cited by applicant]
US 20090327613A1 · Nutter et al. · 2009 [cited by applicant]
US 20090327617A1 · Furuichi et al. · 2009 [cited by applicant]
US 20100118734A1 · Weilnau, Jr. et al. · 2010 [cited by applicant]
US 20100228936A1 · Wright et al. · 2010 [cited by applicant]
US 20100235598A1 · Bouvier · 2010 [cited by applicant]
US 20110161618A1 · Bellows et al. · 2011 [cited by applicant]
US 20110314238A1 · Finkler et al. · 2011 [cited by applicant]
US 20110320759A1 · Craddock et al. · 2011 [cited by applicant]
US 20120079254A1 · Williams et al. · 2012 [cited by applicant]
US 20120254497A1 · Ni et al. · 2012 [cited by applicant]
US 20130132695A1 · Heo et al. · 2013 [cited by applicant]
US 20140025770A1 · Warfield et al. · 2014 [cited by applicant]
US 20140181480A1 · Diestelhorst et al. · 2014 [cited by applicant]
US 20150046661A1 · Gathala et al. · 2015 [cited by applicant]
US 20150242212A1 · Sudhakar et al. · 2015 [cited by applicant]
US 20150277867A1 · Hasabnis et al. · 2015 [cited by applicant]
US 20150370561A1 · Stark · 2015 [cited by applicant]
US 20160210082A1 · Frank et al. · 2016 [cited by applicant]
US 20160350019A1 · Koufaty et al. · 2016 [cited by applicant]
US 20160364172A1 · Frank et al. · 2016 [cited by applicant]
US 20160371496A1 · Sell · 2016 [cited by applicant]
US 20160381050A1 · Shanbhogue et al. · 2016 [cited by applicant]
US 20170091444A1 · Woodward et al. · 2017 [cited by applicant]
US 20170147505A1 · Baxter et al. · 2017 [cited by applicant]
US 20170199815A1 · Frank et al. · 2017 [cited by applicant]
US 20180113811A1 · Xing · 2018 [cited by applicant]
US 20180191671A1 · Choi · 2018 [cited by examiner]
US 20180365438A1 · Bhattacharyya et al. · 2018 [cited by applicant]
US 20190196983A1 · Khosravi et al. · 2019 [cited by applicant]
US 20190339974A1 · Wallach · 2019 [cited by applicant]
US 20190339977A1 · Wallach · 2019 [cited by applicant]
US 20200073822A1 · Wallach · 2020 [cited by applicant]
US 20200133677A1 · Wallach · 2020 [cited by applicant]
US 20200356374A1 · Wallach · 2020 [cited by applicant]
“Branch Predictor”, https://en.wikipedia.org/wiki/Branch_predictor, printed on Apr. 30, 2018, 12 pages. [cited by applicant]
Chen, et al. “Control Flow Obfuscation with Information Flow Tracking,” ACM, 2009. [cited by applicant]
Computer file, Wikipedia, printed on Oct. 12, 2018. [cited by applicant]
File system, Wikipedia, printed on Oct. 12, 2018. [cited by applicant]
Instruction set architecture, Wikipedia, printed on Oct. 16, 2018. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048006, mailed Dec. 11, 2019. [cited by applicant]
International Search Report and Written Optinion, PCT/US2019/056819, mailed Feb. 7, 2020. [cited by applicant]
Jann Horn, “Project Zero: Reading privileged memory with a side-channel”, Jan. 3, 2018. [cited by applicant]
Mark D. Hill, “On the Meltdown & Spectre Design Flaws”, Feb. 2018. [cited by applicant]
Memory address register, Wikipedia, printed on Jun. 26, 2018. [cited by applicant]
Memory address, Wikipedia, printed on Jun. 26, 2018. [cited by applicant]
Operating system, Wikipedia, printed on Apr. 18, 2018. [cited by applicant]
Pointer, Wikipedia, printed on Oct. 11, 2018. [cited by applicant]
Program counter, Wikipedia, printed on Jun. 26, 2018. [cited by applicant]
Reference, Wikipedia, printed on Oct. 12, 2018. [cited by applicant]
Speculative execution, Wikipedia, printed on Jun. 27, 2018. [cited by applicant]
Steve Wallach, “128-Bit Addressing in RISC-V and Security”, 5th RISC-V Workshop Proceedings, Nov. 2016. [cited by applicant]
The RISC-V Instruction Set Manual, vol. II: Privileged Architecture, May 7, 2017. [cited by applicant]
The RISC-V Instruction Set Manual, vol. I: User-Level ISA, May 7, 2017. [cited by applicant]
URL, Wikipedia, printed on Oct. 12, 2018. [cited by applicant]
Wolczko, et al. “The influence of the Object-Oriented Language Model on a Supporting Architecture,” Kluwer Academic Publishers, 1994. [cited by applicant]
Title: Securing Conditional Speculative Instruction Execution, U.S. Appl. No. 17/707,278, filed Mar. 29, 2022, Inventor: Steven Wallach, Status: Application Undergoing Preexam Processing, Status Date: Mar. 29, 2022. [cited by applicant]
Title: Static Identifications in Object-based Memory Access, U.S. Appl. No. 16/028,840, filed Jul. 6, 2018, Inventor: Steven Wallach, Status: Patented Case, Status Date: May 26,2021. [cited by applicant]
Title: Universal Pointers for Data Exchange in a Computer System having Independent Processors, U.S. Appl. No. 16/170,799, filed Oct. 25, 2018, Inventor: Steven Wallach, Status: Docketed New Case—Ready for Examination, … [cited by applicant]