IP Library Granted Patent US 10,553,285
Granted Patent B2
US 10,553,285 · App. 15/824,038 · Granted Feb 4, 2020

Single-port memory with opportunistic writes

Inventors: Ran Zamir (Ramat Gan, IL); David Avraham (Even-Yuheda, IL); Eran Sharon (Rishon Lezion, IL); Idan Alrod (Herzliya, IL)
Assignee: Western Digital Technologies, Inc.
G11C16/10G06F11/108G06F11/1012G06F11/1068G06F12/10G11C11/419G11C29/52H03M13/1128G06F2212/1024G06F2212/202G11C7/1042G11C2029/0411
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,553,285
App. No.
15/824,038
Granted
Feb 4, 2020
Kind
B2
Abstract

An apparatus includes a first single-port memory, a second single-port memory, and one or more control circuits in communication with the first single-port memory and in communication with the second single-port memory. The one or more control circuits are configured to initiate a read of stored data on a clock cycle from a physical location of the stored data in the first or second single-port memory and to initiate a write of fresh data on the clock cycle to whichever of the first single-port memory or the second single-port memory does not contain the physical location of the stored data.

Claims (33)

1. An apparatus, comprising:

a first single-port memory;

a second single-port memory; and

one or more control circuits in communication with the first single-port memory and in communication with second single-port memory, the one or more control circuits configured to initiate a read of stored data on a clock cycle from a physical location of the stored data in the first single-port memory and configured to dynamically assign fresh data for writing on the clock cycle to the second single-port memory in response to a determination that the physical location of the stored data is in the first single-port memory.

2. The apparatus of claim 1 further comprising a table that indicates the physical location of the stored data in either the first single-port memory or the second single-port memory.

3. The apparatus of claim 2 wherein the one or more control circuits are configured to update the table with a physical location of the fresh data.

4. The apparatus of claim 3 further comprising a plurality of stored initial table entries to initialize the table, the one or more control circuits configured to write data at locations indicated by the plurality of stored initial table entries on initial clock cycles.

5. The apparatus of claim 1 further comprising an iterative decoder and wherein the stored data and the fresh data represent iterations of a decoding operation.

6. The apparatus of claim 5 further comprising a set of non-volatile memory cells, the iterative decoder configured to receive data read from the set of non-volatile memory cells and perform iterative decoding of the data read from the set of non-volatile memory cells.

7. The apparatus of claim 6 wherein the iterative decoder is a Low Density Parity Check (LDPC) decoder and the set of non-volatile memory cells are formed in a NAND flash memory.

8. The apparatus of claim 7 wherein the LDPC decoder is formed in a controller die and the NAND flash memory is monolithically formed in one or more physical levels of arrays of memory cells having an active area disposed above a silicon substrate.

9. The apparatus of claim 1 further comprising an iterative decoder that requires access to stored outputs of n individually addressable chunks of data and the first single-port memory and the second single-port memory have combined capacity sufficient to hold n individually addressable chunks of data plus excess capacity to allow for memory bias between the first single-port memory and the second single-port memory.

10. The apparatus of claim 1 wherein the first single-port memory is a first Static Random Access Memory (SRAM), the second single-port memory is a second SRAM, and the one or more control circuits include an iterative Error Correction Code (ECC) decoder.

11. The apparatus of claim 1 wherein the first single-port memory, the second single-port memory and the one or more control circuits are interposed between a host interface and a non-volatile memory interface of a non-volatile memory system.

12. An apparatus, comprising:

an iterative decoder configured to access stored outputs of n individually addressable chunks of data in a decoding operation;

a first single-port memory coupled to the iterative decoder, the first single-port memory having capacity for outputs of n/2 individually addressable chunks of data plus excess capacity;

a second single-port memory coupled to the iterative decoder, the second single-port memory having capacity for outputs of n/2 individually addressable chunks of data plus excess capacity; and

means for identifying a destination for writing an output of the iterative decoder in the first single-port memory or the second single-port memory in parallel with reading from a physical location in the first single-port memory or the second single-port memory according to a logical to physical map, the destination identified from whichever of the first single-port memory or the second single-port memory does not include the physical location indicated by the logical to physical map.

13. The apparatus of claim 12 further comprising:

means for storing the logical to physical map; and

means for updating the logical to physical map according to destinations identified for writing outputs or interim results of the iterative decoder.

14. The apparatus of claim 12 wherein the iterative decoder is configured to access the first single-port memory and the second single-port memory non-sequentially.

15. The apparatus of claim 12 wherein the means for identifying a destination is configured to dynamically identify the destination in response to determining the physical location is in the first single-port memory or the second single-port memory.

16. The apparatus of claim 1 wherein the one or more control circuits are coupled between a non-volatile memory and a host interface to decode data read from the non-volatile memory in response to a read command from a host coupled to the host interface.

17. The apparatus of claim 1 wherein the one or more control circuits are configured to decode the data by accessing stored outputs of n individually addressable chunks of data and the first and second single-port memories have combined capacity sufficient to hold more than n individually addressable chunks of data.

18. A method comprising:

receiving a plurality of read commands directed to first and second single-port memories;

receiving a plurality of write commands directed to the first and second single-port memories;

in response to receiving a read command of the plurality of read commands, initiating a read of stored data on a clock cycle from a location in the first single-port memory; and

in response to identifying the first single-port memory as including the location, dynamically assigning data of a write command of the plurality of write commands to be written on the clock cycle to the second single-port memory.

19. The method of claim 18 wherein the plurality of read commands are received non-sequentially and the plurality of write commands are received non-sequentially.

20. The method of claim 18 wherein the plurality of read commands and the plurality of write commands are received from an iterative decoder that requires access to stored outputs of n individually addressable chunks of data and the first and second single-port memories have combined capacity sufficient to hold more than n individually addressable chunks of data.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: ZAMIR, RAN; AVRAHAM, DAVID; SHARON, ERAN; ALROD, IDAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 044535/0866 →
Cited By (1)
US 12,380,946