IP Library Granted Patent US 11,016,885
Granted Patent B2
US 11,016,885 · App. 16/285,909 · Granted May 25, 2021

Memory sub-system for decoding non-power-of-two addressable unit address boundaries

Inventors: Patrick A. La Fratta (McKinney, TX); Robert Walker (Raleigh, NC); Chandrasekhar Nagarajan (San Jose, CA)
Assignee: Micron Technology, Inc.
G06F12/0607G06F12/04G06F9/30134
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,016,885
App. No.
16/285,909
Granted
May 25, 2021
Kind
B2
Abstract

A system generating, using a first addressable unit address decoder, a first addressable unit address based on an input address, an interleaving factor, and a number of first addressable units. The system then generating, using an internal address decoder, an internal address based on the input address, the interleaving factor, and the number of first addressable units. Generating the internal address includes: determining a lower address value by extracting lower bits of the internal address, determining an upper address value by extracting upper bits of the internal address, and adding the lower address value to the upper address value to generate the internal address. Using an internal power-of-two address boundary decoder and the internal address, the system then generating a second addressable unit address, a third addressable unit address, a fourth addressable unit address, and a fifth addressable unit address.

Claims (64)

1. A system comprising:

a memory component; and

a processing device operatively coupled with the memory component, the processing device configured to perform operations comprising:

generating, using a first addressable unit address decoder, a first addressable unit address based on an input address, an interleaving factor, and a number of first addressable units;

generating, using an internal address decoder, an internal address based on the input address, the interleaving factor, and the number of first addressable units, wherein generating the internal address comprising:

determining a lower address value by extracting lower bits of the internal address,

determining an upper address value by extracting upper bits of the internal address, and

adding the lower address value to the upper address value to generate the internal address; and

generating, using an internal power-of-two address boundary decoder and the internal address, a second addressable unit address, a third addressable unit address, a fourth addressable unit address, and a fifth addressable unit address, wherein the power-of-two is 2 n , wherein n is greater or equal to 0.

2. The system of claim 1 , wherein the first addressable unit address is one of: a channel address, a rank address, a bank address, a row address or a column address.

3. The system of claim 1 ,

wherein the first addressable unit address decoder is a channel address decoder, the first addressable unit address is a channel address, the number of first addressable units is a number of channels, and

wherein the second addressable unit address, the third addressable unit address, the fourth addressable unit address, and the fifth addressable unit address are, respectively, a rank address, a bank address, a row address and a column address.

4. The system of claim 3 , wherein the interleaving factor is a value that specifies a number of bytes between each channel boundary.

5. The system of claim 3 , wherein the internal power-of-two address boundary decoder is configured with a bit map received as a character string of bit positions of the rank address, the bank address, the row address and the column address.

6. The system of claim 3 , wherein generating, using the channel address decoder, the channel address includes:

dividing the input address by the interleaving factor to generate a first value, and

performing a modulo operation between the first value and the number of channels to generate the channel address.

7. The system of claim 3 , wherein determining, using the internal address decoder, the lower address value includes:

performing a modulo operation between the input address and the interleaving factor to generate the lower address value.

8. The system of claim 3 , wherein the lower address value is a number of bytes the input address is from a channel boundary.

9. The system of claim 3 , wherein determining, using the internal address decoder, the upper address value includes:

multiplying the interleaving factor by the number of channels to obtain a first value,

dividing the input address by the first value to obtain a second value, and

multiplying the second value by the interleaving factor to generate the upper address value.

10. A method comprising:

generating, using a first addressable unit address decoder, a first addressable unit address based on an input address, an interleaving factor, and a number of first addressable units;

generating, using an internal address decoder, an internal address based on the input address, the interleaving factor, and the number of first addressable units, wherein generating the internal address comprises:

determining a lower address value by extracting lower bits of the internal address,

determining an upper address value by extracting upper bits of the internal address, and

adding the lower address value to the upper address value to generate the internal address; and

generating, using an internal power-of-two address boundary decoder and the internal address, a second addressable unit address, a third addressable unit address, a fourth addressable unit address, and a fifth addressable unit address, wherein the power-of-two is 2 n , wherein n is greater or equal to 0.

11. The method of claim 10 , wherein the first addressable unit address is one of: a channel address, a rank address, a bank address, a row address or a column address.

12. The method of claim 10 ,

wherein the first addressable unit address decoder is a channel address decoder, the first addressable unit address is a channel address, the number of first addressable units is a number of channels, and

wherein the second addressable unit address, the third addressable unit address, the fourth addressable unit address, and the fifth addressable unit address are, respectively, a rank address, a bank address, a row address and a column address.

13. The method of claim 12 , wherein the interleaving factor is a value that specifies a number of bytes between each channel boundary.

14. The method of claim 12 , wherein the internal power-of-two address boundary decoder is configured with a bit map received as a character string of bit positions of the rank address, the bank address, the row address and the column address.

15. The method of claim 12 , wherein generating, using the channel address decoder, the channel address includes:

dividing the input address by the interleaving factor to generate a first value, and

performing a modulo operation between the first value and the number of channels to generate the channel address.

16. The method of claim 12 , wherein determining, using the internal address decoder, the lower address value includes:

performing a modulo operation between the input address and the interleaving factor to generate the lower address value.

17. The method of claim 12 , wherein the lower address value is a number of bytes the input address is from a channel boundary.

18. The method of claim 12 , wherein determining, using the internal address decoder, the upper address value includes:

multiplying the interleaving factor by the number of channels to obtain a first value,

dividing the input address by the first value to obtain a second value, and

multiplying the second value by the interleaving factor to generate the upper address value.

19. At least one non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

generating, using a channel address decoder, a channel address based on an input address, an interleaving factor, and a number of first channels;

generating, using an internal address decoder, an internal address based on the input address, the interleaving factor, and the number of channels, wherein generating the internal address comprises:

determining a lower address value by extracting lower bits of the internal address, determining an upper address value by extracting upper bits of the internal address, and

adding the lower address value to the upper address value to generate the internal address; and

generating, using a power-of-two address boundary decoder and the internal address, a rank address, a bank address, a row address and a column address, wherein the power-of-two is 2 n , wherein n is greater or equal to 0.

20. The at least one non-transitory machine-readable storage medium of claim 19 ,

wherein generating, using the channel address decoder, the channel address includes:

dividing the input address by the interleaving factor to generate a first value, and

performing a modulo operation between the first value and the number of channels to generate the channel address;

wherein determining, using the internal address decoder, the lower address value includes:

performing a modulo operation between the input address and the interleaving factor to generate the lower address value; and

wherein determining, using the internal address decoder, the upper address value includes:

multiplying the interleaving factor by the number of channels to obtain a first value,

dividing the input address by the first value to obtain a second value, and

multiplying the second value by the interleaving factor to generate the upper address value.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2019
From: LA FRATTA, PATRICK A; WALKER, ROBERT; NAGARAJAN, CHANDRASEKHAR
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050079/0929 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →