IP Library Granted Patent US 11,119,910
Granted Patent B2
US 11,119,910 · App. 16/598,634 · Granted Sep 14, 2021

Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments

Inventors: Neal Berger (Fremont, CA); Susmita Karmakar (Fremont, CA); TaeJin Pyon (Fremont, CA); Kuk-Hwan Kim (Fremont, CA)
Assignee: SPIN MEMORY, INC.
G06F12/0246G06F9/544G06F11/076G06F12/0804G06F12/0855G06F12/0873G06F12/0886
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 11,119,910
App. No.
16/598,634
Granted
Sep 14, 2021
Kind
B2
Abstract

A memory device comprises a memory bank comprising a plurality of addressable memory cells, wherein the memory bank is divided into a plurality of segments. Further, the device comprises a cache memory operable for storing a second plurality of data words, wherein each data word of the second plurality of data words is either awaiting write verification associated with the memory bank or is to be re-written into the memory bank. The cache memory is divided into a plurality of primary segments, wherein each primary segment of the cache memory is direct mapped to a corresponding segment of the plurality of segments, wherein each primary segment is sub-divided into a plurality of secondary segments, and wherein each of the plurality of secondary segments comprises at least one counter for tracking a number of entries stored therein.

Claims (35)

1. A memory device comprising:

a memory bank comprising a plurality of addressable memory cells, wherein the memory bank is divided into a plurality of segments;

a pipeline configured to process write operations of a first plurality of data words addressed to the memory bank;

a cache memory operable for storing a second plurality of data words and associated memory addresses, wherein the second plurality of data words are a subset of the first plurality of data words, wherein the cache memory is associated with the memory bank and wherein further each data word of the second plurality of data words is either awaiting write verification associated with the memory bank or is to be re-written into the memory bank, wherein the cache memory is divided into a plurality of primary segments, wherein each primary segment of the cache memory is direct mapped to a corresponding segment of the plurality of segments of the memory bank, wherein each primary segment of the plurality of primary segments of the cache memory is sub-divided into a plurality of secondary segments, and wherein each of the plurality of secondary segments comprises at least one counter for tracking a number of entries stored therein; and

a logic module operable to:

determine a first primary segment of the plurality of primary segments of the cache memory for performing an access operation; and

select a first secondary segment from the plurality of secondary segments within the first primary segment for performing the access operation, wherein the first secondary segment is selected based on a value of a counter of the selected secondary segment.

2. The memory device of claim 1 , wherein the access operation is an entry-in operation into the first secondary segment, wherein the value of the counter of the first secondary segment is lower than corresponding counter values of other secondary segments within the first primary segment.

3. The memory device of claim 1 , wherein the access operation is an entry-out operation for removing an entry from the first secondary segment, wherein the value of the counter of the first secondary segment is higher than corresponding counter values of other secondary segments within the first primary segment.

4. The memory device of claim 3 , wherein the entry-out operation is incident to a verify operation.

5. The memory device of claim 3 , wherein the entry-out operation is incident to a re-write operation.

6. The memory device of claim 1 , wherein to determine the first primary segment of the plurality of primary segments of the cache memory for performing the access operation, the logic module is further operable to:

determine the first primary segment in the cache memory based on an address of a data word associated with the access operation, wherein the first primary segment directly maps to a segment of the memory bank associated with the access operation.

7. The memory device of claim 1 , wherein each of the plurality of secondary segments of the cache memory is associated with two respective counters to keep track of a number of valid entries corresponding to write 1 errors and a number of valid entries corresponding to write 0 errors stored therein.

8. A memory device comprising:

a plurality of memory banks comprising a plurality of addressable memory cells, wherein each of the plurality of memory banks is divided into a plurality of segments;

a pipeline configured to process write operations of a first plurality of data words addressed to the plurality of memory banks;

