IP Library Granted Patent US 12,158,811
Granted Patent B2
US 12,158,811 · App. 18/170,992 · Granted Dec 3, 2024

Dynamic memory management system

Inventors: Timothy Stoakes (One Tree Hill, AU); Mark Lewis (San Jose, CA)
Assignee: Innovations in Memory LLC
G06F11/108G06F3/0604G06F3/0644G06F3/0658G06F3/0689
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,158,811
App. No.
18/170,992
Granted
Dec 3, 2024
Kind
B2
Abstract

A method implemented by a memory controller may comprise receiving segment pointers that identify memory devices and slices for associated segments. The method may comprise identifying a most-full first one of the memory devices. The method may comprise identifying a most-empty second one of the memory devices. The method may comprise identifying one of the segments in the most-full one of the memory devices. The method may comprise moving a slice from the identified one of the segments in the most-full one of the memory devices to the most-empty one of the memory devices. The method may comprise updating one of the segment pointers for the identified segment.

Claims (17)

1. A method implemented by a memory controller, the method comprising:

creating segment pointers that identify physical memory devices and slices for associated segments of data in the physical memory devices;

identifying a failure in one of the physical memory devices;

identifying a segment, by searching the segment pointers on a condition that the failed one of the physical memory devices is being used, wherein the segment includes a slice in the failed one of the physical memory devices;

selecting a new slice in a new physical memory device, wherein the new physical memory device where a new slice is selected is not a physical memory device that is using the identified segment;

recreating the slice for the failed one of the physical memory devices from other slices in the identified segment;

storing the recreated slice in the new physical memory device; and

updating the segment pointer for the identified segment with the recreated slice in the new physical memory device.

2. The method of claim 1 , further comprising:

addressing segments of data in the physical memory devices using the segment pointers.

3. The method of claim 1 , wherein the associated segments of data each include multiple slices of the data stored as stripes across the physical memory devices.

4. The method of claim 3 , wherein each of the slices include individual strips of the data each forming part of a different one of the stripes.

5. The method of claim 1 , further comprising:

ignoring the identified failure on a condition that the failed physical memory device is not being used.

6. The method of claim 1 , wherein the new physical memory device where the new slice is located is a physical memory device that has a least number of slices to rewrite.

7. The method of claim 1 , wherein the new physical memory device where the new slice is selected is a different physical memory device than the failed physical memory device.

8. The method of claim 1 , further comprising locking the identified segment against concurrent access.

Assignments (2)
CORRECTIVE ASSIGNMENT TO REMOVE US PATENT NO. 9013874 PREVIOUSLY RECORDED UNDER REEL AND FRAME 064272/0249. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 17, 2024
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 068998/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 064272/0249 →