The present disclosure relates generally to semiconductor memory and methods, and more particularly, to apparatuses and methods related to reversing an order of bits in a memory array or subarray.
Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic systems. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data (e.g., host data, error data, etc.) and includes random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), synchronous dynamic random access memory (SDRAM), and thyristor random access memory (TRAM), among others. Non-volatile memory can provide persistent data by retaining stored data when not powered and can include NAND flash memory, NOR flash memory, and resistance variable memory such as phase change random access memory (PCRAM), resistive random access memory (RRAIVI), and magnetoresistive random access memory (MRAM), such as spin torque transfer random access memory (STT RAM), among others.
Electronic systems often include a number of processing resources (e.g., one or more processors), which may retrieve and execute instructions and store the results of the executed instructions to a suitable location. A processor can comprise a number of functional units such as arithmetic logic unit (ALU) circuitry, floating point unit (FPU) circuitry, and a combinatorial logic block, for example, which can be used to execute instructions by performing logical operations such as AND, OR, NOT, NAND, NOR, and XOR, and invert (e.g., inversion) logical operations on data (e.g., one or more operands). For example, functional unit circuitry may be used to perform arithmetic operations such as addition, subtraction, multiplication, and division on operands via a number of logical operations.
A number of components in an electronic system may be involved in providing instructions to the functional unit circuitry for execution. The instructions may be executed, for instance, by a processing resource such as a controller and host processor. Data (e.g., the operands on which the instructions will be executed) may be stored in a memory array that is accessible by the functional unit circuitry. The instructions and data may be retrieved from the memory array and sequenced and/or buffered before the functional unit circuitry begins to execute instructions on the data. Furthermore, as different types of operations may be executed in one or multiple clock cycles through the functional unit circuitry, intermediate results of the instructions and data may also be sequenced and/or buffered.
In many instances, the processing resources (e.g., processor and/or associated functional unit circuitry) may be external to the memory array, and data is accessed via a bus between the processing resources and the memory array to execute a set of instructions. Processing performance may be improved in a processor-in-memory device, in which a processor may be implemented internal and/or near to a memory (e.g., directly on a same chip as the memory array), which may reduce time in processing and may also conserve power. Data movement between and within arrays and/or subarrays of various memory devices, such as processing-in-memory devices, can affect processing time and/or power consumption.
The present disclosure includes apparatuses and methods related to reversing data stored in memory. A number of embodiments include an apparatus comprising an array of memory cells, a first plurality of sensing components corresponding to a respective first plurality of columns of the array, a second plurality of sensing components corresponding to a respective second plurality of columns of the array, and a plurality of shared input/output (I/O) lines (which may be referred to as SIO lines). Each one of the plurality of SIO lines can be selectively coupled to a respective subset of the first plurality of sensing components and to a respective subset of the second plurality of sensing components. The apparatus can include a controller configured to control reversing a logical sequence of data stored in a group of memory cells coupled to a first access line of the array by performing a plurality of transfer operations via the plurality of SIO lines.
A number of embodiments of the present disclosure can facilitate reversing data stored in memory in a more efficient manner as compared to previous approaches. As used herein, reversing data refers reversing a logical sequence (e.g., order) of a stored data pattern. Reversing a stored data pattern can include writing the (reversed) data pattern back to a same group of memory cells in which the (nonreversed) data pattern was initially stored (e.g., a group of cells coupled to a same access line, which may be referred to herein as a “word line” or a “row”); however, embodiments are not so limited. For instance, reversing a stored data pattern can include writing the reversed data pattern to a group of cells other than the group of cells in which the nonreversed data pattern was initially stored (e.g., the reversed data pattern can be written to a group of cells coupled to a different word line). As such, reversing data includes storing data in a manner such that a data unit (e.g., bit) corresponding to a first logical index (e.g., logical index “0” if a zero-based numbering convention is used) is stored so as to correspond to a last logical index (e.g., logical index “N−1” if N represents the total number of bits in a sequence), a data unit corresponding to the last logical index (e.g., logical index “N−1”) is stored so as to correspond to the first logical index (e.g., logical index “0”), the data unit corresponding to the second logical index (e.g., logical index “1”) is stored so as to correspond to the next to last logical index (e.g., logical index “N−2”), and so on. As used herein, a “logical index” refers to a logical address associated with a particular data unit.
A number of embodiments can include reversing the data corresponding to an entire row of a memory array in a faster and/or more efficient manner as compared to prior approaches. For example, consider a memory array comprising 16K (e.g., 16,000) columns (e.g., 16K sense lines or complementary sense line pairs, which may be referred to herein as “digit lines”) such that each row stores 16K data units (e.g., bits). In accordance with a number of embodiments, a number of shared input/output (I/O) lines can be utilized to reverse the entire 16K bits corresponding to a particular row via a number of transfer operations. As described further herein, the transfer operations can include swapping data values between subsets of sensing components selectively coupled to respective SIO lines. The number of transfer operations can depend on the number of SIO lines corresponding to the array. In a number of embodiments, the number of SIO lines correlates to the number of sensing components selectively coupled to each of the respective SIO lines (with each one of the number of sensing components corresponding to a respective one of the columns). For instance, in this example, if the number of array columns is N (e.g., 16K) and each SIO line is selectively coupled to eight sensing components, then the number of SIO lines is 2K (e.g., 16K columns divided by 8 sensing components per SIO line). Similarly, if the number of SIO lines is “M”, then the number of sensing components per SIO line is “N/M”. That is, if M is 4K, then the number of sensing components per SIO line would be 4 (e.g., 16K columns divided by 4K SIO lines). Embodiments are not limited to these examples. As used herein, the quantity “16K” can refer 16,384 (e.g., 214), “4K” can refer to 4,096 (e.g., 212), “2K” can refer 2,048 (e.g., 211), etc. That is, “K” can represent the binary multiplier 210 (e.g., 1024).
Previous approaches to reversing data stored in memory often involve moving subsets of the data to be reversed (e.g., bytes, words, etc.) out of the array to an external processing resource (e.g., a scalar processor). The external processing resource(s) can reverse the data and then the reversed data can be further operated on by the external processing resource and/or can be written back to the array. As such, it can be cumbersome to perform data reversal processes on large data sets (e.g., data of an entire row) in accordance with previous approaches.
A number of embodiments of the present disclosure can provide improved parallelism and/or reduced power consumption in association with reversing data stored in memory as compared to previous systems such as previous PIM systems and systems having an external processor (e.g., a processing resource located external from a memory array, such as on a separate integrated circuit chip).
In the following detailed description of the present disclosure, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how one or more embodiments of the disclosure may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the embodiments of this disclosure, and it is to be understood that other embodiments may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the present disclosure. As used herein, designators such as “N”, “M”, etc., particularly with respect to reference numerals in the drawings, indicate that a number of the particular feature so designated can be included. As used herein, “a number of” a particular thing can refer to one or more of such things (e.g., a number of memory arrays can refer to one or more memory arrays). A “plurality of” is intended to refer to more than one of such things.
The figures herein follow a numbering convention in which the first digit or digits correspond to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits. For example, 150 may reference element “50” in
In this example, the system 100 includes a host 110 coupled (e.g., connected) to memory device 120, which includes the memory array 130. Host 110 can be a host system such as a personal laptop computer, a desktop computer, a tablet computer, a digital camera, a smart phone, or a memory card reader, among various other types of hosts. Host 110 can include a system motherboard and/or backplane and can include a number of processing resources (e.g., one or more processors, microprocessors, or some other type of controlling circuitry). The system 100 can include separate integrated circuits or both the host 110 and the memory device 120 can be on the same integrated circuit. The system 100 can be, for instance, a server system and a high performance computing (HPC) system and/or a portion thereof. Although the example shown in
For clarity, description of the system 100 has been simplified to focus on features with particular relevance to the present disclosure. For example, in various embodiments, the memory array 130 can be a DRAM array, SRAM array, STT RAM array, PCRAM array, TRAM array, RRAM array, NAND flash array, and NOR flash array, for instance. The memory array 130 can include memory cells arranged in rows coupled by access lines (which may be referred to herein as word lines or select lines) and columns coupled by sense lines (which may be referred to herein as data lines or digit lines). Although a single memory array 130 is shown in
The memory device 120 includes address circuitry 142 to latch address signals provided over an address/control bus 154 (e.g., an address/control bus from the host 110). Address signals are received by address circuitry 142 and decoded by row decode circuitry 146 and column decode circuitry 152 to access the memory array 130. Although the address/control bus 154 is shown as a single bus, the bus 154 can comprise separate address and control busses. The column decode circuitry 152 can comprise logic (e.g., multiplexor circuitry) to selectively couple shared I/O lines (e.g., SIO line 355 shown in
Data can be sensed (read) from memory array 130 by sensing voltage and/or current changes on digit lines using a number of sensing components (e.g., sense amplifiers) of the sensing circuitry 150. A sense amplifier can read and latch a page (e.g., a row) of data from the memory array 130. As described further herein, the sensing components of the sensing circuitry 150 can comprise respective sense amplifiers and corresponding compute components coupled thereto that can be used to sense, store (e.g., cache and/or buffer), and move data, for instance. The I/O circuitry 144 can be used for bi-directional data communication with host 110 over the data bus 156 (e.g., DQ connections). The write circuitry 148 can be used to write data to the memory array 130.
Memory controller 140, which can serve as a sequencer, can decode control signals (e.g., commands) provided by address/control bus 154 from the host 110. These signals can include chip enable signals, write enable signals, and address latch signals that can be used to control operations performed on the memory array 130, including data sense, data store, data move, data write, and data erase operations, among other operations. The memory controller 140 can be responsible for executing instructions from the host 110 and/or accessing the memory array 130. The memory controller 140 can be a state machine, a sequencer, or some other type of controller and can be implemented in hardware, software, firmware, and/or combinations thereof. In the example shown in
Examples of the sensing circuitry 150 are described further below (e.g., in
In a number of embodiments, the sensing circuitry 150 can also be used to perform logical operations (e.g., logical functions such as AND, OR, NOT, NOR, NAND, XOR, etc.) using data stored in memory array 130 as inputs and participate in movement of the data for writing and storage operations back to a different location in the memory array 130 without transferring the data via a sense line address access (e.g., without firing a column decode signal). As such, various compute functions can be performed using, and within, sensing circuitry 150 rather than (or in association with) being performed by processing resources external to the sensing circuitry 150 (e.g., by a processor associated with host 110 and other processing circuitry, such as ALU circuitry, located on device 120, such as on memory controller 140 or elsewhere).
In various previous approaches, data associated with an operand, for instance, would be read from memory via sensing circuitry and provided to external ALU circuitry via I/O lines (e.g., via local I/O lines and global I/O lines). The external ALU circuitry could include a number of registers and would perform compute functions using the operands, and the result would be transferred back to the array via the I/O lines. In contrast, in a number of embodiments of the present disclosure, sensing circuitry 150 is configured to perform logical operations on data stored in memory array 130 and store the result back to the memory array 130 without enabling a local I/O line and global I/O line coupled to the sensing circuitry 150. The sensing circuitry 150 can be formed on pitch with the memory cells of the array. Additional peripheral logic 170, which can include an additional number of sense amplifiers, can be coupled to the sensing circuitry 150. The sensing circuitry 150 and the peripheral logic 170 can cooperate in performing logical operations and/or in reversing data stored in memory, according to a number of embodiments described herein.
As such, in a number of embodiments, circuitry external to memory array 130 and sensing circuitry 150 is not needed to reverse data stored in memory array 130 and/or to perform compute functions as the sensing circuitry 150 can perform the appropriate operations in order to perform such data reversal and/or compute functions without the use of an external processing resource. Therefore, the sensing circuitry 150 may be used to complement and to replace, at least to some extent, such an external processing resource (or at least the bandwidth consumption of such an external processing resource).
In the example shown in
The cells of the memory array 230 can be arranged in rows coupled by access lines 204-X (Row X), 204-Y (Row Y), etc., and columns coupled by pairs of complementary sense lines (e.g., digit lines 205-1 labelled DIGIT(n) and 205-2 labelled DIGIT(n)_in
Memory cells can be coupled to different digit lines and word lines. For instance, in this example, a first source/drain region of transistor 202-1 is coupled to digit line 205-1, a second source/drain region of transistor 202-1 is coupled to capacitor 203-1, and a gate of transistor 202-1 is coupled to word line 204-Y. A first source/drain region of transistor 202-2 is coupled to digit line 205-2, a second source/drain region of transistor 202-2 is coupled to capacitor 203-2, and a gate of transistor 202-2 is coupled to word line 204-X. A cell plate, as shown in
The digit lines 205-1 and 205-2 of memory array 230 are coupled to sensing component 250 in accordance with a number of embodiments of the present disclosure. In this example, the sensing component 250 comprises a sense amplifier 206 and a compute component 231 corresponding to a respective column of memory cells (e.g., coupled to a respective pair of complementary digit lines). The sense amplifier 206 is coupled to the pair of complementary digit lines 205-1 and 205-2. The compute component 231 is coupled to the sense amplifier 206 via pass gates 207-1 and 207-2. The gates of the pass gates 207-1 and 207-2 can be coupled to selection logic 213.
The selection logic 213 can include pass gate logic for controlling pass gates that couple the pair of complementary digit lines un-transposed between the sense amplifier 206 and the compute component 231 and swap gate logic for controlling swap gates that couple the pair of complementary digit lines transposed between the sense amplifier 206 and the compute component 231. The selection logic 213 can be coupled to the pair of complementary digit lines 205-1 and 205-2 and configured to perform logical operations on data stored in array 230. For instance, the selection logic 213 can be configured to control continuity of (e.g., turn on/turn off) pass gates 207-1 and 207-2 based on a selected logical operation that is being performed.
The sense amplifier 206 can be operated to determine a data value (e.g., logic state) stored in a selected memory cell. The sense amplifier 206 can comprise a cross coupled latch 215 (e.g., gates of a pair of transistors, such as n-channel transistors 227-1 and 227-2 are cross coupled with the gates of another pair of transistors, such as p-channel transistors 229-1 and 229-2), which can be referred to herein as a primary latch. However, embodiments are not limited to this example.
In operation, when a memory cell is being sensed (e.g., read), the voltage on one of the digit lines 205-1 or 205-2 will be slightly greater than the voltage on the other one of digit lines 205-1 or 205-2. An ACT signal and an RNL* signal can be driven low to enable (e.g., fire) the sense amplifier 206. The digit line 205-1 or 205-2 having the lower voltage will turn on one of the transistors 229-1 or 229-2 to a greater extent than the other of transistors 229-1 or 229-2, thereby driving high the digit line 205-1 or 205-2 having the higher voltage to a greater extent than the other digit line 205-1 or 205-2 is driven high.
Similarly, the digit line 205-1 or 205-2 having the higher voltage will turn on one of the transistors 227-1 or 227-2 to a greater extent than the other of the transistors 227-1 or 227-2, thereby driving low the digit line 205-1 or 205-2 having the lower voltage to a greater extent than the other digit line 205-1 or 205-2 is driven low. As a result, after a short delay, the digit line 205-1 or 205-2 having the slightly greater voltage is driven to the voltage of the supply voltage Vcc through a source transistor, and the other digit line 205-1 or 205-2 is driven to the voltage of the reference voltage (e.g., ground) through a sink transistor. Therefore, the cross coupled transistors 227-1 and 227-2 and transistors 229-1 and 229-2 serve as a sense amplifier pair, which amplify the differential voltage on the digit lines 205-1 and 205-2 and operate to latch a data value sensed from the selected memory cell.
Embodiments are not limited to the sensing component configuration illustrated in
As described further below, the sensing component 250 can be one of a plurality of sensing components selectively coupled to a shared I/O line (e.g., SIO line 355 shown in
In this example, the sense amplifier 206 includes equilibration circuitry 214, which can be configured to equilibrate the digit lines 205-1 and 205-2. The equilibration circuitry 214 comprises a transistor 224 coupled between digit lines 205-1 and 205-2. The equilibration circuitry 214 also comprises transistors 225-1 and 225-2 each having a first source/drain region coupled to an equilibration voltage (e.g., VDD/2), where VDD is a supply voltage associated with the array. A second source/drain region of transistor 225-1 is coupled to digit line 205-1, and a second source/drain region of transistor 225-2 is coupled to digit line 205-2. Gates of transistors 224, 225-1, and 225-2 can be coupled together and to an equilibration (EQ) control signal line 226. As such, activating EQ enables the transistors 224, 225-1, and 225-2, which effectively shorts digit lines 205-1 and 205-2 together and to the equilibration voltage (e.g., VDD/2). Although
As shown in
The example shown in
In a number of embodiments, and as shown in
The sensing components 350-0 to 350-7 are selectively coupled to an SIO line, which is referred to generally as an SIO line 355. As such, in this example, the SIO line 355 is selectively coupled to eight sensing components 350. In this example, the SIO line 355 comprises a pair of complementary SIO lines 355-0 (e.g., SHARED I/O LINE) and 355-0* (e.g., SHARED I/O LINE*). The sensing components 350-0 to 350-7 are selectively coupled to the SIO line 355 via column decode circuitry (e.g., column decode circuitry 152 shown in
In this example, the column decode circuitry comprises pairs of select devices (e.g., transistors) 359-0/359-0* to 359-7/359-7* whose gates are coupled to corresponding respective column select lines 358-0 to 358-7. For instance, column select line 358-0 (e.g., column select line 0) is coupled to the gates of select devices 359-0 and 359-0*. As shown in
Embodiments are not limited to the example shown in
To further expand the example in which each SIO line 355 is selectively coupled to a subset of 8 different sensing components, activating column select line 358-0 could correspond to coupling columns 0, 8, 16, 24, etc., to respective SIO lines, activating column select line 358-1 could correspond to coupling columns 1, 9, 17, 25, etc., to respective SIO lines, activating column select line 358-2 could correspond to coupling columns 2, 10, 18, 26, etc., to respective SIO lines, activating column select line 358-3 could correspond to coupling columns 3, 11, 19, 27, etc., to respective SIO lines, activating column select line 358-4 could correspond to coupling columns 4, 12, 20, 28, etc., to respective SIO lines, activating column select line 358-5 could correspond to coupling columns 5, 13, 21, 29, etc., to respective SIO lines, activating column select line 358-6 could correspond to coupling columns 6, 14, 22, 30, etc., to respective SIO lines, and activating column select line 358-7 could correspond to coupling columns 7, 15, 23, 31, etc., to respective SIO lines. An example of an array comprising multiple SIO lines is described further in association with
The array 430 comprises a plurality of columns 422-0 to 422-(N−1) (referred to generally as columns 422). In the example shown in
In the example shown in
The SIO lines 455 are selectively coupled to the corresponding respective subsets of sensing components of stripes 451-0/451-1 via column select circuitry, which is represented by elements 460-0 to 460-7 in
For instance, in this example, column select circuitry 460-0 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-0 to SIO line 455-0, the sensing component corresponding to column 422-8 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−8) to SIO line 455-(M−1). The column select circuitry 460-1 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-1 to SIO line 455-0, the sensing component corresponding to column 422-9 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−7) to SIO line 455-(M−1). The column select circuitry 460-2 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-2 to SIO line 455-0, the sensing component corresponding to column 422-10 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−6) to SIO line 455-(M−1). The column select circuitry 460-3 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-3 to SIO line 455-0, the sensing component corresponding to column 422-11 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−5) to SIO line 455-(M−1). The column select circuitry 460-4 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-4 to SIO line 455-0, the sensing component corresponding to column 422-12 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−4) to SIO line 455-(M−1). The column select circuitry 460-5 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-5 to SIO line 455-0, the sensing component corresponding to column 422-13 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−3) to SIO line 455-(M−1). The column select circuitry 460-6 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-6 to SIO line 455-0, the sensing component corresponding to column 422-14 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−2) to SIO line 455-(M−1). The column select circuitry 460-7 can be configured to selectively couple, in parallel, the sensing component corresponding to column 422-7 to SIO line 455-0, the sensing component corresponding to column 422-15 to SIO line 455-1, . . . , and the sensing component corresponding to column 422-(N−1) to SIO line 455-(M−1).
As described further below, in operation, data can be transferred from the sensing components corresponding to columns selected via the column select circuitry 460 to the respective SIO lines 455 (e.g., the sensed data stored in the sensing components can be driven onto the respective SIO lines 455). The data can then be transferred from the SIO lines 455 to a different storage location. For instance, the data driven onto each one of the respective SIO lines 455 can be transferred to a sensing component corresponding to a different selected column (e.g., via the appropriate column select circuitry 460 corresponding to the different selected respective columns 422). The data can then be stored to a memory cell coupled to a selected access line (e.g., 425-1, 425-2) of the array 430 via the corresponding sense lines 405. The different storage location can be external from the array 430. For example, the sense amplifiers 470 can serve as the different storage location; however, embodiments are not so limited.
References 471-0 and 471-1 shown in
In the example shown in
For a particular SIO line “M”, the eight corresponding logical indices are:
Recalling that N=16K in this example, the eight physical columns 422 selectively coupled to the first SIO line 455-0 (e.g., physical columns 422-0 to 422-7) are assigned respective logical indices “0,” “16K−1,” “4K,” “12K−1,” “8K,” “8K−1,” “12K,” and “4K−1” (as indicated at references 470-0 and 470-1). Similarly, the eight physical columns 422 selectively coupled to the last SIO line 455-(M−1) (e.g., physical columns 422-(N−8) to 422-(N−1)) are assigned respective logical indices “2K−1,” “14K,” “6K−1,” “10K,” “10K−1,” “6K,” “14K−1,” and “2K.” Embodiments are not limited to logical index assignments shown in
A number of embodiments of the present disclosure can include reversing a data pattern stored in an array (e.g., a data pattern stored in a particular row 425-1 of array 430) by performing a plurality of transfer operations via the SIO lines 455. As described further below, performing the transfer operations can include transferring data between subsets of the sensing components of stripe 451-0 and respective subsets of the sensing components of stripe 451-1. Transferring data between subsets of sensing components of stripe 451-0 and subsets of sensing components of stripe 451-1 can be referred to as “swapping” data.
As an example, consider a 16K bit data pattern (e.g., bit-vector) stored in the memory cells commonly coupled to a particular row (e.g., access line 425-1). The 16K data pattern stored in the particular row can be reversed and the reversed data pattern can be stored back to array 430 (e.g., the reversed data pattern can be written to the particular row such that the data previously stored in the particular row is replaced and/or the reversed data pattern can be written to a row other than the particular row). Reversing the stored data pattern can include sensing a first subset of the cells coupled to a particular row (e.g., access line 425-1 in this example). The first subset of cells can comprise those cells of the columns 422 coupled to respective SIO lines 455 in parallel via column select circuitry 460-0 (e.g., cells corresponding to columns 422-0, 422-8, . . . , 422-(N−8)). In this example, the first subset of cells comprises 2K cells (e.g., 2K bits) since there are 2K SIO lines 455 (e.g., M=2K since there are 16K columns 422 and each SIO line 455 is selectively coupled to eight sensing components 451-0/451-1 such that (16K columns)/(8 columns/SIO line)=2K SIO lines). Sensing the first subset of cells can include storing the data values of the first subset of cells in respective latches (e.g., sense amplifier latch and/or compute component latch) of the sensing components 451-0 corresponding to the respective 2K columns 422. The sensed data of the first subset of cells can be stored in a number of temporary storage locations. For instance, the sensed data corresponding to the first subset of cells can be written (e.g., at least temporarily) to memory cells corresponding to the same respective 2K columns but commonly coupled to a different access line (e.g., cells corresponding to columns 422-0, 422-8, . . . , 422-(N−8) but commonly coupled to access line 425-2). Embodiments are not limited to a particular temporary storage location. For example, the temporary storage locations could include sense amplifiers 470, among other temporary storage locations suitable for storing sensed data corresponding to the first subset of cells.
Reversing the stored data pattern can include subsequently sensing a second subset of the cells (e.g., an additional 2K cells corresponding to 2K bits) coupled to the access line 425-1. The second subset of cells can comprise those cells of the columns 422 coupled to respective SIO lines 455 in parallel via column select circuitry 460-1 (e.g., cells corresponding to the 2K columns 422-1, 422-9, . . . , 422-(N−7)). Sensing the second subset of cells can include storing the data values of the second subset of cells in respective latches (e.g., sense amplifier latch and/or compute component latch) of the sensing components 451-1 corresponding to the respective columns 422. The data of the second subset of cells can be transferred, via the 2K SIO lines 455-0 to 455-(M−1), from the respective sensing components 451-1 (e.g., the sensing components corresponding to columns 422-1, 422-9, . . . , 422-(N−7)) to the respective sensing components 451-0 corresponding to the first subset of cells (e.g., the sensing components 451-0 corresponding to columns 422-0, 422-8, . . . , 422-(N−8)). The data of the second subset of cells can then be written, from the respective sensing components 451-0, to the memory cells of a target row (e.g., to row 425-1 and/or to a different row of array 430 to which the reversed data pattern is to be stored).
The 2K bits corresponding to the first subset of cells, which was stored in the temporary storage locations can be sensed by the sensing components of stripe 451-0 corresponding to the first subset of columns 422 (e.g., 422-0, 422-8, . . . , 422-(N−8), and can be transferred, via the 2K SIO lines 455-0 to 455-(M−1), from the respective sensing components 451-0 to the respective sensing components 451-1 corresponding to the second subset of cells (e.g., the sensing components 451-1 corresponding to columns 422-1, 422-9, . . . , 422-(N−7)). The data of the first subset of cells can then be written, from the respective sensing components 451-1, to the memory cells of the target row. In this manner, the 2K bits of data stored in cells corresponding to the first subset of columns 422 (e.g., 2K even numbered columns corresponding to stripe 451-0) are swapped with 2K bits of data stored in cells corresponding to the second subset of columns 422 (e.g., 2K odd numbered columns corresponding to stripe 451-1).
As such, the logical indices corresponding to the data values stored in the target row are reversed as compared to the logical indices of the data in the particular row (e.g., 425-1). For instance, the data value previously stored in a cell corresponding to logical column “0” (e.g., physical column 422-0) is stored in a cell coupled to the target row and corresponding to logical column “16K−1” (e.g., physical column 422-1), and the data value previously stored in a cell corresponding to logical column “16K−1” (e.g., physical column 422-1) is stored in a cell coupled to the target row and corresponding to logical column “0” (e.g., physical column 422-0). The data value can be held temporarily by sense amplifiers 470-0 to 470-(M−1) to transfer the data value. As such, the data value formerly corresponding to the first logical index (e.g., “0”) corresponds to the last logical index (e.g., “16K−1”) and vice versa. Similarly, the data value previously stored in a cell corresponding to logical column “1” (e.g., physical column 422-8) is stored in a cell coupled to the target row and corresponding to logical index “16K−2” (e.g., physical column 422-9), and the data value previously stored in a cell corresponding to logical column “16K−2” (e.g., physical column 422-9) is stored in a cell coupled to the target row and corresponding to logical column “1” (e.g., physical column 422-8). As such, the data value formerly corresponding to the second logical index (e.g., “1”) corresponds to the next to last logical index (e.g., “16K−2”) and vice versa.
The transfer operations described above and involving swapping the data stored in the first and second subsets of cells (e.g., 4K cells total) can be repeated for the remaining 12K cells of the row such that the entire row (e.g., 425-1) is reversed. For instance, in this example, transfer operations can be performed to swap the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-2 (e.g., even numbered columns 422-2, 422-10, . . . , 422-(N−6)) with the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-3 (e.g., columns 422-3, 422-11, . . . , 422-(N−5)). Transfer operations can also be performed to swap the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-4 (e.g., even numbered columns 422-4, 422-12, . . . , 422-(N−4)) with the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-5 (e.g., columns 422-5, 422-13, . . . , 422-(N−3)). Lastly, transfer operations can also be performed to swap the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-6 (e.g., even numbered columns 422-6, 422-14, . . . , 422-(N−2)) with the data stored in a subset of cells of columns coupled to respective SIO lines 455 in parallel via column select circuitry 460-7 (e.g., columns 422-7, 422-15, . . . , 422-(N−1)). Therefore, in some embodiments, the number of swaps performed in order to reverse the entire row of data can be N/2M (e.g., the number of columns 422 divided by two times the number of SIO lines 455). As such, in this example in which the array 430 comprises 16K columns 422 and 2K SIO lines 455, reversing the entire row (e.g., 425-1) involves 4 swaps.
An example of the logical indices of the data values stored in an entire row of the array before and after reversing in accordance with a number of embodiments of the present disclosure is described below in association with
Row 592 of tables 590-1 and 590-2 indicate the physical column numbers 0, 1, . . . , (N−1) corresponding to an array (e.g., array 430 shown in
As shown in row 596-1 of table 590-1, prior to reversing the data each of the bits D0 to DN-1 are stored in cells corresponding to respective physical columns 0 to (N−1). As such, prior to reversing the data, bit D0 is stored in a cell corresponding to physical column “0,” which is assigned logical index “0” (e.g., a first logical index in the 16K sequence), bit D1 is stored in a cell corresponding to physical column “1,” which is assigned logical index “16K−1” (e.g., the last logical index in a 16K sequence), bit D2 is stored in a cell corresponding to physical column “2,” which is assigned logical index “4K,” . . . , and bit DN-1 is stored in a cell corresponding to physical column “N−1,” which is assigned logical index “2K.”
Row 596-2 of table 590-2 illustrates the logical indices of bits Do to DN-1 after being reversed in accordance with embodiments described herein. For example, after being reversed, bit Do is stored in a cell corresponding to physical column “1,” which is assigned logical index “16K−1,” and bit D1 is stored in a cell corresponding to physical column “0,” which is assigned logical index “0”. As such, bit D0 goes from being the first bit in the data pattern (e.g., logical index “0” prior to reversal to being the last bit in the data pattern (e.g., logical index “16K−1” after reversal. In this example, the logical indices are assigned to the physical columns such that swapping the data values stored in adjacent physical columns (e.g., physical columns 0/1, physical columns 2/3, . . . , physical columns (N−2)/(N−1)) results in reversing the stored data pattern. As described above, the even numbered physical columns (e.g., 0, 2, . . . , (N−2)) can correspond to columns coupled to sensing components of a stripe on one side of an array, and the odd numbered physical columns (e.g., 1, 3, . . . , (N−1)) can correspond to columns coupled to sensing components of a stripe on an opposite side of the array (e.g., with each of a plurality of shared I/O lines being coupled to sensing components of a respective subset of the even numbered columns and to sensing components of a corresponding respective subset of the odd numbered columns).
The example provided in
As shown in
Upon activation of signal 679, the voltages on the shared I/O lines (or complementary shared I/O line pair) changes (e.g., as a voltage corresponding to a particular data value is driven from the sensing components onto the respective SIO lines via the column select circuitry) as indicated by signal 680 between times t4 and t5. The data value on each SIO line can then be transferred to a sensing component corresponding to a particular column in the destination subarray 630-1.
For instance, at t4 the signal 685 goes high, which couples the SIO lines to the selected destination columns via the corresponding column select circuitry. As shown at t5, the sensing components coupled to the corresponding selected destination columns are fired as indicated by signal 684 going high. Firing the sensing components results in latching the data on the SIO lines in the corresponding sensing components. Then, the destination row can be activated (e.g., opened), as indicated by signal 683 going high, to transfer the latched data from the sensing components to the corresponding cells of the destination row.
Also shown in
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that an arrangement calculated to achieve the same results can be substituted for the specific embodiments shown. This disclosure is intended to cover adaptations or variations of one or more embodiments of the present disclosure. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of the one or more embodiments of the present disclosure includes other applications in which the above structures and methods are used. Therefore, the scope of one or more embodiments of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.
In the foregoing Detailed Description, some features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the disclosed embodiments of the present disclosure have to use more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
This application is a Continuation of U.S. application Ser. No. 15/098,707, filed Apr. 14, 2016, which issues as U.S. Pat. No. 9,959,923 on May 1, 2018, which claims the benefit of U.S. Provisional Application No. 62/148,503, filed Apr. 16, 2015, the contents of which are included herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4380046 | Fung | Apr 1983 | A |
4435792 | Bechtolsheim | Mar 1984 | A |
4435793 | Ochii | Mar 1984 | A |
4727474 | Batcher | Feb 1988 | A |
4843264 | Galbraith | Jun 1989 | A |
4958378 | Bell | Sep 1990 | A |
4977542 | Matsuda et al. | Dec 1990 | A |
5023838 | Herbert | Jun 1991 | A |
5034636 | Reis et al. | Jul 1991 | A |
5201039 | Sakamura | Apr 1993 | A |
5210850 | Kelly et al. | May 1993 | A |
5253308 | Johnson | Oct 1993 | A |
5276643 | Hoffmann et al. | Jan 1994 | A |
5325519 | Long et al. | Jun 1994 | A |
5367488 | An | Nov 1994 | A |
5379257 | Matsumura et al. | Jan 1995 | A |
5386379 | Ali-Yahia et al. | Jan 1995 | A |
5398213 | Yeon et al. | Mar 1995 | A |
5440482 | Davis | Aug 1995 | A |
5446690 | Tanaka et al. | Aug 1995 | A |
5473576 | Matsui | Dec 1995 | A |
5481500 | Reohr et al. | Jan 1996 | A |
5485373 | Davis et al. | Jan 1996 | A |
5506811 | McLaury | Apr 1996 | A |
5615404 | Knoll et al. | Mar 1997 | A |
5638128 | Hoogenboom | Jun 1997 | A |
5638317 | Tran | Jun 1997 | A |
5654936 | Cho | Aug 1997 | A |
5678021 | Pawate et al. | Oct 1997 | A |
5724291 | Matano | Mar 1998 | A |
5724366 | Furutani | Mar 1998 | A |
5751987 | Mahant-Shetti et al. | May 1998 | A |
5787458 | Miwa | Jul 1998 | A |
5854636 | Watanabe et al. | Dec 1998 | A |
5867429 | Chen et al. | Feb 1999 | A |
5870504 | Nemoto et al. | Feb 1999 | A |
5915084 | Wendell | Jun 1999 | A |
5935263 | Keeth et al. | Aug 1999 | A |
5986942 | Sugibayashi | Nov 1999 | A |
5991209 | Chow | Nov 1999 | A |
5991785 | Alidina et al. | Nov 1999 | A |
6005799 | Rao | Dec 1999 | A |
6009020 | Nagata | Dec 1999 | A |
6092186 | Betker et al. | Jul 2000 | A |
6122211 | Morgan et al. | Sep 2000 | A |
6125071 | Kohno et al. | Sep 2000 | A |
6134164 | Lattimore et al. | Oct 2000 | A |
6147514 | Shiratake | Nov 2000 | A |
6151244 | Fujino et al. | Nov 2000 | A |
6157578 | Brady | Dec 2000 | A |
6163862 | Adams et al. | Dec 2000 | A |
6166942 | Vo et al. | Dec 2000 | A |
6172918 | Hidaka | Jan 2001 | B1 |
6175514 | Henderson | Jan 2001 | B1 |
6181698 | Hariguchi | Jan 2001 | B1 |
6208544 | Beadle et al. | Mar 2001 | B1 |
6226215 | Yoon | May 2001 | B1 |
6301153 | Takeuchi et al. | Oct 2001 | B1 |
6301164 | Manning et al. | Oct 2001 | B1 |
6304477 | Nail | Oct 2001 | B1 |
6389507 | Sherman | May 2002 | B1 |
6418498 | Martwick | Jul 2002 | B1 |
6466499 | Blodgett | Oct 2002 | B1 |
6510098 | Taylor | Jan 2003 | B1 |
6563754 | Lien et al. | May 2003 | B1 |
6578058 | Nygaard | Jun 2003 | B1 |
6731542 | Le et al. | May 2004 | B1 |
6754746 | Leung et al. | Jun 2004 | B1 |
6768679 | Le et al. | Jul 2004 | B1 |
6807614 | Chung | Oct 2004 | B2 |
6816422 | Hamade et al. | Nov 2004 | B2 |
6819612 | Achter | Nov 2004 | B1 |
6894549 | Eliason | May 2005 | B2 |
6943579 | Hazanchuk et al. | Sep 2005 | B1 |
6948056 | Roth et al. | Sep 2005 | B1 |
6950771 | Fan et al. | Sep 2005 | B1 |
6950898 | Merritt et al. | Sep 2005 | B2 |
6956770 | Khalid et al. | Oct 2005 | B2 |
6961272 | Schreck | Nov 2005 | B2 |
6965648 | Smith et al. | Nov 2005 | B1 |
6985394 | Kim | Jan 2006 | B2 |
6987693 | Cernea et al. | Jan 2006 | B2 |
7020017 | Chen et al. | Mar 2006 | B2 |
7028170 | Saulsbury | Apr 2006 | B2 |
7045834 | Tran et al. | May 2006 | B2 |
7054178 | Shiah et al. | May 2006 | B1 |
7061817 | Raad et al. | Jun 2006 | B2 |
7079407 | Dimitrelis | Jul 2006 | B1 |
7173857 | Kato et al. | Feb 2007 | B2 |
7187585 | Li et al. | Mar 2007 | B2 |
7196928 | Chen | Mar 2007 | B2 |
7260565 | Lee et al. | Aug 2007 | B2 |
7260672 | Gamey | Aug 2007 | B2 |
7372715 | Han | May 2008 | B2 |
7400532 | Aritome | Jul 2008 | B2 |
7406494 | Magee | Jul 2008 | B2 |
7447720 | Beaumont | Nov 2008 | B2 |
7454451 | Beaumont | Nov 2008 | B2 |
7457181 | Lee et al. | Nov 2008 | B2 |
7535769 | Cernea | May 2009 | B2 |
7546438 | Chung | Jun 2009 | B2 |
7562198 | Noda et al. | Jul 2009 | B2 |
7574466 | Beaumont | Aug 2009 | B2 |
7602647 | Li et al. | Oct 2009 | B2 |
7663928 | Tsai et al. | Feb 2010 | B2 |
7685365 | Rajwar et al. | Mar 2010 | B2 |
7692466 | Ahmadi | Apr 2010 | B2 |
7752417 | Manczak et al. | Jul 2010 | B2 |
7791962 | Noda et al. | Sep 2010 | B2 |
7796453 | Riho et al. | Sep 2010 | B2 |
7805587 | Van Dyke et al. | Sep 2010 | B1 |
7808854 | Takase | Oct 2010 | B2 |
7827372 | Bink et al. | Nov 2010 | B2 |
7869273 | Lee et al. | Jan 2011 | B2 |
7898864 | Dong | Mar 2011 | B2 |
7924628 | Danon et al. | Apr 2011 | B2 |
7937535 | Ozer et al. | May 2011 | B2 |
7957206 | Bauser | Jun 2011 | B2 |
7979667 | Allen et al. | Jul 2011 | B2 |
7996749 | Ding et al. | Aug 2011 | B2 |
8042082 | Solomon | Oct 2011 | B2 |
8045391 | Mohklesi | Oct 2011 | B2 |
8059438 | Chang et al. | Nov 2011 | B2 |
8095825 | Hirotsu et al. | Jan 2012 | B2 |
8117462 | Snapp et al. | Feb 2012 | B2 |
8164942 | Gebara et al. | Apr 2012 | B2 |
8208328 | Hong | Jun 2012 | B2 |
8213248 | Moon et al. | Jul 2012 | B2 |
8223568 | Seo | Jul 2012 | B2 |
8238173 | Akerib et al. | Aug 2012 | B2 |
8274841 | Shinano et al. | Sep 2012 | B2 |
8279683 | Klein | Oct 2012 | B2 |
8310884 | Iwai et al. | Nov 2012 | B2 |
8332367 | Bhattacherjee et al. | Dec 2012 | B2 |
8339824 | Cooke | Dec 2012 | B2 |
8339883 | Yu et al. | Dec 2012 | B2 |
8347154 | Bahali et al. | Jan 2013 | B2 |
8351292 | Matano | Jan 2013 | B2 |
8356144 | Hessel et al. | Jan 2013 | B2 |
8417921 | Gonion et al. | Apr 2013 | B2 |
8462532 | Argyres | Jun 2013 | B1 |
8484276 | Carlson et al. | Jul 2013 | B2 |
8495438 | Roine | Jul 2013 | B2 |
8503250 | Demone | Aug 2013 | B2 |
8526239 | Kim | Sep 2013 | B2 |
8533245 | Cheung | Sep 2013 | B1 |
8555037 | Gonion | Oct 2013 | B2 |
8599613 | Abiko et al. | Dec 2013 | B2 |
8605015 | Guttag et al. | Dec 2013 | B2 |
8625376 | Jung et al. | Jan 2014 | B2 |
8644101 | Jun et al. | Feb 2014 | B2 |
8650232 | Stortz et al. | Feb 2014 | B2 |
8873272 | Lee | Oct 2014 | B2 |
8964496 | Manning | Feb 2015 | B2 |
8971124 | Manning | Mar 2015 | B1 |
9015390 | Klein | Apr 2015 | B2 |
9047193 | Lin et al. | Jun 2015 | B2 |
9165023 | Moskovich et al. | Oct 2015 | B2 |
9257173 | Ishizu | Feb 2016 | B2 |
9959923 | Zawodny | May 2018 | B2 |
20010007112 | Porterfield | Jul 2001 | A1 |
20010008492 | Higashiho | Jul 2001 | A1 |
20010010057 | Yamada | Jul 2001 | A1 |
20010028584 | Nakayama et al. | Oct 2001 | A1 |
20010043089 | Forbes et al. | Nov 2001 | A1 |
20020059355 | Peleg et al. | May 2002 | A1 |
20030167426 | Slobodnik | Sep 2003 | A1 |
20030222879 | Lin et al. | Dec 2003 | A1 |
20040073592 | Kim et al. | Apr 2004 | A1 |
20040073773 | Demjanenko | Apr 2004 | A1 |
20040085840 | Vali et al. | May 2004 | A1 |
20040095826 | Pemer | May 2004 | A1 |
20040154002 | Ball et al. | Aug 2004 | A1 |
20040205289 | Srinivasan | Oct 2004 | A1 |
20040240251 | Nozawa et al. | Dec 2004 | A1 |
20050015557 | Wang et al. | Jan 2005 | A1 |
20050078514 | Scheuerlein et al. | Apr 2005 | A1 |
20050097417 | Agrawal et al. | May 2005 | A1 |
20060047937 | Selvaggi et al. | Mar 2006 | A1 |
20060069849 | Rudelic | Mar 2006 | A1 |
20060146623 | Mizuno et al. | Jul 2006 | A1 |
20060149804 | Luick et al. | Jul 2006 | A1 |
20060181917 | Kang et al. | Aug 2006 | A1 |
20060215432 | Wickeraad et al. | Sep 2006 | A1 |
20060225072 | Lari et al. | Oct 2006 | A1 |
20060291282 | Liu et al. | Dec 2006 | A1 |
20070103986 | Chen | May 2007 | A1 |
20070171747 | Hunter et al. | Jul 2007 | A1 |
20070180006 | Gyoten et al. | Aug 2007 | A1 |
20070180184 | Sakashita et al. | Aug 2007 | A1 |
20070195602 | Fong et al. | Aug 2007 | A1 |
20070285131 | Sohn | Dec 2007 | A1 |
20070285979 | Turner | Dec 2007 | A1 |
20070291532 | Tsuji | Dec 2007 | A1 |
20080025073 | Arsovski | Jan 2008 | A1 |
20080037333 | Kim et al. | Feb 2008 | A1 |
20080052711 | Forin et al. | Feb 2008 | A1 |
20080137388 | Krishnan et al. | Jun 2008 | A1 |
20080165601 | Matick et al. | Jul 2008 | A1 |
20080178053 | Gorman et al. | Jul 2008 | A1 |
20080215937 | Dreibelbis et al. | Sep 2008 | A1 |
20090067218 | Graber | Mar 2009 | A1 |
20090154238 | Lee | Jun 2009 | A1 |
20090154273 | Borot et al. | Jun 2009 | A1 |
20090254697 | Akerib | Oct 2009 | A1 |
20100067296 | Li | Mar 2010 | A1 |
20100091582 | Vali et al. | Apr 2010 | A1 |
20100172190 | Lavi et al. | Jul 2010 | A1 |
20100210076 | Gruber et al. | Aug 2010 | A1 |
20100226183 | Kim | Sep 2010 | A1 |
20100308858 | Noda et al. | Dec 2010 | A1 |
20100332895 | Billing et al. | Dec 2010 | A1 |
20110051523 | Manabe et al. | Mar 2011 | A1 |
20110063919 | Chandrasekhar et al. | Mar 2011 | A1 |
20110093662 | Walker et al. | Apr 2011 | A1 |
20110103151 | Kim et al. | May 2011 | A1 |
20110119467 | Cadambi et al. | May 2011 | A1 |
20110122695 | Li et al. | May 2011 | A1 |
20110140741 | Zerbe et al. | Jun 2011 | A1 |
20110219260 | Nobunaga et al. | Sep 2011 | A1 |
20110267883 | Lee et al. | Nov 2011 | A1 |
20110317496 | Bunce et al. | Dec 2011 | A1 |
20120005397 | Lim et al. | Jan 2012 | A1 |
20120017039 | Margetts | Jan 2012 | A1 |
20120023281 | Kawasaki et al. | Jan 2012 | A1 |
20120120705 | Mitsubori et al. | May 2012 | A1 |
20120134216 | Singh | May 2012 | A1 |
20120134225 | Chow | May 2012 | A1 |
20120134226 | Chow | May 2012 | A1 |
20120140540 | Agam et al. | Jun 2012 | A1 |
20120182798 | Hosono et al. | Jul 2012 | A1 |
20120195146 | Jun et al. | Aug 2012 | A1 |
20120198310 | Tran et al. | Aug 2012 | A1 |
20120246380 | Akerib et al. | Sep 2012 | A1 |
20120265964 | Murata et al. | Oct 2012 | A1 |
20120281486 | Rao et al. | Nov 2012 | A1 |
20120303627 | Keeton et al. | Nov 2012 | A1 |
20130003467 | Klein | Jan 2013 | A1 |
20130061006 | Hein | Mar 2013 | A1 |
20130107623 | Kavalipurapu et al. | May 2013 | A1 |
20130117541 | Choquette et al. | May 2013 | A1 |
20130124783 | Yoon et al. | May 2013 | A1 |
20130132702 | Patel et al. | May 2013 | A1 |
20130138646 | Sirer et al. | May 2013 | A1 |
20130163362 | Kim | Jun 2013 | A1 |
20130173888 | Hansen et al. | Jul 2013 | A1 |
20130205114 | Badam et al. | Aug 2013 | A1 |
20130219112 | Okin et al. | Aug 2013 | A1 |
20130227361 | Bowers et al. | Aug 2013 | A1 |
20130283122 | Anholt et al. | Oct 2013 | A1 |
20130286705 | Grover et al. | Oct 2013 | A1 |
20130326154 | Haswell | Dec 2013 | A1 |
20130332707 | Gueron et al. | Dec 2013 | A1 |
20140185395 | Seo | Jul 2014 | A1 |
20140215185 | Danielsen | Jul 2014 | A1 |
20140250279 | Manning | Sep 2014 | A1 |
20140344934 | Jorgensen | Nov 2014 | A1 |
20150029798 | Manning | Jan 2015 | A1 |
20150042380 | Manning | Feb 2015 | A1 |
20150063052 | Manning | Mar 2015 | A1 |
20150078108 | Cowles et al. | Mar 2015 | A1 |
20150134713 | Wheeler | May 2015 | A1 |
20150324290 | Leidel | Nov 2015 | A1 |
20150325272 | Murphy | Nov 2015 | A1 |
Number | Date | Country |
---|---|---|
102141905 | Aug 2011 | CN |
0214718 | Mar 1987 | EP |
2026209 | Feb 2009 | EP |
H0831168 | Feb 1996 | JP |
2009259193 | Mar 2015 | JP |
10-0211482 | Aug 1998 | KR |
10-2010-0134235 | Dec 2010 | KR |
10-2013-0049421 | May 2013 | KR |
2001065359 | Sep 2001 | WO |
2010079451 | Jul 2010 | WO |
2013062596 | May 2013 | WO |
2013081588 | Jun 2013 | WO |
2013095592 | Jun 2013 | WO |
Entry |
---|
Boyd et al., “On the General Applicability of Instruction-Set Randomization”, Jul.-Sep. 2010, (14 pgs.), vol. 7, Issue 3, IEEE Transactions on Dependable and Secure Computing. |
Stojmenovic, “Multiplicative Circulant Networks Topological Properties and Communication Algorithms”, (25 pgs.), Discrete Applied Mathematics 77 (1997) 281-305. |
“4.9.3 MINLOC and MAXLOC”, Jun. 12, 1995, (5pgs.), Message Passing Interface Forum 1.1, retrieved from http://www.mpi-forum.org/docs/mpi-1.1/mpi-11-html/node79.html. |
Derby, et al., “A High-Performance Embedded DSP Core with Novel SIMD Features”, Apr. 6-10, 2003, (4 pgs), vol. 2, pp. 301-304, 2003 IEEE International Conference on Accoustics, Speech, and Signal Processing. |
Debnath, Biplob, Bloomflash: Bloom Filter on Flash-Based Storage, 2011 31st Annual Conference on Distributed Computing Systems, Jun. 20-24, 2011, 10 pgs. |
Pagiamtzis, Kostas, “Content-Addressable Memory Introduction”, Jun. 25, 2007, (6 pgs.), retrieved from: http://www.pagiamtzis.com/cam/camintro. |
Pagiamtzis, et al., “Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey”, Mar. 2006, (16 pgs.), vol. 41, No. 3, IEEE Journal of Solid-State Circuits. |
International Search Report and Written Opinion for PCT Application No. PCT/US2013/043702, dated Sep. 26, 2013, (11 pgs.). |
Elliot, et al., “Computational RAM: Implementing Processors in Memory”, Jan.-Mar. 1999, (10 pgs.), vol. 16, Issue 1, IEEE Design and Test of Computers Magazine. |
Dybdahl, et al., “Destructive-Read in Embedded DRAM, Impact on Power Consumption,” Apr. 2006, (10 pgs.), vol. 2, Issue 2, Journal of Embedded Computing-Issues in embedded single-chip multicore architectures. |
Kogge, et al., “Processing in Memory: Chips to Petaflops,” May 23, 1997, (8 pgs.), retrieved from: http://www.cs.ucf.edu/courses/cda5106/summer02/papers/kogge97PIM.pdf. |
Draper, et al., “The Architecture of the DIVA Processing-In-Memory Chip,” Jun. 22-26, 2002, (12 pgs.), ICS '02, retrieved from: http://www.isi.edu/˜draper/papers/ics02.pdf. |
Adibi, et al., “Processing-In-Memory Technology for Knowledge Discovery Algorithms,” Jun. 25, 2006, (10 pgs.), Proceeding of the Second International Workshop on Data Management on New Hardware, retrieved from: http://www.cs.cmu.edu/˜damon2006/pdf/adibi06inmemory.pdf. |
U.S. Appl. No. 13/449,082, entitled, “Methods and Apparatus for Pattern Matching,” filed Apr. 17, 2012, (37 pgs.). |
U.S. Appl. No. 13/743,686, entitled, “Weighted Search and Compare in a Memory Device,” filed Jan. 17, 2013, (25 pgs.). |
U.S. Appl. No. 13/774,636, entitled, “Memory As a Programmable Logic Device,” filed Feb. 22, 2013, (30 pgs.). |
U.S. Appl. No. 13/774,553, entitled, “Neural Network in a Memory Device,” filed Feb. 22, 2013, (63 pgs.). |
U.S. Appl. No. 13/796,189, entitled, “Performing Complex Arithmetic Functions in a Memory Device,” filed Mar. 12, 2013, (23 pgs.). |
Number | Date | Country | |
---|---|---|---|
20180240509 A1 | Aug 2018 | US |
Number | Date | Country | |
---|---|---|---|
62148503 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15098707 | Apr 2016 | US |
Child | 15961374 | US |