IP Library Granted Patent US 10,360,003
Granted Patent B2
US 10,360,003 · App. 15/661,460 · Granted Jul 23, 2019

Dynamic arrays and overlays with bounds policies

Inventors: Keith R. Slavin (Beaverton, OR); Shane C. Hu (Beaverton, OR)
Assignee: Micron Technology, Inc.
G06F8/41G06F8/30G06F8/31G06F9/5016
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 10,360,003
App. No.
15/661,460
Filed
Jul 27, 2017
Granted
Jul 23, 2019
Kind
B2
Examiner
UNG, LANNY N
Art Unit
2197
USPC
717/140
Abstract

Systems and methods are provided for writing code to access data arrays. One aspect provides a method of accessing a memory array. Data is provided within a one-dimensional array of allocated memory. A dimensional dynamic overlay is declared from within a block of statements, and the declaration initializes various attributes within an array attribute storage object. The data is accessed from within the block of statements as a dimensional indexed array using the array attribute storage object. Another aspect provides a method of creating and accessing a dimensional dynamic array. A dimensional dynamic array is declared from within a block of statements, and memory storage for the array is dynamically allocated. A dynamic overlay storage object is also provided and its attributes are initialized from the dynamic array declaration. The data is accessed as a dimensional indexed array from within the block of statements using the array attribute storage object.

Claims (12)

1. A method, comprising:

maintaining a continuous memory region in memory as a dynamic array cache reserved for an executable, the dynamic array cache provided for memory management;

using the dynamic array cache during execution of the executable for managing a size of a two or more dimensional array; and

dynamically managing the size of the two or more dimensional array defined within the dynamic array cache during execution of the executable at runtime while the size is being dynamically changed by the executable based on a variably defined declaration for a length of the two or more dimensional array defined in a source code of the executable, and wherein data values for the two or more dimensional array is maintained within the continuous memory region of the dynamic array cache in contiguous memory locations.

2. The method of claim 1 , wherein maintaining further includes providing specialized hardware for accessing the dynamic array cache.

3. The method of claim 2 , wherein using further includes managing the two or more dimensional array cache with the specialized hardware.

4. The method of claim 1 , wherein using further includes managing the two or more dimensional array within the dynamic array cache as a cached dynamic array.

5. The method of claim 1 , wherein using further includes providing indices and handles accessible to the executable for accessing the two or more dimensional array from the dynamic array cache.

6. The method of claim 5 , wherein using further includes processing, by a memory interface of the dynamic array cache the indices and handles provided from the executable for managing the two or more dimensional array.

7. The method of claim 1 , wherein using further includes providing a data cache for managing memory for the executable that is not associated accessing the two or more dimensional array.

8. The method of claim 1 , wherein using further includes evaluating a variable-based expression originally defined in the source code based on changing values resolved for the variable-based expression during execution of the executable and setting the size in the dynamic array cache responsive to the evaluating during the runtime.

9. The method of claim 8 , wherein evaluating further includes permitting the size to dynamically grow and shrink during execution of the executable within the dynamic array cache.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050709/0838 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046597/0333 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 044348/0253 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 044653/0333 →
Continuity (5)
Continuation 14309531 · Jun 19, 2014
Continuation 13615927 · Sep 14, 2012
Division 11421399 · May 31, 2006
Continuation 09901806 · Jul 10, 2001
Related Publication 20170322784A1 · Nov 9, 2017