IP Library Granted Patent US 9,928,887
Granted Patent B2
US 9,928,887 · App. 15/457,339 · Granted Mar 27, 2018

Data shift by elements of a vector in memory

Inventor: Sanjay Tiwari (Meridian, ID)
Assignee: Micron Technology, Inc.
G11C7/1036G11C7/065G11C7/1006G11C7/1012G11C11/4091G11C11/4096
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 9,928,887
App. No.
15/457,339
Granted
Mar 27, 2018
Kind
B2
Abstract

Examples of the present disclosure provide apparatuses and methods for performing shift operations in a memory. An example method comprises performing a shift operation a first element stored in a first group of memory cells coupled to a first access line and a number of sense lines of a memory array and a second element stored in a second group of memory cells coupled to a second access line and the number of sense lines of the memory array. The method can include shifting the first element by a number of bit positions defined by the second element by performing a number of AND operations, OR operations, SHIFT operations, and INVERT operations performed without transferring data via an input/output (I/O) line.

Claims (52)

1. An apparatus, comprising:

a host; and

a memory device, comprising:

a first group of memory cells coupled to a first access line and a number of sense lines of a memory array;

a second group of memory cells coupled to a second access line and the number of sense lines of the memory array; and

a controller, in response to receiving an instruction from the host, configured to use sensing circuitry to shift a first element stored in the first group of memory cells by a number of bits positions defined by a second element stored in the second group of memory cells;

wherein the host is configured to provide the instruction to the memory device to request data of the first element that is shifted by the number of bit positions.

2. The apparatus of claim 1 , wherein the controller is configured to perform the shift without transferring data via an input/output (I/O) line.

3. The apparatus of claim 1 , wherein the controller is further configured to provide data of the first element that has been shifted by the number of bit positions to the host.

4. The method of claim 3 , wherein the result of the shift is stored in at least one of the first group of memory cells and the second group of memory cells prior to providing the data of the shifted first element to the host.

5. The apparatus of claim 1 , wherein the controller is configured to performing the shift by performing a number of AND operations, OR operations, SHIFT operations, and INVERT operations without a sense line address access.

6. The method of claim 1 , wherein the number of operations are performed using sensing circuitry coupled to each of a number of columns of complementary sense lines.

7. An apparatus, comprising:

a host;

a first group of memory cells coupled to a first access line and configured to store a first number of bits that represent a first element;

a second group of memory cells coupled to the first access line and configured to store a second number of bits that represent a second element;

a third group of memory cells coupled to a second access line and configured to store a third element;

a fourth group of memory cells coupled to the second access line and configured to store a fourth element;

a controller configured to operate sensing circuitry, in response to receiving an instruction from the host, to:

shift the first number of bits within the first group of memory cells by a first number of bit positions defined by the third element; and

shift the second number of bits within the second group of memory cells by a second number of bit positions defined by the fourth element by performing a number of operations without transferring data via an input/output (I/O) line; and

wherein the host is configured to provide an instruction to the controller to instruct the controller to shift the first element by the first number of bit positions and the second element by the second number of bit positions.

8. The apparatus of claim 7 , wherein the host configured to provide the instruction comprises the host configured to provide a first instruction that instructs the controller to shift the first element by the first number of bit positions.

9. The apparatus of claim 8 , wherein the host configured to provide the instruction comprises the host configured to provide a second instruction that instructs the controller to shift the second element by the second number of bit positions.

10. The apparatus of claim 9 , wherein the controller is configured to shift the first element in response to receiving the first instruction and to shift the second element in response to receiving the second instruction.

11. The apparatus of claim 7 , wherein each of the sensing circuitry comprises a sense amplifier and a compute component.

12. The apparatus of claim 11 , wherein the sense amplifier comprises a primary latch and the compute component comprises a secondary latch.

13. The apparatus of claim 7 , wherein the controller is configured to operate the sensing circuitry to shift the first number of bits within the first number of memory cells and the second number of bits within the second number of memory cells in parallel.

14. The apparatus of claim 7 , wherein:

the first number of bits are shifted within the first number of memory cells when the third element has a first decimal value of one or higher; and

the second number of bits are shifted within the second number of memory cells when the fourth element has a second decimal value of one or higher.

15. A method for performing a number of shift operations, comprising:

providing, by a host, an instruction to a controller of a memory device to perform a shift operation;

performing, by the controller and in response to receiving the instruction, the shift operation on a first bit-vector comprising a first number of elements stored in a first group of memory cells coupled to a first access line and a number of sense lines of a memory array, wherein the shift operation includes shifting the first bit-vector by a number of bit positions defined by a second bit-vector without a sense line address access;

wherein the second bit-vector is stored in a second group of memory cells coupled to a second access line and the number of sense lines of the memory array; and

providing a result of the shift operation to the host.

16. The method of claim 15 , wherein performing the shift operation comprises performing a number of iterations of operations using:

a SHIFT MASK bit-vector;

a TMPSHIFTED MASK bit-vector;

an ELEMENT MASK bit-vector; and

an EFFECTIVE MASK bit-vector;

wherein each iteration of operations comprises determining whether any of the first elements comprising the first bit-vector remains to have associated bits shifted within the first group of memory cells.

17. The method of claim 15 , wherein the quantity of the number of iterations of operations is equal to log 2 (element width) wherein an element width is a quantity of bits that represent each of the first elements.

18. The method of claim 16 , wherein performing the shift operation further comprises:

creating the ELEMENT MASK bit-vector; and

creating the EFFECTIVE MASK bit-vector.

19. The method of claim 18 , wherein creating the ELEMENT MASK bit-vector comprises:

store a 1-bit as a least significant bit (LSB) of each of the number of elements stored in the first bit-vector in the first number of memory cells; and

store a 0-bit in a remainder of the first number of memory cells.

20. The method of claim 18 , wherein creating the ELEMENT MASK bit-vector comprises:

store a 1-bit as a most significant bit (MSB) of each of the number of elements stored in the first bit-vector in the first number of memory cells; and

store a 0-bit in a remainder of the first number of memory cells.

Assignments (5)
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 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050702/0451 →
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. 4 TO PATENT SECURITY AGREEMENT Recorded May 4, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042405/0909 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2017
From: TIWARI, SANJAY
To: MICRON TECHNOLOGY, INC.
Reel/Frame 041560/0080 →
Continuity (3)
Continuation 15060222 · Mar 3, 2016
Provisional Application 62131654 · Mar 11, 2015
Related Publication 20170186468A1 · Jun 29, 2017