a cache memory operable for storing a second plurality of data words and associated memory addresses, wherein the second plurality of data words are a subset of the first plurality of data words, wherein the cache memory is associated with the plurality of memory banks and wherein further each data word of the second plurality of data words is either awaiting write verification associated with a memory bank from the plurality of memory banks or is to be re-written into a memory bank from the plurality of memory banks, wherein the cache memory is divided into a plurality of primary segments, wherein each primary segment of the cache memory is direct mapped to a corresponding segment of the plurality of segments of the memory bank, wherein each primary segment of the plurality of primary segments of the cache memory is sub-divided into a plurality of secondary segments, and wherein each of the plurality of secondary segments comprises at least one counter for tracking a number of entries in stored therein; and

a logic module operable to:

determine a first primary segment of the plurality of primary segments of the cache memory for performing an access operation; and

select a first secondary segment from the plurality of secondary segments within the first primary segment for performing the access operation, wherein the first secondary segment is selected based on a value of a counter of the selected secondary segment.

9. The memory device of claim 8 , wherein the access operation is an entry-in operation into the first secondary segment, wherein the value of the counter of the first secondary segment is lower than corresponding counter values of other secondary segments within the first primary segment.

10. The memory device of claim 8 , wherein the access operation is an entry-out operation for removing an entry from the first secondary segment, wherein the value of the counter of the first secondary segment is higher than corresponding counter values of other secondary segments within the first primary segment.

11. The memory device of claim 10 , wherein the entry-out operation is a verify operation.

12. The memory device of claim 10 , wherein the entry-out operation is a re-write operation.

13. The memory device of claim 8 , wherein to determine the primary segment of the plurality of primary segments of the cache memory for performing the access operation, the logic module is further operable to:

determine the first primary segment in the cache memory based on an address of a data word associated with the access operation, wherein the first primary segment directly maps to a segment of the memory bank associated with the access operation.

14. The memory device of claim 8 , wherein each of the plurality of secondary segments of the cache memory is associated with two respective counters to track of a number of valid entries corresponding to write 1 errors and a number of valid entries corresponding to write 0 errors stored therewithin.

15. A memory device comprising:

a memory bank comprising a plurality of addressable memory cells, wherein the memory bank is divided into a plurality of segments;

a pipeline configured to process write operations of a first plurality of data words addressed to the memory bank;

a cache memory operable for storing a second plurality of data words and associated memory addresses, wherein the second plurality of data words are a subset of the first plurality of data words, wherein the cache memory is associated with the memory bank and wherein further each data word of the second plurality of data words is either awaiting write verification associated with the memory bank or is to be re-written into the memory bank, wherein the cache memory is divided into a plurality of primary segments, wherein each primary segment of the cache memory is direct mapped to a corresponding segment of the plurality of segments of the memory bank, wherein each primary segment of the plurality of primary segments of the cache memory is sub-divided into a plurality of secondary segments, and wherein each of the plurality of secondary segments comprises at least one counter for tracking a number of entries stored therein; and

a logic module operable to:

determine a first primary segment of the plurality of primary segments of the cache memory for performing an access operation; and

select a first secondary segment from the plurality of secondary segments within the first primary segment for performing the access operation based on an address space that the first secondary segment maps to in the memory bank.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: SPIN (ASSIGNMENT FOR BENEFIT OF CREDITORS), LLC
To: INTEGRATED SILICON SOLUTION, (CAYMAN) INC.
Reel/Frame 057407/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: SPIN MEMORY, INC.
To: SPIN (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 056927/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2019
From: BERGER, NEAL; KARMAKAR, SUSMITA; PYON, TAEJIN; KIM, KUK-HWAN
To: SPIN MEMORY, INC.
Reel/Frame 050706/0332 →
Continuity (5)
Continuation In Part 16275088 · Feb 13, 2019
Continuation In Part 16118137 · Aug 30, 2018
Continuation In Part 15855855 · Dec 27, 2017
Continuation In Part 15277799 · Sep 27, 2016
Related Publication 20200117592A1 · Apr 16, 2020