WO2018199646A1 - 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템 - Google Patents

데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템 Download PDF

Info

Publication number
WO2018199646A1
WO2018199646A1 PCT/KR2018/004850 KR2018004850W WO2018199646A1 WO 2018199646 A1 WO2018199646 A1 WO 2018199646A1 KR 2018004850 W KR2018004850 W KR 2018004850W WO 2018199646 A1 WO2018199646 A1 WO 2018199646A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
column selection
columns
data
memory
Prior art date
Application number
PCT/KR2018/004850
Other languages
English (en)
French (fr)
Inventor
공재섭
Original Assignee
공재섭
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 공재섭 filed Critical 공재섭
Publication of WO2018199646A1 publication Critical patent/WO2018199646A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/005Transfer gates, i.e. gates coupling the sense amplifier output to data lines, I/O lines or global bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2209Concurrent read and write
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a memory device, and more particularly, to a memory device capable of storing and accessing multidimensional array data having zonality and an electronic system including the memory device.
  • Multimedia data has a high correlation between data that is close in time and space, and thus strong zonity appears when processing these data. For example, when processing image data obtained from a camera sensor, peripheral pixel data of the same frame or a front and rear frame is often required.
  • a typical method of mapping a memory address to each pixel position is a raster method and a tile method.
  • the pixel data in the horizontal scanning line direction is sequentially stored in the memory cells in a frame, and the pixel data is sequentially divided into the tiles.
  • the memory cells are sequentially stored in adjacent memory cells.
  • a raster method and a tile method may be appropriately selected to write / read pixel data into cells of consecutive memory addresses for high performance and low power operation.
  • the conventional memory device may have an inefficiency in a process of switching between a raster method and a tile method.
  • FIG. 1 is a block diagram illustrating a conventional memory device including a row decoder and a column decoder to access cells at a particular memory address.
  • the memory device 10 includes a memory cell array 20, a row decoder 30, a column decoder 40, a gating circuit 50, and an input / output data driving circuit 60.
  • the memory cell array 20 includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns. As the capacity of the memory device 10 increases, a method of arranging memory cells in two dimensions and selectively writing / reading data into desired cells through the row decoder 30 and the column decoder 40 is adopted.
  • the row decoder 30 To access the target memory cell, the row decoder 30 generates a row select signal RSEL0 for selecting a row R0 including the target memory cell based on the row address RADDR0. Memory cells included in the selected row R0 are connected to the gating circuit 50. One row (eg, R0) of the memory cell array 20 constitutes one page.
  • the gating circuit 50 may further include a sense amplifier for sensing the memory cells and stably processing the signal.
  • the column decoder 40 generates a column select signal CSEL0 for selecting a column C0 (hatched portion) including the target memory cell in the selected row R0 based on the column address CADDR0.
  • Memory cells included in the selected column C0 of the selected row R0 are connected to the input / output data driving circuit 60 through the gating circuit 50. Accordingly, the target memory cell included in the selected column C0 may be accessed.
  • the input / output data driving circuit 60 includes an input data driving circuit and an output data driving circuit. Input data received by the input data driving circuit is written into the selected column C0 of the selected row R0 via the gating circuit 50. At this time, unwanted input data is prevented from being written into the memory cell array 20 based on the data mask signal DMS0. Data stored in the selected column C0 of the selected row R0 is transferred to the output data driving circuit through the gating circuit 50 and provided as output data. If the size of the column C0 is smaller than the size of the input / output data, additionally, the column C0 and the column address sequentially access adjacent columns so that the sum of the sizes of the accessed columns is the size of the input / output data. To match and write or read.
  • One object of the present invention is to provide a memory device in which the efficiency of data write / read operation can be improved by accessing non-contiguous memory cells at once.
  • a memory device includes a memory cell array, a row decoder, a multi-column decoder, a gating circuit, and an input / output data driving circuit.
  • the memory cell array includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns.
  • the row decoder generates a row selection signal for selecting a target row among the plurality of rows based on the row address.
  • the multi-column decoder generates a multi-column selection signal for selecting a plurality of target columns of columns included in the target row at one time, based on column address and column selection information.
  • the gating circuit selects the plurality of target columns at once based on the multi-column selection signal.
  • the input / output data driving circuit writes input data into the plurality of target columns at one time or writes data stored in the plurality of target columns at one time through the gating circuit based on the multi-column selection signal and the data mask signal. Output as output data.
  • the column addresses corresponding to the plurality of target columns included in the target row are not contiguous.
  • the memory device may further include a line decoder and a second gating circuit.
  • the line decoder may generate a line selection signal for selecting one target line among a plurality of lines included in the target row and each including two or more columns, based on the column address.
  • the second gating circuit may select the one target line based on the line selection signal.
  • the plurality of target columns may be included in the one target line.
  • the data stored in the target row may be data mapped in a tile method or a super tile method in which tiles of a power of two are joined.
  • the column selection information may be set based on a predefined column selection mode. Possible combinations of the plurality of target columns included in the target row may correspond to the column selection mode.
  • the data stored in the target row may be array data mapped in a tiled manner.
  • the column selection information may be set based on a column selection parameter.
  • the column selection parameter may include position information in tiles for two element data included in one tile, and the target columns may correspond to the same side based on an imaginary line connecting the two element data positions. have.
  • the data stored in the target row may be array data mapped in a tiled manner.
  • the column selection information may be set based on a column selection parameter.
  • the column selection parameter may include position information in tiles for two element data included in one tile, and the target columns may correspond to a virtual rectangle having the two element data positions as diagonal vertices.
  • the column selection information may be provided in the form of a column selection list that directly includes information about the plurality of target columns.
  • the column selection information may be set based on a predefined column selection mode, and may be provided in the form of a column selection information list in which a mode selection signal is combined.
  • a memory device includes a first memory device, a multi-column decoder, a gating circuit, and an input / output data driving circuit.
  • the first memory device includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns, select a target row among the plurality of rows based on a row address, and select the target row based on a column address.
  • a target line is selected from among a plurality of lines included in and including two or more columns, respectively.
  • the multi-column decoder generates a multi-column selection signal for selecting a plurality of target columns from among columns included in the target line at once based on the column address and column selection information.
  • the gating circuit selects the plurality of target columns in the target line at one time based on the multi-column selection signal.
  • the input / output data driving circuit writes input data into the plurality of target columns at one time or writes data stored in the plurality of target columns at one time through the gating circuit based on the multi-column selection signal and the data mask signal. Output as output data.
  • the column addresses corresponding to the plurality of target columns included in the target line are not contiguous.
  • the input / output data driving circuit generates an augmented data mask signal based on the data mask signal and the multi-column selection signal.
  • the first memory device prevents writing of the input data in an unselected column except for the plurality of target columns in the target line based on the augmented data mask signal.
  • the data stored in the target row may be data mapped in a tile method or a super tile method in which tiles of a power of two are joined.
  • the column selection information may be set based on a predefined column selection mode. Possible combinations of the plurality of target columns included in the target row may correspond to the column selection mode.
  • the data stored in the target row may be array data mapped in a tiled manner.
  • the column selection information may be set based on a column selection parameter.
  • the column selection parameter may include position information in tiles for two element data included in one tile, and the target columns may correspond to the same side based on an imaginary line connecting the two element data positions. have.
  • the data stored in the target row may be array data mapped in a tiled manner.
  • the column selection information may be set based on a column selection parameter.
  • the column selection parameter may include position information in tiles for two element data included in one tile, and the target columns may correspond to a virtual rectangle having the two element data positions as diagonal vertices.
  • the column selection information may be provided in the form of a column selection list that directly includes information about the plurality of target columns.
  • the column selection information may be set based on a predefined column selection mode, and may be provided in the form of a column selection information list in which a mode selection signal is combined.
  • an electronic system includes a memory device and a bus master.
  • the memory device includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns, and generates a row selection signal for selecting a target row among the plurality of rows based on a row address, Generating a multi-column selection signal for selecting a plurality of target columns at a time from among columns included in the target row based on column selection information, and generating the plurality of target columns at once based on the multi-column selection signal Selects, writes input data into the plurality of target columns at once or outputs data stored in the plurality of target columns at once as output data based on the multi-column selection signal and the data mask signal, and outputs the target row
  • the column addresses corresponding to the plurality of target columns included in are not contiguous.
  • the bus master is connected to the memory device via a bus and generates the row address, the column address and the column selection information provided to the memory device.
  • the bus master includes a memory management device and a column selection information generator.
  • the memory management apparatus generates the row address and the column address corresponding to the physical address based on the virtual address and the memory mapping information.
  • the column selection information generator generates the column selection information based on the memory mapping information, the memory access type information, and the default memory access type information.
  • the memory mapping information and the default memory access type information may be stored in a separate register or stored in a page table.
  • the column selection information generator generates the column selection information based on the memory mapping information and the memory access type information when the memory access type information is valid, and the memory access type information is invalid. If not, the column selection information may be generated based on the memory mapping information and the default memory access type information.
  • the bus master may include a first comparator, a selector, a second comparator, a logic gate, a cache controller, and a cache memory.
  • the first comparator may generate a first comparison signal by comparing a tag of the virtual address or the physical address with a tag stored in a cache entry.
  • the selector may select one of the memory access type information and the default memory access type information.
  • the second comparator may generate a second comparison signal by comparing the output of the selector with memory access type information stored in the auxiliary bit of the cache entry.
  • the logic gate may generate a cache hit result signal based on whether a valid bit among the flag bits stored in the first comparison signal, the second comparison signal, and the cache entry is valid.
  • the cache controller may increase the offset in order according to the memory access type and store data in the cache line of the cache entry, and store the memory access type and the column selection information in the auxiliary bits of the cache entry.
  • the cache memory may be controlled by the cache controller and include auxiliary bits in the cache entry.
  • the bus master may further comprise a cache controller and a cache memory.
  • the cache controller may access the plurality of target cache columns of the plurality of cache columns of the cache line at one time based on the column selection information.
  • the cache memory is controlled by the cache controller and may write the input data to the plurality of target cache rows at once or output data stored in the plurality of target cache rows as the output data at once.
  • the cache controller may further comprise a distributor for distributing the column selection information.
  • the plurality of target cache columns among the plurality of cache columns included in the cache line may be accessed at one time based on the distributed column selection information output from the distributor.
  • the memory device is implemented by including a multiple column decoder and can access a plurality of target columns at once based on a column selection signal. Therefore, when processing multi-dimensional array data having strong zonality such as multimedia data and matrix data, a plurality of target columns can be accessed at one time, resulting in freedom of memory access, thereby providing a memory device and an electronic system including the same. Performance and efficiency can be improved.
  • FIG. 1 is a block diagram illustrating a conventional memory device including a row decoder and a column decoder to access cells at a particular memory address.
  • FIGS. 2A, 2B and 2C are block diagrams illustrating memory devices in accordance with embodiments of the present invention that access non-contiguous memory cells at one time.
  • 3A, 3B, 3C, 3D, 4A, 4B, 5A, 5B, 5C, 5D, and 5E are diagrams for describing an operation of a memory device according to example embodiments.
  • FIG. 6 7A, 7B, 7C, 8A, and 8B are diagrams for describing a configuration of column selection information used in a memory device according to example embodiments.
  • FIG. 9 is a block diagram illustrating an electronic system including a memory device according to example embodiments.
  • 10A and 10B are block diagrams illustrating an example of a controller included in a bus master of the electronic system of FIG. 9.
  • 11A, 11B and 11C are block diagrams illustrating examples of cache controllers included in the bus master of the electronic system of FIG. 9.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component.
  • first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • the "continuous" of cells or columns of a memory does not mean that the physical location of the cells or columns is continuous, but that the addresses of the cells or columns are continuous.
  • burst mode memory inputs and outputs are not performed simultaneously but at once.
  • FIGS. 2A, 2B and 2C are block diagrams illustrating memory devices in accordance with embodiments of the present invention that access non-contiguous memory cells at one time.
  • the memory device 100 includes a memory cell array 110, a row decoder 120, a multi-column decoder 130, a gating circuit 140, and an input / output data driving circuit 150.
  • the memory cell array 110 includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns.
  • One row (eg, TR) of the memory cell array 110 constitutes one page.
  • the row decoder 120 generates a row select signal RSEL for selecting a target row TR including a target memory cell among the plurality of rows based on the row address RADDR.
  • the multi-column decoder 130 may include a plurality of target columns TC including the target memory cell among the columns included in the target row TR based on the column address CADD and the column selection information CSINF. To generate a multi-column selection signal MCSEL for selecting at a time. At this time, the column selection information CSINF does not have a restriction that addresses of the target columns TC are continuous. In other words, the target columns TC (ie, the addresses of the target columns TC) may not be contiguous.
  • the column selection information CSINF may be set based on a predefined column selection table. In another embodiment, column selection information CSINF may be set based on column selection parameters. In another embodiment, column selection information CSINF may be set based on a column selection list or a column selection information list. A detailed implementation example of the column selection information CSINF will be described later with reference to FIG. 6.
  • the gating circuit 140 is connected to the target row TR based on the row select signal RSEL. In addition, the gating circuit 140 selects the plurality of target columns TC included in the target row TR based on the multi-column selection signal MCSEL and connects them to the input / output data driving circuit 150 at one time.
  • the gating circuit 140 may further include a sense amplifier for sensing the memory cells and stably processing the signal.
  • the input / output data driving circuit 150 writes the input data DIN at a time or writes the plurality of target columns into the plurality of target columns TC based on the multi-column selection signal MCSEL and the data mask signal DMS.
  • the data stored in TC) is output as output data DOUT at one time.
  • the input / output data driving circuit 150 may include an input data driving circuit and an output data driving circuit.
  • the plurality of target columns TC may be connected to the input data driving circuit through the gating circuit 140 based on the multi-column selection signal MCSEL.
  • the input data DIN received by the input data driving circuit may be provided to the gating circuit 140 in units of column data CDIN, and may be stored in the plurality of target columns TC. At this time, unwanted data may be prevented from being stored in the memory cell array 110 based on the data mask signal DMS.
  • the plurality of target columns TC may be connected to the output data driving circuit through the gating circuit 140 based on the multi-column selection signal MCSEL.
  • the page data (or row data) RD stored in the target row TR may be provided to the gating circuit 140, and the data of the plurality of target columns TC included in the target row TR may include column data ( CDOUT) may be provided to the output data driving circuit, and may be output as output data DOUT.
  • the order numbers on the input data DIN or the output data DOUT of the respective target columns may vary according to the multi-column selection signal MCSEL, and the gating circuit 140 or the input / output data driving circuit 150 may include a circuit for aligning each target column in order on the input / output data.
  • the size of the input / output data DIN or DOUT may be smaller than or equal to the size of the page data RD.
  • the size of the page data RD may be P (P is a natural number of 2 or more) bits
  • the size of the input / output data DIN or DOUT may be K (K is a natural number of P or less) bits.
  • the size of the column data CDIN or CDOUT may be smaller than the size of the input / output data DIN or DOUT.
  • the size of the column data CDIN or CDOUT may be C (C is a natural number less than K) bits.
  • a plurality of columns (for example, K / C columns) may be selected to store one input data DIN or provide one output data DOUT. Accordingly, the input / output data DIN or DOUT) is shown by one arrow and column data (CDIN or CDOUT) is shown by a plurality of arrows.
  • the size of one column (eg, one rectangle included in the target row TR of FIG. 2A) set in the memory device 100 of the present invention is set in the existing memory device 10. It may be smaller than the size of one column (eg, one rectangle included in the row R0 of FIG. 1), and the smaller one may reduce the inefficiency of accessing unnecessary cells.
  • the row address RADDR, the column address CADD, the column selection information CSINF, and the data mask signal DMS may be provided from an external memory controller.
  • the memory device 100 and the memory controller may configure a memory system.
  • the multi-column decoder 130 may generate the multi-column selection signal MCSEL based on the column address CADDR and the column selection information CSINF, and gating The circuit 140 may select the plurality of non-contiguous target columns TC at once based on the multi-column selection signal MCSEL.
  • the structure and operation of the multi-column decoder 130 and the gating circuit 140 may be changed when compared with the conventional memory device 10. As a result, it is possible to access non-contiguous memory cells at once, thereby improving performance and efficiency of the memory device 100.
  • the memory device 200 includes a memory cell array 210, a row decoder 220, a line decoder 230, a multiple column decoder 240, a first gating circuit 250, and a second gating circuit. 260 and an input / output data driving circuit 270.
  • the memory device 200 of FIG. 2B may have a structure similar to that of the memory device 100 of FIG. 2A. If the size of one page (e.g., P bits) is relatively large and physical constraints such as wiring channel space and high-speed signal transfer occur in the gating circuit configuration for multi-column selection, the gating circuit as shown in FIG. 2B Can be configured in two stages. A plurality of columns selected by the first gating circuit 250 is defined as one line.
  • the memory cell array 210 includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns.
  • the row decoder 220 generates a row select signal RSEL for selecting a target row TR including a target memory cell among the plurality of rows based on the row address RADDR.
  • the line decoder 230 may select a line selection signal for selecting one target line TL including the target memory cell among a plurality of lines included in the target row TR based on the column address CADD. LSEL).
  • Each of the plurality of lines may be defined to be included in one row and include two or more columns.
  • one page of P bits may be equally divided by L bits (L is a natural number less than or equal to P), and each page may be defined as one line.
  • P / L lines exist in one page, and the line decoder 230 may generate the line select signal LSEL based on the upper bits of the column address CADDR.
  • the multi-column decoder 240 includes the target memory cell among the columns included in the target row TR and included in one target line TL based on a column address CADDR and column selection information CSINF.
  • a multi-column select signal MCSEL is generated for selecting a plurality of non-contiguous target columns TC (hatched portions) at once.
  • the first gating circuit 250 is connected to the target row TR based on the row selection signal RSEL, and selects one target line TL based on the line selection signal LSEL.
  • the second gating circuit 260 selects a plurality of target columns TC included in one target line TL based on the multi-column selection signal MCSEL.
  • the first gating circuit 250 may further include a sense amplifier for sensing the memory cells and stably processing the signal.
  • the input / output data driving circuit 270 writes the input data DIN at a time or writes the plurality of target columns to the plurality of target columns TC based on the multi-column selection signal MCSEL and the data mask signal DMS.
  • the data stored in TC) is output as output data DOUT at one time.
  • the input / output data driving circuit 270 may include an input data driving circuit and an output data driving circuit.
  • the plurality of target columns TC may be connected to the input data driving circuit through the gating circuits 250 and 260 based on the line select signal LSEL and the multi-column select signal MCSEL.
  • the plurality of target columns TC may be connected to the output data driving circuit through the gating circuits 250 and 260 based on the line select signal LSEL and the multi-column select signal MCSEL.
  • one page may include one or a plurality of lines.
  • the first gating circuit 250 may operate as a bypass circuit, in which case the memory device 200 of FIG. 2B is the memory of FIG. 2A. It may operate substantially the same as device 100.
  • the second gating circuit 260 when implemented to always select all columns in a line, may operate as a bypass circuit, in which case the line decoder 230 may be a conventional memory device 10. It can operate substantially the same as the column decoder 40 included in.
  • the line decoder 230 may generate the line select signal LSEL based on the column address CADDR, and the first gating circuit 250 may select the line.
  • One target line TL may be selected based on the signal LSEL, and the multi-column decoder 240 and the second gating circuit 260 may be connected to the multi-column decoder 130 and the gating circuit 140 of FIG. 2A.
  • Each may be substantially identical.
  • the multi-column decoder 240 and the second gating circuit 260 may be further included.
  • the memory cells 200 may be improved in performance and efficiency by accessing non-contiguous memory cells at one time.
  • increasing the size of one line increases the degree of freedom of column selection, thereby reducing the inability to access at one time when attempting to access cells whose memory address is not contiguous within a page.
  • the memory device 300 includes a first memory device 11 and an additional circuit 301.
  • the additional circuit 301 includes a multi-column decoder 310, a gating circuit 320, and an input / output data driving circuit 330.
  • the first memory device 11 includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns, and includes a target row including a target memory cell among the plurality of rows based on a row address RADDR.
  • the target line including the target memory cell is selected from among a plurality of lines included in the target row based on a column address CADDR.
  • the first memory device 11 may be substantially the same as the conventional memory device 10 of FIG. 1.
  • the first memory device 11 may include a memory cell array, a row decoder, a line decoder, a gating circuit, and an input / output data driving circuit.
  • a row decoder e.g. 1
  • a line decoder e.g. 1
  • a gating circuit e.g. 1
  • an input / output data driving circuit e.g. 1
  • the column decoder of the existing memory device 10 may serve as a line decoder of the first memory device 11.
  • the first memory device 11 may be considered to include the line decoder 230 and the first gating circuit 250 of FIG. 2B. Accordingly, when the multi-column decoder 310, the gating circuit 320, and the input / output data driving circuit 330 are added to the first memory device 11, the memory device 300 of FIG. 2C may be the memory device (FIG. 2B). 200 may operate substantially the same.
  • the multi-column decoder 310 selects a plurality of target columns that are not contiguous and include the target memory cell among columns included in the target line based on a column address CADD and column selection information CSINF at a time. To generate a multi-column selection signal MCSEL.
  • the gating circuit 320 selects the plurality of target columns in the target line based on a multi-column selection signal MCSEL. Unlike the gating circuits 140 and 250 of FIGS. 2A and 2B, the gating circuit 320 may not include a sense amplifier.
  • the input / output data driving circuit 330 writes the input data DIN at a time or writes the plurality of target columns to the plurality of target columns TC based on the multi-column selection signal MCSEL and the data mask signal DMS.
  • the data stored in TC) is output as output data DOUT at one time.
  • the input / output data driving circuit 330 may include an input data driving circuit and an output data driving circuit.
  • the plurality of target columns included in the target line may be connected to the input data driving circuit through the gating circuit 320 based on the multi-column selection signal MCSEL.
  • the input data DIN received from the input data driving circuit may be provided to the gating circuit 320 in units of column data CDIN, and the data DI provided from the gating circuit 320 may be the first memory device 11. ) May be stored in the plurality of target columns included in the target line.
  • the input data driving circuit may generate an augmented data mask signal DMS 'based on a data mask signal DMS and a multi-column selection signal MCSEL, and the first memory device 11 may generate an augmented data mask signal DMS'. Based on the data mask signal DMS ', data may be prevented from being stored in an unselected column except for the plurality of target columns in the target line.
  • the first memory device 11 may provide data DO corresponding to the target line, and the plurality of target columns included in the target line are based on a multi-column selection signal MCSEL. Therefore, the output data driving circuit may be connected through the gating circuit 320. Data of the plurality of target columns of data DO may be provided to the output data driving circuit in units of column data CDOUT, and may be output as output data DOUT.
  • the multi-column decoder 310 and the gating circuit 320 may be substantially the same as the multi-column decoder 130 and the gating circuit 140 of FIG. 2A, respectively. And may be substantially identical to the multiple column decoder 240 and the second gating circuit 260 of FIG. 2B, respectively. In other words, when compared with the conventional memory device 10, the multi-column decoder 310 and the gating circuit 320 may be further included. Therefore, the memory cells 300 may be improved in performance and efficiency by accessing non-contiguous memory cells at one time.
  • 3A, 3B, 3C, 3D, 4A, 4B, 5A, 5B, 5C, 5D, and 5E are diagrams for describing an operation of a memory device according to example embodiments.
  • 3A, 3B, 3C, and 3D are diagrams illustrating various memory address mapping schemes of multimedia data.
  • 3A, 3B, 3C and 3D one pixel is shown as the smallest square, and the screen of one frame is shown as a thick solid line rectangle containing 18 * 6 pixels.
  • the pixel data size is a 32-bit word
  • the memory address corresponding to each pixel position increases in word units, and the memory address is written in hexadecimal after the letter w.
  • Diagonal hatched squares represent virtual pixels that occupy memory address space but do not exist.
  • FIG. 3A a tile type memory address mapping of a screen of one frame is illustrated.
  • one tile is shown as a thin solid line square containing 4 * 4 pixels. Since the pixels in one tile are mapped adjacent to the memory address space, the memory may be efficiently accessed when the data is processed in consideration of the zonality of the pixel data. However, since directionality exists in memory address mapping even within tiles, memory access efficiency may be relatively low when processing adjacent pixels in a specific direction.
  • the virtual pixels exist, which wastes memory usage, but has the advantage that the memory address of each pixel can be easily calculated.
  • the least significant two bits of the memory address represent the horizontal position in the tile of each pixel, the next two bits represent the vertical position, and the next higher bits represent the position of the tile.
  • FIG. 3B a raster-type memory address mapping of a screen of one frame is shown. Since memory addresses are sequentially increased and mapped to each pixel in the horizontal scanning line direction, memory access efficiency is increased when pixel data is sequentially generated and consumed in the horizontal scanning line direction. While there is no waste of memory usage because there are no virtual pixels, computation can be complicated when obtaining memory addresses to read pixel data at specific locations.
  • a raster type memory address mapping of a screen of one frame is illustrated. Since the virtual pixel is used to facilitate the address calculation of the horizontal leading pixel, a waste of memory is used. This reduces the difference in wasted memory usage compared to the tile approach.
  • a super tile may be defined as a series of powers of two powers connected in a horizontal direction.
  • one tile is defined as including 4 * 4 pixels, and a super tile in which two tiles are connected in a horizontal direction is illustrated as a thin solid rectangle.
  • a super tile is itself a tile. Also, the super tiles and the corresponding tiles may be called as tiles and sub tiles, respectively.
  • Super tile-based memory address mapping can be applied to multidimensional data of more than three orders.
  • the lower fifth bit of the memory address may be an index indicating the third dimension.
  • the third dimension can be height or time.
  • 4A and 4B are diagrams illustrating a method of notifying pixel data of multimedia data and showing pixel data of a screen of the one frame.
  • FIG. 4A the numbering of pixel data based on tile type memory address mapping is shown.
  • the pixel data is numbered by replacing the letter w of the memory address mapped to each pixel position illustrated in FIG. 3A with p representing a pixel, and the pixel data is represented at each pixel position, and FIG. 4A is illustrated.
  • the pixel data corresponding to the first horizontal scanning line is highlighted in bold.
  • the numbering of such pixel data can be equally applied to FIGS. 3B, 3C, and 3D.
  • the screen of FIG. 4A is rotated 90 degrees clockwise to show FIG. 4B.
  • the original data since the original data will be used for image processing of the rotated screen, the notation of the original pixel data is maintained.
  • the pixel data corresponding to the first two horizontal scanning lines are emphasized in bold.
  • FIGS. 4A, 5B, 5C, and 5D are diagrams illustrating examples in which the pixel data of FIG. 4A is stored in a memory device
  • FIG. 5E is a diagram illustrating an example in which pixel data of FIG. 4B is stored in a memory device.
  • 5A, 5B, 5C, 5D, and 5E it is shown that one pixel data is stored in one square by setting the size of one smallest square to one word, and the memory address is in units of words from left to right. Increases.
  • diagonal hatched squares represent virtual pixel data.
  • the pixel data is stored in a memory device based on tile type memory address mapping.
  • Pixel data corresponding to the first horizontal scan line shown in FIG. 4A (p00, p01, p02, p03, p10, p11, p12, p13, p20, p21, p22, p23, p30, p31, p32, p33, p40, p41) Since the address mapped to) is not contiguous, the conventional memory device 10 requires access by dividing four pixels, whereas in the memory device according to embodiments of the present invention, the number of pixels accessed at a time by increasing the line size Can be increased. That is, if the line size is 32 words, eight pixels can be accessed at once.
  • the pixel data is stored in the memory device based on the memory address mapping of the raster method. Since the raster method is suitable for pixel data processing in the horizontal scanning line direction, there is no performance improvement in the memory device according to the embodiments of the present invention as compared to the conventional memory device 10.
  • pixel data is stored in a memory device based on a super tile-type memory address mapping. Since we created a super tile by joining two tiles, we can see that eight pixel data are mapped to contiguous memory addresses. That is, even if the line size is not increased, the horizontal size of the super tiles can be increased to increase the number of pixels accessed at one time.
  • pixel data is stored in a memory device based on tile-type memory address mapping.
  • the pixel data is accessed based on a screen rotated in a clockwise direction as shown in FIG. 4B. The case is shown.
  • the existing memory device 10 may be accessed.
  • two pixel data must be accessed six times at a time.
  • the line size when the line size is 16 words, two accesses are possible.
  • the number of accesses may be reduced by reading pixel data corresponding to four horizontal scan lines and inserting the pixel data into the internal buffer memory.
  • the screen size increases, it requires more internal buffer memory capacity, which in turn increases costs.
  • FIG. 6 7A, 7B, 7C, 8A, and 8B are diagrams for describing a configuration of column selection information used in a memory device according to example embodiments.
  • a column selection table including a column selection mode for selecting column selection information CSINF is shown.
  • the column selection table may be predefined and stored in a multi-column decoder. In the example of FIG. 6, one line is shown as containing eight columns.
  • the first mode mode 00 may have substantially the same access pattern as the conventional memory device 10 since successive columns are accessed in the default mode.
  • the second mode (mode 10) and the third mode (mode 11) may be modes for accessing non-contiguous memory cells at one time according to embodiments of the present invention.
  • odd-numbered column groups among a plurality of column groups grouping the columns included in the target row in units of X (X is a natural number of 2 or more) or Even-numbered column groups may correspond to the plurality of target columns.
  • X is a natural number of 2 or more
  • Even-numbered column groups may correspond to the plurality of target columns.
  • four columns may be grouped to set a plurality of column groups, and an odd column group or an even column group may be accessed.
  • the third mode two columns may be grouped to set a plurality of column groups, and odd-numbered column groups or even-numbered column groups may be accessed.
  • the third mode 11 may be a mode for accessing the target columns TC shown in FIGS. 2A and 2B at one time.
  • the column selection information CSINF may be provided in the form of a mode selection signal having a relatively small number of bits.
  • the column selection information CSINF may be in the form of "00", “10”, and “11” in the first mode (mode 00), the second mode (mode 10), and the third mode (mode 11), respectively. Can be provided.
  • the method based on the column selection table shown in FIG. 6 may be useful when the desired column selection mode has been formulated in several ways. For example, when the memory addresses are mapped in a tile manner as shown in FIG. 5E, the pixel data may be accessed based on the rotated screen. For example, the original screen may be accessed in a first mode (mode 00), and the rotated screen may be accessed in a third mode (mode 11).
  • mode 00 first mode
  • mode 11 third mode
  • 7A, 7B and 7C show examples of setting column selection information CSINF based on column selection parameters.
  • the data stored in the target row may be multimedia data mapped in a tiled manner.
  • data stored in the memory cells MC1 are pixel data of the tile T1
  • data stored in the memory cells MC2 are pixel data of the tile T2
  • data stored in the memory cells MC3 are tiled.
  • the column selection information CSINF may be set based on the column selection parameter.
  • the column selection parameter is based on information on two pixels corresponding to the target columns included in the target row among the plurality of pixels included in one tile and the virtual line connecting the two pixels. It may include side information indicating the position of the target columns.
  • a virtual line is drawn to include all the pixel data to be selected in one tile, and only the pixel data of any one side can be accessed based on the virtual line, wherein the virtual line is a tile Since it can be defined as two pixels within, two pixel information and side information in a tile can be passed as parameters. If the virtual line is defined only as edge pixels of the tile, the amount of information transmitted as a parameter can be reduced.
  • the side information may be represented by a flag of one bit. For example, the side information may be defined as the upper side when the upper side is "0". When the virtual line is a vertical line, it may be defined as "1" and left when "0" is right.
  • Fig. 7A shows a case where the pixel data on the lower side of the virtual line is accessed when the virtual line passes the pixels corresponding to p04 and p0f, and at this time, the column of (04, 0f, 0) as the column selection information CSINF.
  • a column selection parameter of (04, 0f, 0) is selected as a column of (04, 08, 09, 0a, 0c, 0d, 0e, 0f) in the memory device according to embodiments of the present invention.
  • a list can be constructed to access desired pixel data.
  • Fig. 7B shows a case where the pixel data on the left side of the virtual line is accessed when the virtual line passes pixels corresponding to p01 and p0d, and at this time, the column of (01, 0d, 1) as the column selection information CSINF. If the selection parameter is passed, a column selection parameter of (01, 0d, 1) is selected as a column selection of (00, 01, 04, 05, 08, 09, 0c, 0d) in the memory device according to example embodiments. A list can be constructed to access desired pixel data.
  • the example of FIG. 7B and the third mode 11 of FIG. 6 may provide substantially the same column selection information.
  • column selection information CSINF may be set based on the column selection parameter.
  • the column selection parameter may include position information of two pixels in one tile, and correspond to the target columns in a virtual rectangle having the two pixels as vertices.
  • FIG. 7C shows a case of accessing pixel data in an imaginary quadrangle having p05 and p0f as vertices, and when the column selection parameter of (05, 0f) is passed as the column selection information CSINF, an embodiment of the present invention
  • a column selection parameter of (05, 0f) and a column selection list of (05, 06, 07, 09, 0a, 0b, 0d, 0e, 0f) to access the desired pixel data.
  • the memory device 410 and the memory controller 420 may configure the memory system 400.
  • the column selection information CSINF may be provided in the form of a column selection list CSLST.
  • the column selection list CSLST may directly include information on the plurality of target columns to be selected. For example, when the pin count of the interface is not severe, such as when the memory device 410 is built in, the columns to select may be directly transferred to the list.
  • each row may correspond to a pin, and only the pins corresponding to the rows to select may set a value of "1".
  • the column selection list CSLST may include a plurality of bits corresponding to the plurality of columns, and each bit may be defined as non-selection if the bit is "1".
  • the column selection list CSLST of "11111111” may be provided for the first mode mode 00 of FIG. 6, and the column selection list CSLST of "11110000" may be provided in the second mode (mode 10).
  • mode 11 a column selection list CSLST of “11001100” may be provided.
  • the line address LADDR may be transferred instead of the column address.
  • the memory device 510 and the memory controller 520 may configure the memory system 500.
  • the column selection information CSINF may be provided in the form of a column selection information list CSINFLST.
  • a column selection information list CSINFLST For example, if one line is divided into a plurality of sublines and column selection information is set based on a predefined column selection table (eg, the column selection table of FIG. 6) for each subline, the column selection information
  • the list CSINFLST may have a form in which the mode selection signals are combined.
  • the memory controller 520 may include a scheduler 522 and a memory access buffer 524.
  • the scheduler 522 has the same row address and collects accesses that regard the subline of the memory device 510 as the line TL of FIG. 2B to access the memory device 510 at once.
  • the column selection information list CSINFLST for each of the plurality of sublines may be transferred to the memory device 510.
  • the first and second sublines of the plurality of sublines are accessed as the second mode (mode 10) and the third and fourth sublines are accessed as the third mode (mode 11).
  • the column selection information list CSINFLST of "10", "10", "11", and "11” may be transferred to the memory device 510.
  • FIG. 9 is a block diagram illustrating an electronic system including a memory device according to example embodiments.
  • the electronic system 600 includes a memory device 610 and a system-on-chip (SOC) 620.
  • SOC system-on-chip
  • the memory device 610 may be a memory device according to embodiments of the present invention.
  • the memory device 610 may be one of the memory devices 100, 200, and 300 of FIGS. 2A, 2B, and 2C, and may include a multi-column decoder.
  • the memory device 610 includes a plurality of memory cells arranged to form a plurality of rows and a plurality of columns, generates a row selection signal for selecting a target row among the plurality of rows based on a row address, Generating a multi-column selection signal for selecting a plurality of target columns at one time from among columns included in the target row based on address and column selection information, and generating the plurality of target columns based on the multi-column selection signal. Selecting at a time, writes input data into the plurality of target columns at once or outputs data stored in the plurality of target columns as output data at once based on the multi-column selection signal and the data mask signal.
  • the system on chip 620 includes a bus 622, a memory controller 630, and a bus master 640.
  • the memory controller 630 generally controls the operation of the memory device 610.
  • the bus master 640 is connected to the memory device 610 through the bus 622 and the memory controller 630, and controls access to the memory device 610.
  • the memory device 610 may be used as a main memory, and the bus master 640 generates the row address, the column address, and the column selection information provided to the memory device 610.
  • the bus master 640 may include a controller 650 and a cache controller 660, and may further include a cache memory 670.
  • the controller 650 may control overall access to the memory device 610.
  • Cache controller 660 may generally control access to cache memory 670. The structure and operation of the controller 650 and the cache controller 660 will be described later with reference to FIG. 10A and the like.
  • the bus master 640 is any functional device (including a central processing unit (CPU), a graphics processing unit (GPU), etc.) that is contained within the system on chip 620 and can access the memory device 610 ( It may be a functional unit or an IP (intellectual property).
  • a functional device including a central processing unit (CPU), a graphics processing unit (GPU), etc.
  • CPU central processing unit
  • GPU graphics processing unit
  • IP IP
  • 10A and 10B are block diagrams illustrating an example of a controller included in a bus master of the electronic system of FIG. 9.
  • the controller 650a includes a memory management unit (MMU) 654a and a column selection information generator 656.
  • the controller 650a may further include a register 658a.
  • the memory management device 654a generates a physical address PADDR based on the virtual address VADDR and the memory mapping information MMINF.
  • the physical address PADDR may include the row address and the column address provided to the memory device 610 of FIG. 9.
  • the memory management device 654a may include a translation lookaside buffer (TLB) 655a.
  • TLB translation lookaside buffer
  • the memory management device 654a reads the information in the page table 652a, stores the information in the translation lookaside buffer 655a, and uses the address to speed up the address translation. Can be improved.
  • the page table 652a may be stored in a separate storage space.
  • the bus master 640 may access the memory device 610 assuming a virtual memory mapping scheme different from the actual memory mapping scheme.
  • the memory device 610 may freely access the memory such that the information recorded in the super tile method is read in the tile method, thereby increasing efficiency. If the physical memory mapping method and the virtual memory mapping method are different from each other, memory addresses are different from each other, and thus an appropriate address translation must be performed according to the mapping method.
  • the necessary information can be defined as memory mapping information (MMINF). For example, the memory mapping information may be determined at the memory allocation step.
  • the column selection information generator 656 may be provided based on the physical memory mapping method among the memory mapping information MMINF when given the memory access type information MAT that combines the virtual memory mapping method, the raster method, the tile method, and the rotation or the like. Column selection information (CSINF) may be generated. If the memory access type information MAT is missing or invalid, the column selection information CSINF may be generated based on the memory mapping information MMINF and the default memory access type information DMT.
  • CSINF Column selection information
  • the register 658a may store memory mapping information MMINF and default memory access type information DDMA.
  • the controller 650a of FIG. 10A shows a case where the memory mapping information MMINF and the default memory access type information DMT are stored and used in a register of the bus master.
  • the controller 650b includes a memory management device 654b and a column selection information generator 656b.
  • the controller 650b of FIG. 10B is substantially the same as the controller 650a of FIG. 10A except that the memory mapping information MMINF and the default memory access type information DDMA are stored in the page table 652b rather than in separate registers. May be the same.
  • the controller 650b of FIG. 10B represents a case of storing and using the memory mapping information MMINF and the default memory access type information DDMA in the corresponding page table, in which case the register 658a may be omitted.
  • Memory mapping information (MMINF) and default memory access type information (DMAT) may be provided to the column selection information generator 656 through the translation index buffer 655b of the memory management device 654.
  • 11A, 11B and 11C are block diagrams illustrating examples of cache controllers included in the bus master of the electronic system of FIG. 9.
  • the cache controller 660a may include a first comparator 662a, a selector 665, a second comparator 662b, and a logic gate 664.
  • the column selection information generator 656 and page table entry PTENT shown together are included in the controller 650 of FIG. 9 and the cache entry CENT is included in the cache memory 670 of FIG. 9.
  • the cache controller 660a may store data in the cache line of the cache entry CENT while increasing the offset in order according to the memory access type.
  • the applied memory access type may be stored in the auxiliary bit of the cache entry (CENT) for use in cache hit determination, and column selection information may also be stored in the auxiliary bit for use in write-back. Can be stored.
  • the address translation and column selection information corresponding to the virtual memory mapping scheme required for accessing the main memory may be generated by the controller 650 of FIG. 9.
  • the first comparator 662a may generate a first comparison signal COMP1 by comparing a tag of the memory address ADDR with a tag stored in the cache entry CENT.
  • the first comparison signal COMP1 may be "1" when the tag of the memory address ADDR matches the tag of the cache entry CENT, or "0" when the tag of the memory address ADDR does not match. have.
  • the memory address ADDR may include a tag, an index, and an offset
  • the cache entry CENT may include a tag, a cache line, a flag bit, and an auxiliary bit.
  • the memory address ADDR may correspond to the virtual address VADDR or the physical address PADDR of FIGS. 10A and 10B.
  • the cache entry (CENT) may further include an auxiliary bit.
  • the auxiliary bit may include memory access type information (DMAT) and column selection information (CSINF).
  • the selector 665 may select memory access type information DMAT if the memory access type information MAT is valid, and select default memory access type information DMAT if it is invalid.
  • the second comparator 662b may compare the output of the selector 665 with the auxiliary bit stored in the cache entry CENT to generate a second comparison signal COMP2.
  • the second comparison signal COMP2 may be "1" when the memory access type output from the selector and the memory access type stored in the auxiliary bit are the same, or "0" when they are different.
  • the logic gate 664 has a valid bit VLD indicating that valid data is stored in a cache line among flag bits stored in the first comparison signal COMP1, the second comparison signal COMP2, and the cache entry CENT.
  • the cache hit result signal HITR may be generated based on whether or not. For example, the cache hit result signal HITR may be "1" indicating a cache hit when the first comparison signal COMP1, the second comparison signal COMP2, and the valid bit VLD are all "1". Otherwise, it may be "0" indicating a cache miss.
  • auxiliary bits that include memory access type and column selection information, such that the cache controller 660a selects the selector 665 and the second comparator 662b. It may further include.
  • the configuration of the cache controller 660b may be similar to that of the cache controller 660a of FIG. 11A, except that the selector 665 and the second comparator 662b may be omitted because auxiliary bits are not required. Can be.
  • embodiments of the present invention may be applied to a cache line of the cache memory 670.
  • the plurality of cache columns may be selected and accessed from the cache columns included in the cache line based on the column selection information CSINF.
  • the size of the cache line may be designed to be equal to or a multiple of the line size of the main memory.
  • the generated column selection information CSINF multiple cache columns of the cache line may be selectively accessed in the same manner as the main memory 610. Since the memory access type and column selection information (CSINF) are applied at the time of accessing the cacheline, there is no need to store them for future use and therefore no auxiliary bits.
  • the configuration of the cache controller 660c may be similar to that of the cache controller 660b of FIG. 11B, but may further include a distributor 667.
  • the distributor 667 may distribute the column selection information CSINF output from the column selection information generator 656 and increase and decrease the offset to supply the cache memory 670 to match one of the selected columns accordingly.
  • the plurality of target cache columns among the plurality of cache columns included in the cache memory 670 may be selected based on the distributed column selection information output from the distributor 667.
  • the line size of the main memory is a multiple of the cache line size
  • the column selection information CSINF is equally divided according to the multiple in the distributor 667 and sequentially supplied to the cache memory 670. You can access the cacheline multiple times.
  • the present invention can be applied to various devices and systems including memory devices. Therefore, the present invention is a mobile phone, smart phone, PDA, PMP, digital camera, camcorder, PC, server computer, workstation, notebook, digital TV, set-top box, music player, portable game console, navigation device, wearable device, IoT It may be usefully used in various electronic devices such as devices, VR devices, AR devices, artificial intelligence devices, and the like.

Abstract

메모리 장치는 메모리 셀 어레이, 행 디코더, 다중 열 디코더, 게이팅 회로 및 입출력 데이터 구동 회로를 포함한다. 메모리 셀 어레이는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함한다. 행 디코더는 행 어드레스에 기초하여, 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생한다. 다중 열 디코더는 열 어드레스 및 열 선택 정보에 기초하여, 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생한다. 게이팅 회로는 다중 열 선택 신호에 기초하여 복수의 목표 열들을 한 번에 선택한다. 입출력 데이터 구동 회로는 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여, 게이팅 회로를 통해 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력한다. 목표 행에 포함되는 복수의 목표 열들에 대응하는 열 어드레스는 연속적이지 않다.

Description

데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
본 발명은 메모리 장치에 관한 것으로서, 더욱 상세하게는 구역성이 존재하는 다차원 배열 데이터를 저장하고 액세스할 수 있는 메모리 장치 및 상기 메모리 장치를 포함하는 전자 시스템에 관한 것이다.
멀티미디어 데이터는 시공간적으로 가까운 데이터 간에 연관성이 높아서 이들 데이터를 처리할 때 강한 구역성이 나타난다. 예를 들어, 카메라 센서로부터 획득된 영상 데이터를 처리할 때, 같은 프레임 또는 전후 프레임의 주변 화소 데이터를 필요로 하는 경우가 많다.
멀티미디어 데이터를 메모리 장치에 저장하기 위해 각 화소 위치에 메모리 주소를 맵핑하는 대표적인 방식으로 래스터 방식과 타일 방식이 있다. 래스터 방식에서는 한 프레임 내에서 수평 주사선 방향의 화소 데이터를 메모리 주소를 증가시키며 메모리 셀들에 순차적으로 저장하며, 타일 방식에서는 한 프레임을 다수의 타일로 나누고 하나의 타일의 화소 데이터를 우선적으로 메모리 주소가 인접하게 메모리 셀들에 순차적으로 저장한다. 멀티미디어 데이터를 생성, 처리 및 소비하는 과정에서, 고성능 저전력 동작을 위해 연속된 메모리 주소의 셀들에 화소 데이터를 기입/독출할 수 있도록 래스터 방식과 타일 방식 등을 적절히 선택할 수 있다. 이 때, 기존의 메모리 장치는 래스터 방식과 타일 방식 간의 전환 과정 등에서 비효율이 발생할 수 있다.
일반적으로, 기존의 메모리 장치에서는 연속된 메모리 주소를 따라 액세스하지 않으면 성능이나 전력소비 면에서 비효율이 발생하므로, 다차원 배열 데이터를 처리할 때 다차원적으로 나타나는 구역성에 한 가지 메모리 맵핑 방식으로는 효율적으로 대처하기 어렵고, 메모리 맵핑 방식 전환에 추가적인 비용이 소요된다.
도 1은 행 디코더와 열 디코더를 포함하여 특정 메모리 주소의 셀들에 액세스하는 기존의 메모리 장치를 나타내는 블록도이다.
도 1을 참조하면, 메모리 장치(10)는 메모리 셀 어레이(20), 행 디코더(30), 열 디코더(40), 게이팅 회로(50) 및 입출력 데이터 구동 회로(60)를 포함한다.
메모리 셀 어레이(20)는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함한다. 메모리 장치(10)의 용량이 커지면서, 메모리 셀들을 2차원으로 배열하고 행 디코더(30) 및 열 디코더(40)를 통해 원하는 셀들에 선택적으로 데이터를 기입/독출하는 방식을 채택하고 있다.
목표 메모리 셀에 액세스하기 위해, 행 디코더(30)는 행 어드레스(RADDR0)에 기초하여 상기 목표 메모리 셀을 포함하는 행(R0)을 선택하기 위한 행 선택 신호(RSEL0)를 발생한다. 선택된 행(R0)에 포함되는 메모리 셀들이 게이팅 회로(50)와 연결된다. 메모리 셀 어레이(20)의 하나의 행(예를 들어, R0)은 한 페이지를 구성한다. 게이팅 회로(50)는 메모리 셀들을 감지하고 신호를 안정적으로 처리하기 위한 감지 증폭기를 더 포함할 수 있다.
열 디코더(40)는 열 어드레스(CADDR0)에 기초하여 선택된 행(R0)에서 상기 목표 메모리 셀을 포함하는 열(C0)(빗금 친 부분)을 선택하기 위한 열 선택 신호(CSEL0)를 발생한다. 선택된 행(R0)의 선택된 열(C0)에 포함되는 메모리 셀들이 게이팅 회로(50)를 통해 입출력 데이터 구동 회로(60)와 연결된다. 이에 따라, 선택된 열(C0)에 포함되는 상기 목표 메모리 셀에 액세스할 수 있다.
입출력 데이터 구동 회로(60)는 입력 데이터 구동 회로 및 출력 데이터 구동 회로를 포함한다. 상기 입력 데이터 구동 회로에서 수신된 입력 데이터는 게이팅 회로(50)를 통해 선택된 행(R0)의 선택된 열(C0)에 기입된다. 이 때, 데이터 마스크 신호(DMS0)에 기초하여 원하지 않는 입력 데이터가 메모리 셀 어레이(20)에 기입되는 것을 방지한다. 선택된 행(R0)의 선택된 열(C0)에 저장된 데이터는 게이팅 회로(50)를 통해 상기 출력 데이터 구동 회로로 전달되어 출력 데이터로 제공된다. 만약 입/출력 데이터의 크기보다 열(C0)의 크기가 작다면, 추가적으로 열(C0)과 열 어드레스가 인접한 열들에 순차적으로 액세스하여, 액세스된 열들의 크기의 합이 상기 입/출력 데이터의 크기와 일치하도록 하고 기입 또는 독출한다.
기존의 메모리 장치(10)에서는 행 디코더(30) 및 열 디코더(40)에 의해 선택된 연속적인 주소를 갖는 메모리 셀들만이 한 번에 액세스된다. 따라서 동일 행 또는 동일 페이지 내에 있는 메모리 셀들을 액세스하는 경우에도, 목표 메모리 셀들의 주소가 연속적이지 않으면 목표 메모리 셀들을 한 번에 액세스하지 못하거나 불필요한 메모리 셀들도 함께 액세스해야 하는 비효율이 발생할 수 있다.
본 발명의 일 목적은 연속적이지 않은 메모리 셀들에 한 번에 액세스하여 데이터 기입/독출 동작의 효율이 향상될 수 있는 메모리 장치를 제공하는 것이다.
본 발명의 다른 목적은 연속적이지 않은 메모리 셀들에 한 번에 액세스할 수 있는 메모리 장치를 포함하는 전자 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 장치는 메모리 셀 어레이, 행 디코더, 다중 열 디코더, 게이팅 회로 및 입출력 데이터 구동 회로를 포함한다. 상기 메모리 셀 어레이는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함한다. 상기 행 디코더는 행 어드레스에 기초하여, 상기 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생한다. 상기 다중 열 디코더는 열 어드레스 및 열 선택 정보에 기초하여, 상기 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생한다. 상기 게이팅 회로는 상기 다중 열 선택 신호에 기초하여 상기 복수의 목표 열들을 한 번에 선택한다. 상기 입출력 데이터 구동 회로는 상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여, 상기 게이팅 회로를 통해 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력한다. 상기 목표 행에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않다.
일 실시예에서, 상기 메모리 장치는 라인 디코더 및 제2 게이팅 회로를 더 포함할 수 있다. 상기 라인 디코더는 상기 열 어드레스에 기초하여, 상기 목표 행에 포함되고 두 개 이상의 열들을 각각 포함하는 복수의 라인들 중 하나의 목표 라인을 선택하기 위한 라인 선택 신호를 발생할 수 있다. 상기 제2 게이팅 회로는 상기 라인 선택 신호에 기초하여 상기 하나의 목표 라인을 선택할 수 있다. 상기 복수의 목표 열들은 상기 하나의 목표 라인에 포함될 수 있다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식 또는 2의 거듭제곱 개수의 타일을 이어 붙인 슈퍼 타일 방식으로 맵핑된 데이터일 수 있다.
일 실시예에서, 상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정될 수 있다. 상기 목표 행에 포함되는 상기 복수의 목표 열들의 가능한 조합을 상기 열 선택 모드에 대응시킬 수 있다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터일 수 있다. 상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 연결한 가상 선을 기준으로 동일 사이드에 상기 목표 열들이 대응될 수 있다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터일 수 있다. 상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 대각선 꼭지점으로 갖는 가상의 사각형 내에 상기 목표 열들이 대응될 수 있다.
일 실시예에서, 상기 열 선택 정보는 상기 복수의 목표 열들에 대한 정보를 직접적으로 포함하는 열 선택 리스트의 형태로 제공될 수 있다.
일 실시예에서, 상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고, 모드 선택 신호가 조합된 열 선택 정보 리스트의 형태로 제공될 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 메모리 장치는 제1 메모리 장치, 다중 열 디코더, 게이팅 회로 및 입출력 데이터 구동 회로를 포함한다. 상기 제1 메모리 장치는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스에 기초하여 상기 복수의 행들 중 목표 행을 선택하며, 열 어드레스에 기초하여 상기 목표 행에 포함되고 두 개 이상의 열들을 각각 포함하는 복수의 라인들 중 목표 라인을 선택한다. 상기 다중 열 디코더는 상기 열 어드레스 및 열 선택 정보에 기초하여, 상기 목표 라인에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생한다. 상기 게이팅 회로는 상기 다중 열 선택 신호에 기초하여 상기 목표 라인 내의 상기 복수의 목표 열들을 한 번에 선택한다. 상기 입출력 데이터 구동 회로는 상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여, 상기 게이팅 회로를 통해 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력한다. 상기 목표 라인에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않다. 상기 입출력 데이터 구동 회로는 상기 데이터 마스크 신호 및 상기 다중 열 선택 신호에 기초하여 증강된 데이터 마스크 신호를 발생한다. 상기 제1 메모리 장치는 상기 증강된 데이터 마스크 신호에 기초하여, 상기 목표 라인 내의 상기 복수의 목표 열들을 제외한 선택되지 않은 열에 상기 입력 데이터의 기입을 방지한다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식 또는 2의 거듭제곱 개수의 타일을 이어 붙인 슈퍼 타일 방식으로 맵핑된 데이터일 수 있다.
일 실시예에서, 상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정될 수 있다. 상기 목표 행에 포함되는 상기 복수의 목표 열들의 가능한 조합을 상기 열 선택 모드에 대응시킬 수 있다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터일 수 있다. 상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 연결한 가상 선을 기준으로 동일 사이드에 상기 목표 열들이 대응될 수 있다.
일 실시예에서, 상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터일 수 있다. 상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 대각선 꼭지점으로 갖는 가상의 사각형 내에 상기 목표 열들이 대응될 수 있다.
일 실시예에서, 상기 열 선택 정보는 상기 복수의 목표 열들에 대한 정보를 직접적으로 포함하는 열 선택 리스트의 형태로 제공될 수 있다.
일 실시예에서, 상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고, 모드 선택 신호가 조합된 열 선택 정보 리스트의 형태로 제공될 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 전자 시스템은 메모리 장치 및 버스 마스터를 포함한다. 상기 메모리 장치는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스에 기초하여 상기 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생하고, 열 어드레스 및 열 선택 정보에 기초하여 상기 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생하고, 상기 다중 열 선택 신호에 기초하여 상기 복수의 목표 열들을 한 번에 선택하며, 상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력하고, 상기 목표 행에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않다. 상기 버스 마스터는 버스를 통해 상기 메모리 장치와 연결되고, 상기 메모리 장치에 제공되는 상기 행 어드레스, 상기 열 어드레스 및 상기 열 선택 정보를 발생한다. 상기 버스 마스터는 메모리 관리 장치 및 열 선택 정보 생성기를 포함한다. 상기 메모리 관리 장치는 가상 주소 및 메모리 맵핑 정보에 기초하여, 물리 주소에 대응하는 상기 행 어드레스 및 상기 열 어드레스를 발생한다. 상기 열 선택 정보 생성기는 상기 메모리 맵핑 정보, 메모리 액세스 타입 정보 및 디폴트 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생한다.
일 실시예에서, 상기 메모리 맵핑 정보 및 상기 디폴트 메모리 액세스 타입 정보는 별도의 레지스터에 저장되거나 페이지 테이블에 저장될 수 있다.
일 실시예에서, 상기 열 선택 정보 생성기는 상기 메모리 액세스 타입 정보가 유효한 경우에, 상기 메모리 맵핑 정보 및 상기 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생하며, 상기 메모리 액세스 타입 정보가 유효하지 않은 경우에, 상기 메모리 맵핑 정보 및 상기 디폴트 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생할 수 있다.
일 실시예에서, 상기 버스 마스터는 제1 비교기, 선택기, 제2 비교기, 논리 게이트, 캐시 컨트롤러 및 캐시 메모리를 포함할 수 있다. 상기 제1 비교기는 상기 가상 주소 또는 상기 물리 주소의 태그와 캐시 엔트리에 저장된 태그를 비교하여 제1 비교 신호를 발생할 수 있다. 상기 선택기는 상기 메모리 액세스 타입 정보 및 상기 디폴트 메모리 액세스 타입 정보 중 하나를 선택할 수 있다. 상기 제2 비교기는 상기 선택기의 출력과 상기 캐시 엔트리의 보조 비트에 저장된 메모리 액세스 타입 정보를 비교하여 제2 비교 신호를 발생할 수 있다. 상기 논리 게이트는 상기 제1 비교 신호, 상기 제2 비교 신호 및 상기 캐시 엔트리에 저장된 플래그 비트 중 유효 비트가 유효한지 여부에 기초하여 캐시 히트 결과 신호를 발생할 수 있다. 상기 캐시 컨트롤러는 상기 메모리 액세스 타입에 따른 순서대로 오프셋을 증가시키며 상기 캐시 엔트리의 캐시라인에 데이터를 저장하고, 상기 메모리 액세스 타입과 상기 열 선택 정보를 상기 캐시 엔트리의 보조 비트에 저장할 수 있다. 상기 캐시 메모리는 상기 캐시 컨트롤러에 의해 제어되고 상기 캐시 엔트리에 보조 비트를 포함할 수 있다.
일 실시예에서, 상기 버스 마스터는 캐시 컨트롤러 및 캐시 메모리를 더 포함할 수 있다. 상기 캐시 컨트롤러는 상기 열 선택 정보에 기초하여 캐시라인의 복수의 캐시 열들 중 복수의 목표 캐시 열들을 한 번에 액세스할 수 있다. 상기 캐시 메모리는 상기 캐시 컨트롤러에 의해 제어되며 상기 복수의 목표 캐시 열들에 상기 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 캐시 열들에 저장된 데이터를 한 번에 상기 출력 데이터로서 출력할 수 있다.
일 실시예에서, 상기 캐시 컨트롤러는 상기 열 선택 정보를 분배하는 분배기를 더 포함할 수 있다. 상기 분배기에서 출력되는 상기 분배된 열 선택 정보에 기초하여 상기 캐시라인에 포함되는 상기 복수의 캐시 열들 중 상기 복수의 목표 캐시 열들을 한 번에 액세스할 수 있다.
상기와 같은 본 발명의 실시예들에 따른 메모리 장치는, 다중 열 디코더를 포함하여 구현되고, 열 선택 신호에 기초하여 복수의 목표 열들에 한 번에 액세스할 수 있다. 따라서, 멀티미디어 데이터 및 행렬 데이터와 같이 강한 구역성을 가지는 다차원 배열 데이터를 처리하는 경우에 복수의 목표 열들에 한 번에 액세스할 수 있어, 메모리 액세스에 자유도가 생겨 메모리 장치 및 이를 포함하는 전자 시스템의 성능 및 효율이 향상될 수 있다.
도 1은 행 디코더와 열 디코더를 포함하여 특정 메모리 주소의 셀들에 액세스하는 기존의 메모리 장치를 나타내는 블록도이다.
도 2a, 2b 및 2c는 연속적이지 않은 메모리 셀들에 한 번에 액세스하는 본 발명의 실시예들에 따른 메모리 장치를 나타내는 블록도들이다.
도 3a, 3b, 3c, 3d, 4a, 4b, 5a, 5b, 5c, 5d 및 5e는 본 발명의 실시예들에 따른 메모리 장치의 동작을 설명하기 위한 도면들이다.
도 6, 7a, 7b, 7c, 8a 및 8b는 본 발명의 실시예들에 따른 메모리 장치에서 사용되는 열 선택 정보의 구성을 설명하기 위한 도면들이다.
도 9는 본 발명의 실시예들에 따른 메모리 장치를 포함하는 전자 시스템을 나타내는 블록도이다.
도 10a 및 10b는 도 9의 전자 시스템의 버스 마스터에 포함되는 컨트롤러의 예를 나타내는 블록도들이다.
도 11a, 11b 및 11c는 도 9의 전자 시스템의 버스 마스터에 포함되는 캐시 컨트롤러의 예를 나타내는 블록도들이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 예시된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
본 발명에서, 메모리의 셀들이나 열들이 "연속"이라는 것은 셀들이나 열들의 물리적 위치가 연속되어 있다는 뜻이 아니라 해당 셀들이나 열들의 주소가 연속이라는 것을 의미한다.
본 발명에서, "한 번에"는 하나의 명령 또는 요청을 수행하기 위한 일련의 조치에 대해 사용된다. 예를 들어 버스트 모드 메모리 입출력은 동시에 수행되지는 않지만 한 번에 수행된다.
본 발명에서, 멀티미디어 데이터를 대상으로 하여 기술하는 경우 멀티미디어 데이터의 다차원 배열 내의 위치 정보만을 참조하므로 일반적인 다차원 배열 데이터로 바꾸어 기술할 수 있다. 화면 내의 화소는 배열 내의 원소에 대응한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 2a, 2b 및 2c는 연속적이지 않은 메모리 셀들에 한 번에 액세스하는 본 발명의 실시예들에 따른 메모리 장치를 나타내는 블록도들이다.
도 2a를 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 행 디코더(120), 다중 열 디코더(130), 게이팅 회로(140) 및 입출력 데이터 구동 회로(150)를 포함한다.
메모리 셀 어레이(110)는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함한다. 메모리 셀 어레이(110)의 하나의 행(예를 들어, TR)은 한 페이지를 구성한다.
행 디코더(120)는 행 어드레스(RADDR)에 기초하여, 상기 복수의 행들 중 목표 메모리 셀을 포함하는 목표 행(TR)을 선택하기 위한 행 선택 신호(RSEL)를 발생한다.
다중 열 디코더(130)는 열 어드레스(CADDR) 및 열 선택 정보(CSINF)에 기초하여, 목표 행(TR)에 포함되는 열들 중 상기 목표 메모리 셀을 포함하는 복수의 목표 열들(TC)(빗금 친 부분)을 한 번에 선택하기 위한 다중 열 선택 신호(MCSEL)를 발생한다. 이 때, 열 선택 정보(CSINF)에는 목표 열들(TC)의 주소가 연속이라는 제약이 없다. 다시 말하면, 목표 열들(TC)은(즉, 목표 열들(TC)의 주소는) 연속적이지 않을 수 있다.
일 실시예에서, 열 선택 정보(CSINF)는 미리 정의된 열 선택 테이블에 기초하여 설정될 수 있다. 다른 실시예에서, 열 선택 정보(CSINF)는 열 선택 파라미터에 기초하여 설정될 수 있다. 또 다른 실시예에서, 열 선택 정보(CSINF)는 열 선택 리스트 또는 열 선택 정보 리스트에 기초하여 설정될 수 있다. 열 선택 정보(CSINF)의 구체적인 구현 예에 대해서는 도 6 등을 참조하여 후술하도록 한다.
게이팅 회로(140)는 행 선택 신호(RSEL)에 기초하여 목표 행(TR)과 연결된다. 또한, 게이팅 회로(140)는 다중 열 선택 신호(MCSEL)에 기초하여 목표 행(TR)에 포함된 복수의 목표 열들(TC)을 선택하여 입출력 데이터 구동 회로(150)에 한 번에 연결한다. 예를 들어, 게이팅 회로(140)는 메모리 셀들을 감지하고 신호를 안정적으로 처리하기 위한 감지 증폭기를 더 포함할 수 있다.
입출력 데이터 구동 회로(150)는 다중 열 선택 신호(MCSEL) 및 데이터 마스크 신호(DMS)에 기초하여, 복수의 목표 열들(TC)에 입력 데이터(DIN)를 한 번에 기입하거나 복수의 목표 열들(TC)에 저장된 데이터를 한 번에 출력 데이터(DOUT)로서 출력한다. 예를 들어, 입출력 데이터 구동 회로(150)는 입력 데이터 구동 회로 및 출력 데이터 구동 회로를 포함할 수 있다.
데이터 기입 동작에서, 복수의 목표 열들(TC)은 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로(140)를 통해 상기 입력 데이터 구동 회로와 연결될 수 있다. 상기 입력 데이터 구동 회로에서 수신된 입력 데이터(DIN)는 열 데이터(CDIN) 단위로 게이팅 회로(140)에 제공될 수 있고, 복수의 목표 열들(TC)에 저장될 수 있다. 이 때, 데이터 마스크 신호(DMS)에 기초하여 원하지 않는 데이터가 메모리 셀 어레이(110)에 저장되는 것을 방지할 수 있다.
데이터 독출 동작에서, 복수의 목표 열들(TC)은 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로(140)를 통해 상기 출력 데이터 구동 회로와 연결될 수 있다. 목표 행(TR)에 저장된 페이지 데이터(또는 행 데이터)(RD)가 게이팅 회로(140)에 제공될 수 있고, 목표 행(TR)에 포함되는 복수의 목표 열들(TC)의 데이터가 열 데이터(CDOUT) 단위로 상기 출력 데이터 구동 회로에 제공될 수 있으며, 출력 데이터(DOUT)로서 출력될 수 있다.
복수의 목표 열들(TC)에 대응하는 열 어드레스가 연속이 아닐 경우 다중 열 선택 신호(MCSEL)에 따라 각 목표 열들의 입력 데이터(DIN) 또는 출력 데이터(DOUT) 상의 순번이 달라질 수 있고, 게이팅 회로(140) 또는 입출력 데이터 구동 회로(150)는 각 목표 열들을 입출력 데이터 상의 순번에 맞추어 정렬해 주는 회로를 포함할 수 있다.
일 실시예에서, 입출력 데이터(DIN 또는 DOUT)의 크기는 페이지 데이터(RD)의 크기보다 작거나 같을 수 있다. 예를 들어, 페이지 데이터(RD)의 크기는 P(P는 2 이상의 자연수)비트일 수 있고, 입출력 데이터(DIN 또는 DOUT)의 크기는 K(K는 P 이하의 자연수)비트일 수 있다.
일 실시예에서, 열 데이터(CDIN 또는 CDOUT)의 크기는 입출력 데이터(DIN 또는 DOUT)의 크기보다 작을 수 있다. 예를 들어, 열 데이터(CDIN 또는 CDOUT)의 크기는 C(C는 K보다 작은 자연수)비트일 수 있다. 이 경우, 하나의 입력 데이터(DIN)를 저장하거나 하나의 출력 데이터(DOUT)를 제공하기 위해 복수의 열들(예를 들어, K/C개의 열들)을 선택할 수 있으며, 이에 따라 입출력 데이터(DIN 또는 DOUT)는 하나의 화살표로 도시하고 열 데이터(CDIN 또는 CDOUT)는 복수의 화살표들로 도시하였다.
일 실시예에서, 본 발명의 메모리 장치(100)에서 설정된 하나의 열(예를 들어, 도 2a의 목표 행(TR)에 포함된 하나의 사각형)의 크기는 기존의 메모리 장치(10)에서 설정된 하나의 열(예를 들어, 도 1의 행(R0)에 포함된 하나의 사각형)의 크기보다 작을 수 있고 작을수록 불필요한 셀들을 액세스하는 비효율 발생을 줄일 수 있다.
한편, 도시하지는 않았지만, 행 어드레스(RADDR), 열 어드레스(CADDR), 열 선택 정보(CSINF) 및 데이터 마스크 신호(DMS)는 외부의 메모리 컨트롤러로부터 제공될 수 있다. 메모리 장치(100)와 메모리 컨트롤러는 메모리 시스템을 구성할 수 있다.
본 발명의 실시예들에 따른 메모리 장치(100)에서, 다중 열 디코더(130)는 열 어드레스(CADDR) 및 열 선택 정보(CSINF)에 기초하여 다중 열 선택 신호(MCSEL)를 발생할 수 있고, 게이팅 회로(140)는 다중 열 선택 신호(MCSEL)에 기초하여 연속적이지 않은 복수의 목표 열들(TC)을 한 번에 선택할 수 있다. 다시 말하면, 기존의 메모리 장치(10)와 비교하였을 때, 다중 열 디코더(130) 및 게이팅 회로(140)의 구조 및 동작이 변경될 수 있다. 그 결과로, 연속적이지 않은 메모리 셀들에 한 번에 액세스할 수 있어 메모리 장치(100)의 성능 및 효율이 향상될 수 있다.
도 2b를 참조하면, 메모리 장치(200)는 메모리 셀 어레이(210), 행 디코더(220), 라인 디코더(230), 다중 열 디코더(240), 제1 게이팅 회로(250), 제2 게이팅 회로(260) 및 입출력 데이터 구동 회로(270)를 포함한다.
게이팅 회로가 두 단으로 형성되고 이에 따라 라인 디코더(230)를 더 포함하는 것을 제외하면, 도 2b의 메모리 장치(200)는 도 2a의 메모리 장치(100)와 유사한 구조를 가질 수 있다. 하나의 페이지의 크기(예를 들어, P비트)가 상대적으로 커서 다중 열 선택을 위한 게이팅 회로 구성에 배선 채널 공간 및 고속 신호 전달 등 물리적 제약이 발생하는 경우에, 도 2b에 도시된 것처럼 게이팅 회로를 두 단으로 구성할 수 있다. 제1 게이팅 회로(250)에 의해 선택되는 복수의 열들을 하나의 라인이라고 정의한다.
메모리 셀 어레이(210)는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함한다.
행 디코더(220)는 행 어드레스(RADDR)에 기초하여, 상기 복수의 행들 중 목표 메모리 셀을 포함하는 목표 행(TR)을 선택하기 위한 행 선택 신호(RSEL)를 발생한다.
라인 디코더(230)는 열 어드레스(CADDR)에 기초하여, 목표 행(TR)에 포함되는 복수의 라인들 중 상기 목표 메모리 셀을 포함하는 하나의 목표 라인(TL)을 선택하기 위한 라인 선택 신호(LSEL)를 발생한다. 상기 복수의 라인들 각각은 하나의 행에 포함되고 두 개 이상의 열들을 포함하도록 정의될 수 있다. 예를 들어, P비트의 하나의 페이지를 L(L은 P보다 작거나 같은 자연수)비트씩 균등하게 분할하여 각각을 하나의 라인으로 정의할 수 있다. 이 경우, 하나의 페이지에 P/L개의 라인들이 존재하며, 라인 디코더(230)는 열 어드레스(CADDR)의 상위 비트에 기초하여 라인 선택 신호(LSEL)를 발생할 수 있다.
다중 열 디코더(240)는 열 어드레스(CADDR) 및 열 선택 정보(CSINF)에 기초하여, 목표 행(TR)에 포함되고 하나의 목표 라인(TL)에 포함되는 열들 중 상기 목표 메모리 셀을 포함하고 연속적이지 않은 복수의 목표 열들(TC)(빗금 친 부분)을 한 번에 선택하기 위한 다중 열 선택 신호(MCSEL)를 발생한다.
제1 게이팅 회로(250)는 행 선택 신호(RSEL)에 기초하여 목표 행(TR)과 연결되고, 라인 선택 신호(LSEL)에 기초하여 하나의 목표 라인(TL)을 선택한다. 제2 게이팅 회로(260)는 다중 열 선택 신호(MCSEL)에 기초하여 하나의 목표 라인(TL)에 포함된 복수의 목표 열들(TC)을 선택한다. 예를 들어, 제1 게이팅 회로(250)는 메모리 셀들을 감지하고 신호를 안정적으로 처리하기 위한 감지 증폭기를 더 포함할 수 있다.
입출력 데이터 구동 회로(270)는 다중 열 선택 신호(MCSEL) 및 데이터 마스크 신호(DMS)에 기초하여, 복수의 목표 열들(TC)에 입력 데이터(DIN)를 한 번에 기입하거나 복수의 목표 열들(TC)에 저장된 데이터를 한 번에 출력 데이터(DOUT)로서 출력한다. 예를 들어, 입출력 데이터 구동 회로(270)는 입력 데이터 구동 회로 및 출력 데이터 구동 회로를 포함할 수 있다. 데이터 기입 동작에서, 복수의 목표 열들(TC)은 라인 선택 신호(LSEL)및 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로들(250, 260)을 통해 상기 입력 데이터 구동 회로와 연결될 수 있다. 데이터 독출 동작에서, 복수의 목표 열들(TC)은 라인 선택 신호(LSEL)및 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로들(250, 260)을 통해 상기 출력 데이터 구동 회로와 연결될 수 있다.
상술한 것처럼, 하나의 페이지는 하나 또는 복수 개의 라인을 포함할 수 있다. 일 실시예에서, 하나의 페이지가 하나의 라인으로 구성되는 경우에, 제1 게이팅 회로(250)는 바이패스 회로로 동작할 수 있고, 이 경우 도 2b의 메모리 장치(200)는 도 2a의 메모리 장치(100)와 실질적으로 동일하게 동작할 수 있다. 다른 실시예에서, 항상 라인 내의 열들을 모두 선택하도록 구현되는 경우에, 제2 게이팅 회로(260)는 바이패스 회로로 동작할 수 있고, 이 경우 라인 디코더(230)는 기존의 메모리 장치(10)에 포함되는 열 디코더(40)와 실질적으로 동일하게 동작할 수 있다.
본 발명의 실시예들에 따른 메모리 장치(200)에서, 라인 디코더(230)는 열 어드레스(CADDR)에 기초하여 라인 선택 신호(LSEL)를 발생할 수 있고, 제1 게이팅 회로(250)는 라인 선택 신호(LSEL)에 기초하여 하나의 목표 라인(TL)을 선택할 수 있으며, 다중 열 디코더(240) 및 제2 게이팅 회로(260)는 도 2a의 다중 열 디코더(130) 및 게이팅 회로(140)와 각각 실질적으로 동일할 수 있다. 다시 말하면, 기존의 메모리 장치(10)와 비교하였을 때, 다중 열 디코더(240) 및 제2 게이팅 회로(260)를 더 포함하여 구현될 수 있다. 따라서, 연속적이지 않은 메모리 셀들에 한 번에 액세스할 수 있어 메모리 장치(200)의 성능 및 효율이 향상될 수 있다.
도 2b의 실시예에서, 하나의 라인의 크기를 증가시키면, 열 선택의 자유도가 커져서 한 페이지 내에서 메모리 주소가 연속적이지 않은 셀들에 액세스하려고 할 때 한 번에 액세스하지 못하는 경우를 줄일 수 있다.
도 2c를 참조하면, 메모리 장치(300)는 제1 메모리 장치(11) 및 부가 회로(301)를 포함한다. 부가 회로(301)는 다중 열 디코더(310), 게이팅 회로(320) 및 입출력 데이터 구동 회로(330)를 포함한다.
제1 메모리 장치(11)는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스(RADDR)에 기초하여 상기 복수의 행들 중 목표 메모리 셀을 포함하는 목표 행을 선택하며, 열 어드레스(CADDR)에 기초하여 상기 목표 행에 포함되는 복수의 라인들 중 상기 목표 메모리 셀을 포함하는 목표 라인을 선택한다.
제1 메모리 장치(11)는 도 1의 기존의 메모리 장치(10)와 실질적으로 동일할 수 있다. 예를 들어, 제1 메모리 장치(11)는 메모리 셀 어레이, 행 디코더, 라인 디코더, 게이팅 회로 및 입출력 데이터 구동 회로를 포함할 수 있다. 기존의 메모리 장치(10)에서의 하나의 열(예를 들어, 도 1의 C0)을 본 발명의 실시예들에 따른 메모리 장치에서의 하나의 라인(예를 들어, 도 2b의 TL)으로 간주하면, 기존의 메모리 장치(10)의 열 디코더는 제1 메모리 장치(11)의 라인 디코더 역할을 할 수 있다.
또한, 제1 메모리 장치(11)가 도 2b의 라인 디코더(230) 및 제1 게이팅 회로(250)까지 포함하는 것으로 생각할 수 있다. 이에 따라, 제1 메모리 장치(11)에 다중 열 디코더(310), 게이팅 회로(320) 및 입출력 데이터 구동 회로(330)를 부가하면, 도 2c의 메모리 장치(300)는 도 2b의 메모리 장치(200)와 실질적으로 동일하게 동작할 수 있다.
다중 열 디코더(310)는 열 어드레스(CADDR) 및 열 선택 정보(CSINF)에 기초하여, 상기 목표 라인에 포함되는 열들 중 상기 목표 메모리 셀을 포함하고 연속적이지 않은 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호(MCSEL)를 발생한다.
게이팅 회로(320)는 다중 열 선택 신호(MCSEL)에 기초하여 상기 목표 라인 내의 상기 복수의 목표 열들을 선택한다. 도 2a 및 2b의 게이팅 회로(140, 250)와 다르게, 게이팅 회로(320)는 감지 증폭기를 포함하지 않을 수 있다.
입출력 데이터 구동 회로(330)는 다중 열 선택 신호(MCSEL) 및 데이터 마스크 신호(DMS)에 기초하여, 복수의 목표 열들(TC)에 입력 데이터(DIN)를 한 번에 기입하거나 복수의 목표 열들(TC)에 저장된 데이터를 한 번에 출력 데이터(DOUT)로서 출력한다. 입출력 데이터 구동 회로(330)는 입력 데이터 구동 회로 및 출력 데이터 구동 회로를 포함할 수 있다.
데이터 기입 동작에서, 상기 목표 라인에 포함되는 상기 복수의 목표 열들은 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로(320)를 통해 상기 입력 데이터 구동 회로와 연결될 수 있다. 상기 입력 데이터 구동 회로에서 수신된 입력 데이터(DIN)는 열 데이터(CDIN) 단위로 게이팅 회로(320)에 제공될 수 있고, 게이팅 회로(320)에서 제공된 데이터(DI)는 제1 메모리 장치(11) 내의 상기 목표 라인에 포함되는 상기 복수의 목표 열들에 저장될 수 있다. 이 때, 상기 입력 데이터 구동 회로는 데이터 마스크 신호(DMS) 및 다중 열 선택 신호(MCSEL)에 기초하여 증강된 데이터 마스크 신호(DMS')를 발생할 수 있으며, 제1 메모리 장치(11)는 증강된 데이터 마스크 신호(DMS')에 기초하여 상기 목표 라인 내의 상기 복수의 목표 열들을 제외한 선택되지 않은 열에 데이터가 저장되는 것을 방지할 수 있다.
데이터 독출 동작에서, 제1 메모리 장치(11)는 상기 목표 라인에 대응하는 데이터(DO)를 제공할 수 있고, 상기 목표 라인에 포함되는 상기 복수의 목표 열들은 다중 열 선택 신호(MCSEL)에 기초하여 게이팅 회로(320)를 통해 상기 출력 데이터 구동 회로와 연결될 수 있다. 데이터(DO) 중 상기 복수의 목표 열들의 데이터가 열 데이터(CDOUT) 단위로 상기 출력 데이터 구동 회로에 제공될 수 있으며, 출력 데이터(DOUT)로서 출력될 수 있다.
본 발명의 실시예들에 따른 메모리 장치(300)에서, 다중 열 디코더(310) 및 게이팅 회로(320)는 도 2a의 다중 열 디코더(130) 및 게이팅 회로(140)와 각각 실질적으로 동일할 수 있고, 도 2b의 다중 열 디코더(240) 및 제2 게이팅 회로(260)와 각각 실질적으로 동일할 수 있다. 다시 말하면, 기존의 메모리 장치(10)와 비교하였을 때, 다중 열 디코더(310) 및 게이팅 회로(320)를 더 포함하여 구현될 수 있다. 따라서, 연속적이지 않은 메모리 셀들에 한 번에 액세스할 수 있어 메모리 장치(300)의 성능 및 효율이 향상될 수 있다.
도 3a, 3b, 3c, 3d, 4a, 4b, 5a, 5b, 5c, 5d 및 5e는 본 발명의 실시예들에 따른 메모리 장치의 동작을 설명하기 위한 도면들이다.
먼저, 도 3a, 3b, 3c 및 3d는 멀티미디어 데이터의 다양한 메모리 주소 맵핑 방식을 나타내는 도면들이다. 도 3a, 3b, 3c 및 3d에서, 하나의 화소를 가장 작은 하나의 정사각형으로 도시하고, 한 프레임의 화면은 18*6개의 화소들을 포함하는 굵은 실선의 직사각형으로 도시하였다. 화소 데이터 크기는 32 비트 워드를 가정하여 각 화소 위치에 대응하는 메모리 주소는 워드 단위로 증가하고, 알파벳 w 뒤에 16진수로 메모리 주소를 표기하였다. 대각선 빗금 친 사각형은 메모리 주소 공간을 차지하지만 실재하지 않는 가상의 화소를 나타낸다.
도 3a를 참조하면, 한 프레임의 화면에 대한 타일 방식의 메모리 주소 맵핑을 나타낸다. 도 3a에서, 하나의 타일은 4*4개의 화소들을 포함하는 가는 실선의 정사각형으로 도시하였다. 하나의 타일 내의 화소들이 메모리 주소 공간 상에 인접하게 맵핑되므로, 화소 데이터의 구역성을 고려하여 데이터를 처리할 때 메모리를 효율적으로 액세스할 수 있다. 다만, 타일 내에서도 메모리 주소 매핑에 방향성이 존재하므로 특정 방향으로 인접한 화소를 처리할 때 메모리 액세스 효율이 상대적으로 낮아질 수 있다. 가상 화소가 존재하므로 메모리 사용에 낭비가 있으나 각 화소의 메모리 주소 계산이 용이해 진다는 장점이 있다. 도 3a의 예에서, 메모리 주소의 최하위 2비트가 각 화소의 타일 내의 가로 위치를 나타내고, 다음 2비트가 세로 위치, 그리고 다음 상위 비트들이 타일의 위치를 나타낸다.
도 3b를 참조하면, 한 프레임의 화면에 대한 래스터 방식의 메모리 주소 맵핑을 나타낸다. 수평 주사선 방향으로 각 화소에 메모리 주소를 순차적으로 증가시키며 매핑되므로, 수평 주사선 방향으로 화소 데이터가 순차적으로 생성 소비될 때 메모리 액세스 효율이 높아진다. 가상 화소가 없으므로 메모리 사용에 낭비가 없는 반면에, 특정 위치의 화소 데이터를 읽기 위해 메모리 주소를 구할 때 계산이 복잡해질 수 있다.
도 3c를 참조하면, 한 프레임의 화면에 대한 래스터 방식의 메모리 주소 맵핑을 나타낸다. 수평 방향 선두 화소의 주소 계산을 용이하게 하기 위해 가상 화소가 사용되므로, 메모리 사용에 낭비를 감수하게 된다. 이로써 타일 방식과 비교할 때 메모리 사용에서 낭비되는 정도 차이가 줄어들게 된다.
도 3d를 참조하면, 한 프레임의 화면에 대한 슈퍼 타일 방식의 메모리 주소 맵핑을 나타낸다. 슈퍼 타일은 2의 거듭제곱 개수의 타일을 수평 방향으로 이어 붙인 것으로 정의할 수 있다. 도 3d에서, 하나의 타일은 4*4개의 화소들을 포함하는 것으로 정의하였으며, 두 개의 타일을 수평 방향으로 이어 붙인 슈퍼 타일을 가는 실선의 직사각형으로 도시하였다. 슈퍼 타일도 그 자체로서는 하나의 타일이다. 또한 슈퍼 타일 및 대응하는 타일을 각각 타일 및 서브 타일로 불러도 무방하다.
슈퍼 타일 내에 수평 방향의 화소 개수가 증가함에 따라 수평 주사선 방향으로 화소 데이터가 순차적으로 생성 소비 될 때, 메모리 액세스 효율이 타일 방식 대비 개선될 수 있다. 반면 구역성이 강한 데이터 처리를 위해 메모리 액세스할 때는 타일 방식 대비 다소 불리해질 수 있다. 한편, 타일 방식과 같은 정도로 메모리 사용상 낭비가 있고, 같은 정도로 각 화소의 메모리 주소 계산이 용이해진다. 도 3d의 예에서, 메모리 주소의 최하위 3비트가 각 화소의 슈퍼 타일 내의 가로 위치를 나타내고, 다음 2비트가 세로 위치, 그리고 다음 상위 비트들이 슈퍼 타일의 위치를 나타낸다. 특히, 메모리 주소의 하위 3번째 비트를 5번째로 옮기면 타일 방식의 메모리 주소를 얻는다. 따라서 타일 방식과 슈퍼 타일 방식간의 메모리 주소 변환이 용이할 수 있다.
슈퍼 타일 방식의 메모리 주소 맵핑은 3차 이상의 다차원 데이터에 적용할 수 있다. 예를 들어, 도 3d에서 메모리 주소의 하위 5번째 비트가 3번째 차원을 나타내는 인덱스라고 할 수 있다. 3번째 차원이 높이가 될 수도 있고 시간이 될 수도 있다.
도 4a 및 4b는 멀티미디어 데이터의 화소 데이터를 표기하는 방식을 예시하는 도면들이며, 상기 한 프레임의 화면에 대한 화소 데이터를 나타낸다.
도 4a를 참조하면, 타일 방식의 메모리 주소 맵핑에 기초한 화소 데이터의 넘버링을 나타낸다. 예를 들어, 도 3a에 도시된 각 화소 위치에 맵핑된 메모리 주소의 알파벳 w를 화소를 나타내는 p로 바꾸어 화소 데이터를 넘버링하고, 각 화소 위치에 화소 데이터를 표기하여 도 4a를 도시하였다. 향후 예시를 위해 첫 번째 수평 주사선에 해당하는 화소 데이터들을 볼드체로 강조하였다. 한편, 이러한 화소 데이터의 넘버링은 도 3b, 3c, 3d에 대해서도 동일하게 적용될 수 있다.
도 4b를 참조하면, 도 4a의 화면을 시계 방향으로 90도 회전하여 도 4b를 도시하였다. 향후 예시에서 회전된 화면의 이미지 처리를 위해 원본 데이터를 사용하는 경우를 다룰 것이므로, 원본 화소 데이터의 표기를 유지하였다. 또한 처음 두 수평 주사선에 해당하는 화소 데이터들을 볼드체로 강조하였다.
도 5a, 5b, 5c 및 5d는 도 4a의 화소 데이터가 메모리 장치에 저장되는 예들을 나타내는 도면들이고, 도 5e는 도 4b의 화소 데이터가 메모리 장치에 저장되는 예를 나타내는 도면이다. 도 5a, 5b, 5c, 5d 및 5e에서, 가장 작은 하나의 정사각형의 크기를 하나의 워드로 설정하여, 하나의 정사각형에 하나의 화소 데이터를 저장하는 것으로 도시하였고 좌에서 우로 메모리 주소가 워드 단위로 증가한다. 도 4a와 도 4b에서 강조된 화소에 대응하여 마찬가지로 강조하였고, 도 3a, 3b, 3c 및 3d와 유사하게, 대각선 빗금 친 사각형은 가상의 화소 데이터를 나타낸다.
도 5a를 참조하면, 화소 데이터가 타일 방식의 메모리 주소 맵핑에 기초하여 메모리 장치에 저장된 것을 나타낸다. 도 4a에 도시된 첫 번째 수평주사선에 해당하는 화소 데이터(p00, p01, p02, p03, p10, p11, p12, p13, p20, p21, p22, p23, p30, p31, p32, p33, p40, p41)에 맵핑된 주소가 연속이 아니므로, 기존 메모리 장치(10)에서는 네 개의 화소씩 나누어 액세스하여야 하는 반면, 본 발명의 실시예들에 따른 메모리 장치에서는 라인 사이즈를 키워서 한 번에 액세스하는 화소 수를 증가시킬 수 있다. 즉, 라인 사이즈를 32워드로 하면 여덟 개의 화소를 한 번에 액세스할 수 있다.
도 5b 및 5c를 참조하면, 화소 데이터가 레스터 방식의 메모리 주소 맵핑에 기초하여 메모리 장치에 저장된 것을 나타낸다. 레스터 방식은 수평 주사선 방향의 화소 데이터 처리에 적합한 방식이므로, 기존 메모리 장치(10) 대비 본 발명의 실시예들에 따른 메모리 장치에서 성능 개선은 없다.
도 5d를 참조하면, 화소 데이터가 슈퍼 타일 방식의 메모리 주소 맵핑에 기초하여 메모리 장치에 저장된 것을 나타낸다. 두 개의 타일을 붙여서 슈퍼 타일을 만들었으므로, 여덟 개의 화소 데이터가 연속된 메모리 주소에 매핑되어 있는 것을 볼 수 있다. 즉, 라인 사이즈를 키우지 않아도 슈퍼 타일의 수평 사이즈를 키워서 한 번에 액세스하는 화소 수를 증가시킬 수 있다.
도 5e를 참조하면, 도 5a와 유사하게 화소 데이터가 타일 방식의 메모리 주소 맵핑에 기초하여 메모리 장치에 저장된 것을 나타내며, 특히 도 4b에 도시된 것처럼 시계 방향으로 회전된 화면을 기준으로 화소 데이터를 액세스하는 경우를 나타낸다. 도 4b에 도시된 처음 두 수평 주사선에 해당하는 화소 데이터(p11, p01, p04, p05, p08, p09, p0c, p0d, p50, p51, p54, p55)를 액세스할 때, 기존 메모리 장치(10)에서는 한 번에 두 개의 화소 데이터씩 여섯 번 액세스하여야 하는 반면, 본 발명의 실시예들에 따른 메모리 장치에서는 라인 사이즈가 16 워드일 때, 두 번에 액세스가 가능하다. 기존 메모리 장치(10)를 사용할 경우, 네 개의 수평 주사선에 해당하는 화소 데이터를 읽어서 내부 버퍼 메모리에 넣고 사용한다면 액세스 횟수를 줄일 수도 있다. 하지만, 화면 사이즈가 점점 커지는 추세에 있으므로 더 많은 내부 버퍼 메모리 용량을 필요로 하게 되고 이는 결국 비용 증가의 원인이 된다.
도 6, 7a, 7b, 7c, 8a 및 8b는 본 발명의 실시예들에 따른 메모리 장치에서 사용되는 열 선택 정보의 구성을 설명하기 위한 도면들이다.
도 6을 참조하면, 열 선택 정보(CSINF)를 선택하기 위한 열 선택 모드를 포함하는 열 선택 테이블을 나타낸다. 상기 열 선택 테이블은 미리 정의되어 다중 열 디코더에 저장되어 있을 수 있다. 도 6의 예에서, 하나의 라인이 여덟 개의 열들을 포함하는 것으로 도시하였다.
제1 모드(mode 00)는 디폴트 모드로 연속된 열들이 액세스되므로, 기존 메모리 장치(10)와 실질적으로 동일한 액세스 패턴을 가질 수 있다. 제2 모드(mode 10) 및 제3 모드(mode 11)는 본 발명의 실시예들에 따라 연속적이지 않은 메모리 셀들에 한 번에 액세스하기 위한 모드일 수 있다. 제2 모드(mode 10) 및 제3 모드(mode 11)에서는 상기 목표 행에 포함되는 상기 열들을 X(X는 2 이상의 자연수)개 단위로 그룹화한 복수의 열 그룹들 중에서 홀수번째 열 그룹들 또는 짝수번째 열 그룹들이 상기 복수의 목표 열들에 대응할 수 있다. 예를 들어, 제2 모드(mode 10)에서는 네 개의 열들을 그룹화하여 복수의 열 그룹들을 설정하고 홀수번째 열 그룹 또는 짝수번째 열 그룹이 액세스될 수 있다. 제3 모드(mode 11)에서는 두 개의 열들을 그룹화하여 복수의 열 그룹들을 설정하고 홀수번째 열 그룹들 또는 짝수번째 열 그룹들이 액세스될 수 있다. 예를 들어, 제3 모드(mode 11)는 도 2a 및 2b에 도시된 목표 열들(TC)에 한 번에 액세스하기 위한 모드일 수 있다.
각 모드마다 선택되는 열들이 두 개씩 정의 되어 있는데, 둘 중 어느 것을 선택할지는 메모리 장치에 전달되는 메모리 주소에 의해 결정할 수 있으므로, 굳이 모드를 나누지 않아도 된다.
도 6의 예에서, 열 선택 정보(CSINF)는 상대적으로 적은 비트 수를 갖는 모드 선택 신호의 형태로 제공될 수 있다. 예를 들어, 열 선택 정보(CSINF)는 제1 모드(mode 00), 제2 모드(mode 10) 및 제3 모드(mode 11)에서 각각 "00", "10" 및 "11"의 형태로 제공될 수 있다.
도 6에 도시된 상기 열 선택 테이블에 기초한 방법은, 원하는 열 선택 모드가 몇 가지로 정형화되어 있을 때 유용할 수 있다. 예를 들어, 도 5e에서와 같이 타일 방식으로 메모리 주소가 맵핑되어 있을 때, 회전된 화면 기준으로 화소 데이터를 액세스하는 경우가 이에 해당할 수 있다. 예를 들어, 원본 화면은 제1 모드(mode 00)로 액세스하고, 회전된 화면은 제3 모드(mode 11)로 액세스할 수 있다.
도 7a, 7b 및 7c는 열 선택 파라미터에 기초하여 열 선택 정보(CSINF)를 설정하는 예들을 나타낸다.
도 7a, 7b 및 7c를 참조하면, 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 멀티미디어 데이터일 수 있다. 예를 들어, 메모리 셀들(MC1)에 저장된 데이터는 타일(T1)의 화소 데이터이고, 메모리 셀들(MC2)에 저장된 데이터는 타일(T2)의 화소 데이터이고, 메모리 셀들(MC3)에 저장된 데이터는 타일(T3)의 화소 데이터일 수 있다.
도 7a, 7b 및 7c의 예에서, 열 선택 정보(CSINF)는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내에 포함되는 복수의 화소들 중 상기 목표 행에 포함되는 상기 목표 열들에 대응하는 두 개의 화소들에 대한 정보 및 상기 두 개의 화소들을 연결한 가상 선을 기준으로 한 상기 목표 열들의 위치를 나타내는 사이드 정보를 포함할 수 있다.
다시 말하면, 하나의 타일 내에서 선택하고자 하는 화소 데이터가 모두 포함되도록 가상의 선을 긋고, 상기 가상의 선을 기준으로 어느 한 사이드의 화소 데이터만 액세스할 수 있으며, 이 때 상기 가상의 선은 타일 내의 두 화소로 정의할 수 있으므로, 타일 내의 두 화소 정보와 사이드 정보를 파라미터로 전달할 수 있다. 상기 가상의 선을 타일의 가장자리 화소들로만 정의하면 파라미터로 전달되는 정보의 양을 줄일 수 있다. 상기 사이드 정보는 한 비트의 플래그로 나타낼 수 있는데, 예를 들어 "1"이면 위쪽 "0"이면 아래쪽으로 정의할 수 있다. 상기 가상의 선이 수직선일 경우, "1"이면 왼쪽 "0"이면 오른쪽으로 정의할 수 있다.
도 7a는 가상의 선이 p04와 p0f에 해당하는 화소를 지날 때, 가상의 선의 하측의 화소 데이터를 액세스하는 경우를 나타내며, 이 때 열 선택 정보(CSINF)로서 (04, 0f, 0)의 열 선택 파라미터를 전달하면, 본 발명의 실시예들에 따른 메모리 장치 내부에서 (04, 0f, 0)의 열 선택 파라미터를 (04, 08, 09, 0a, 0c, 0d, 0e, 0f)의 열 선택 리스트를 구성하여 원하는 화소 데이터에 액세스할 수 있다.
도 7b는 가상의 선이 p01과 p0d에 해당하는 화소를 지날 때, 가상의 선의 좌측의 화소 데이터를 액세스하는 경우를 나타내며, 이 때 열 선택 정보(CSINF)로서 (01, 0d, 1)의 열 선택 파라미터를 전달하면, 본 발명의 실시예들에 따른 메모리 장치 내부에서 (01, 0d, 1)의 열 선택 파라미터를 (00, 01, 04, 05, 08, 09, 0c, 0d)의 열 선택 리스트를 구성하여 원하는 화소 데이터에 액세스할 수 있다. 도 7b의 예와 도 6의 제3 모드(mode 11)는 실질적으로 동일한 열 선택 정보를 제공할 수 있다.
도 7c의 예에서, 열 선택 정보(CSINF)는 열 선택 파라미터에 기초하여 설정될 수 있다. 상기 열 선택 파라미터는 하나의 타일 내의 두 개의 화소들에 대한 위치 정보를 포함하고, 상기 두 개의 화소들을 꼭지점으로 하는 가상의 사각형 내에 상기 목표 열들이 대응되도록 할 수 있다.
도 7c는 p05와 p0f를 꼭지점으로 하는 가상의 사각형 내의 화소 데이터를 액세스하는 경우를 나타내며, 이 때 열 선택 정보(CSINF)로서 (05, 0f)의 열 선택 파라미터를 전달하면, 본 발명의 실시예들에 따른 메모리 장치 내부에서 (05, 0f)의 열 선택 파라미터를 (05, 06, 07, 09, 0a, 0b, 0d, 0e, 0f)의 열 선택 리스트를 구성하여 원하는 화소 데이터에 액세스할 수 있다.
도 8a를 참조하면, 본 발명의 실시예들에 따른 메모리 장치(410)와 메모리 컨트롤러(420)는 메모리 시스템(400)을 구성할 수 있다. 도 8a의 예에서, 열 선택 정보(CSINF)는 열 선택 리스트(CSLST)의 형태로 제공될 수 있다. 열 선택 리스트(CSLST)는 선택하고자 하는 상기 복수의 목표 열들에 대한 정보를 직접적으로 포함할 수 있다. 예를 들어, 메모리 장치(410)가 내장 되어 있는 경우와 같이 인터페이스의 핀 카운트에 제약이 심하지 않은 경우에는, 선택할 열들을 직접 리스트로 전달할 수 있다.
일 실시예에서, 선택 가능한 열들의 개수만큼 핀을 할당하여 각각의 열을 핀에 대응시키고, 선택할 열들에 대응하는 핀들만 "1"값을 설정할 수 있다. 다시 말하면, 열 선택 리스트(CSLST)는 복수의 열들에 대응하는 복수의 비트들을 포함할 수 있고, 각 비트는 "1"이면 선택 "0"이면 비선택으로 정의할 수 있다. 이 경우, 도 6의 제1 모드(mode 00)에 대해서는 "11111111"의 열 선택 리스트(CSLST)가 제공될 수 있고, 제2 모드(mode 10)에서는 "11110000"의 열 선택 리스트(CSLST)가 제공될 수 있으며, 제3 모드(mode 11)에서는 "11001100"의 열 선택 리스트(CSLST)가 제공될 수 있다.
한편, 도 8a의 예에서, 열 선택 리스트(CSLST)를 통해 선택할 열 전체의 정보가 전달되므로, 열 어드레스 대신에 라인 어드레스(LADDR)가 전달될 수 있다.
도 8b를 참조하면, 본 발명의 실시예들에 따른 메모리 장치(510)와 메모리 컨트롤러(520)는 메모리 시스템(500)을 구성할 수 있다. 도 8b의 예에서, 열 선택 정보(CSINF)는 열 선택 정보 리스트(CSINFLST)의 형태로 제공될 수 있다. 예를 들어, 하나의 라인을 복수의 서브라인으로 나누고 각 서브라인에 대해 미리 정의된 열 선택 테이블(예를 들어, 도 6의 열 선택 테이블)에 기초하여 열 선택 정보를 설정하면, 열 선택 정보 리스트(CSINFLST)는 모드 선택 신호가 조합된 형태를 가질 수 있다.
메모리 컨트롤러(520)는 스케쥴러(522) 및 메모리 액세스 버퍼(524)를 포함할 수 있다. 스케쥴러(522)에서 동일 행 주소를 갖고 메모리 장치(510)의 상기 서브라인을 도 2b의 라인(TL)으로 간주하는 액세스들을 모아서 메모리 장치(510)에 한 번에 액세스하는 경우를 나타낸다. 예를 들어, 상기 복수의 서브라인들 각각에 대한 열 선택 정보 리스트(CSINFLST)를 메모리 장치(510)에 전달할 수 있다. 예를 들어, 상기 복수의 서브라인들 중 제1 및 제2 서브라인들은 제2 모드(mode 10)와 같이 액세스되고 제3 및 제4 서브라인들은 제3 모드(mode 11)와 같이 액세스되는 경우에, "10", "10", "11", "11"의 열 선택 정보 리스트(CSINFLST)를 메모리 장치(510)에 전달할 수 있다.
도 9는 본 발명의 실시예들에 따른 메모리 장치를 포함하는 전자 시스템을 나타내는 블록도이다.
도 9를 참조하면, 전자 시스템(600)은 메모리 장치(610) 및 시스템 온 칩(system-on-chip; SOC)(620)을 포함한다.
메모리 장치(610)는 본 발명의 실시예들에 따른 메모리 장치일 수 있다. 예를 들어, 메모리 장치(610)는 도 2a, 2b 및 2c의 메모리 장치들(100, 200, 300) 중 하나일 수 있으며, 다중 열 디코더를 포함할 수 있다. 메모리 장치(610)는 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스에 기초하여 상기 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생하고, 열 어드레스 및 열 선택 정보에 기초하여 상기 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생하고, 상기 다중 열 선택 신호에 기초하여 상기 복수의 목표 열들을 한 번에 선택하며, 상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력한다.
시스템 온 칩(620)은 버스(622), 메모리 컨트롤러(630) 및 버스 마스터(640)를 포함한다.
메모리 컨트롤러(630)는 메모리 장치(610)의 동작을 전반적으로 제어한다. 버스 마스터(640)는 버스(622) 및 메모리 컨트롤러(630)를 통해 메모리 장치(610)와 연결되며, 메모리 장치(610)에 대한 액세스를 제어한다. 메모리 장치(610)는 메인 메모리로서 사용될 수 있고, 버스 마스터(640)는 메모리 장치(610)에 제공되는 상기 행 어드레스, 상기 열 어드레스 및 상기 열 선택 정보를 발생한다.
버스 마스터(640)는 컨트롤러(650) 및 캐시 컨트롤러(660)를 포함할 수 있고, 캐시 메모리(670)를 더 포함할 수 있다. 컨트롤러(650)는 메모리 장치(610)에 대한 액세스를 전반적으로 제어할 수 있다. 캐시 컨트롤러(660)는 캐시 메모리(670)에 대한 액세스를 전반적으로 제어할 수 있다. 컨트롤러(650) 및 캐시 컨트롤러(660)의 구조 및 동작에 대해서는 도 10a 등을 참조하여 후술하도록 한다.
일 실시예에서, 버스 마스터(640)는 CPU(central processing unit), GPU(graphic processing unit) 등과 같이 시스템 온 칩(620) 내에 포함되고 메모리 장치(610)에 액세스할 수 있는 임의의 기능 장치(functional unit) 또는 IP(intellectual property)일 수 있다.
도 10a 및 10b는 도 9의 전자 시스템의 버스 마스터에 포함되는 컨트롤러의 예를 나타내는 블록도들이다.
도 10a를 참조하면, 컨트롤러(650a)는 메모리 관리 장치(memory management unit; MMU)(654a) 및 열 선택 정보 생성기(656)를 포함한다. 컨트롤러(650a)는 레지스터(658a)를 더 포함할 수 있다.
메모리 관리 장치(654a)는 가상 주소(VADDR) 및 메모리 맵핑 정보(MMINF)에 기초하여 물리 주소(PADDR)를 발생한다. 물리 주소(PADDR)는 도 9의 메모리 장치(610)에 제공되는 상기 행 어드레스 및 상기 열 어드레스를 포함할 수 있다. 메모리 관리 장치(654a)는 변환 색인 버퍼(translation lookaside buffer; TLB)(655a)를 포함할 수 있으며 페이지 테이블(652a)의 정보를 읽어서 변환 색인 버퍼(655a)에 저장하여 놓고 이용함으로써 어드레스 변환 속도를 향상시킬 수 있다. 예를 들어, 페이지 테이블(652a)은 별도의 저장 공간에 저장되어 있을 수 있다.
버스 마스터(640)는 실제 메모리 맵핑 방식과 다른 가상의 메모리 맵핑 방식을 가정하고 메모리 장치(610)에 액세스할 수 있다. 가상 메모리 맵핑을 사용하면 메모리 장치(610)에는 슈퍼 타일 방식으로 기록되어 있는 정보를 타일 방식으로 읽는 것과 같이 메모리 액세스에 자유도가 생겨 효율을 높일 수 있다. 물리 메모리 맵핑 방식과 가상 메모리 맵핑 방식이 상이하면 메모리 주소가 서로 달라서 맵핑 방식에 따라 적절한 주소 변환을 하여야 하고, 이 때 필요한 정보를 메모리 맵핑 정보(MMINF)라고 정의할 수 있다. 예를 들어, 메모리 맵핑 정보는 메모리 배정(allocation) 단계에서 결정될 수 있다.
열 선택 정보 생성기(656)는 가상 메모리 매핑 방식과 래스터 방식, 타일 방식, 회전 여부 등을 조합한 메모리 액세스 타입 정보(MAT)가 주어지면, 메모리 맵핑 정보(MMINF) 중 물리 메모리 매핑 방식에 기초하여 열 선택 정보(CSINF)를 발생할 수 있다. 메모리 액세스 타입 정보(MAT)가 않거나 유효하지 않는 경우에, 메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)에 기초하여 열 선택 정보(CSINF)를 발생할 수 있다.
레지스터(658a)는 메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)를 저장할 수 있다. 다시 말하면, 도 10a의 컨트롤러(650a)는 버스 마스터의 레지스터에 메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)를 저장하여 사용하는 경우를 나타낸다.
도 10b를 참조하면, 컨트롤러(650b)는 메모리 관리 장치(654b) 및 열 선택 정보 생성기(656b)를 포함한다.
메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)가 별도의 레지스터가 아닌 페이지 테이블(652b)에 저장되는 것을 제외하면, 도 10b의 컨트롤러(650b)는 도 10a의 컨트롤러(650a)와 실질적으로 동일할 수 있다. 다시 말하면, 도 10b의 컨트롤러(650b)는 해당 페이지 테이블에 메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)를 저장하여 사용하는 경우를 나타내며, 이 경우 레지스터(658a)는 생략될 수 있다. 메모리 맵핑 정보(MMINF) 및 디폴트 메모리 액세스 타입 정보(DMAT)는 메모리 관리 장치(654)의 변환 색인 버퍼(655b)를 통해 열 선택 정보 생성기(656)에 제공될 수 있다.
도 11a, 11b 및 11c는 도 9의 전자 시스템의 버스 마스터에 포함되는 캐시 컨트롤러의 예를 나타내는 블록도들이다.
도 11a를 참조하면, 캐시 컨트롤러(660a)는 제1 비교기(662a), 선택기(665), 제2 비교기(662b), 논리 게이트(664)를 포함할 수 있다. 함께 도시된 열 선택 정보 생성기(656) 및 페이지 테이블 엔트리(PTENT)는 도 9의 컨트롤러(650)에 포함되고 캐시 엔트리(CENT)는 도 9의 캐시 메모리(670)에 포함된다.
도 11a의 실시예에서, 캐시 컨트롤러(660a)는 메모리 액세스 타입에 따른 순서대로 오프셋을 증가시키며 캐시 엔트리(CENT)의 캐시라인에 데이터를 저장할 수 있다. 이 때, 적용된 메모리 액세스 타입은 캐시 히트 판정에 사용하기 위해 캐시 엔트리(CENT)의 보조 비트에 저장될 수 있고, 열 선택 정보 또한 라이트-백(write-back) 시에 사용하기 위해 상기 보조 비트에 저장될 수 있다. 메인 메모리(예를 들어, 도 9의 610)에 액세스하기 위해 필요한 가상 메모리 맵핑 방식에 맞춘 주소 변환 및 열 선택 정보는 도 9의 컨트롤러(650)가 생성할 수 있다.
제1 비교기(662a)는 메모리 주소(ADDR)의 태그와 캐시 엔트리(CENT)에 저장된 태그를 비교하여 제1 비교 신호(COMP1)를 발생할 수 있다. 예를 들어, 제1 비교 신호(COMP1)는 상기 메모리 주소(ADDR)의 태그가 캐시 엔트리(CENT)의 태그와 일치하는 경우에 "1"일 수 있고, 일치하지 않는 경우에 "0"일 수 있다.
메모리 주소(ADDR)는 태그, 인덱스 및 오프셋을 포함할 수 있고, 캐시 엔트리(CENT)는 태그, 캐시라인, 플래그 비트 및 보조 비트를 포함할 수 있다. 예를 들어, 메모리 주소(ADDR)는 도 10a 및 10b의 가상 주소(VADDR) 또는 물리 주소(PADDR)에 대응할 수 있다. 본 발명의 실시예에서, 캐시 엔트리(CENT)는 보조 비트를 더 포함할 수 있다. 상기 보조 비트는 메모리 액세스 타입 정보(DMAT) 및 열 선택 정보(CSINF)를 포함할 수 있다.
선택기(665)는 메모리 액세스 타입 정보(MAT)가 유효 하다면 메모리 액세스 타입 정보(DMAT)를 선택하고 유효하지 않으면 디폴트 메모리 액세스 타입 정보(DMAT)를 선택할 수 있다.
제2 비교기(662b)는 선택기(665)의 출력과 캐시 엔트리(CENT)에 저장된 보조 비트를 비교하여 제2 비교 신호(COMP2)를 발생할 수 있다. 예를 들어, 제2 비교 신호(COMP2)는 선택기에서 출력된 메모리 액세스 타입과 보조 비트에 저장된 메모리 액세스 타입이 동일한 경우에 "1"일 수 있고, 서로 다른 경우에 "0"일 수 있다.
논리 게이트(664)는 제1 비교 신호(COMP1), 제2 비교 신호(COMP2) 및 캐시 엔트리(CENT)에 저장된 플래그 비트 중 캐시라인에 유효한 데이터가 저장되어 있음을 나타내는 유효 비트(VLD)가 유효한지 여부에 기초하여 캐시 히트 결과 신호(HITR)를 발생할 수 있다. 예를 들어, 캐시 히트 결과 신호(HITR)는 제1 비교 신호(COMP1), 제2 비교 신호(COMP2) 및 유효 비트(VLD)가 모두 "1"인 경우에 캐시 히트를 나타내는 "1"일 수 있고, 그렇지 않은 경우에 캐시 미스를 나타내는 "0"일 수 있다.
종래의 캐시 컨트롤러와 비교하였을 때, 본 발명의 실시예에서는 메모리 액세스 타입 및 열 선택 정보를 포함하는 보조 비트를 사용하며, 이에 따라 캐시 컨트롤러(660a)가 선택기(665) 및 제2 비교기(662b)를 더 포함할 수 있다.
도 11b를 참조하면, 캐시 컨트롤러(660b)의 구성은 도 11a의 캐시 컨트롤러(660a)와 유사할 수 있으며, 다만, 보조 비트가 불필요함에 따라 선택기(665) 및 제2 비교기(662b)가 생략될 수 있다.
도 11b의 예에서는 캐시 메모리(670) 중 캐시라인에 대해 본 발명의 실시예들을 적용할 수 있다. 예를 들어, 열 선택 정보(CSINF)에 기초하여 캐시라인에 포함되는 캐시 열들 중 복수의 캐시 열을 선택하여 액세스 할 수 있다.
일 실시예에서, 캐시라인의 크기를 메인 메모리의 라인 크기와 같거나 그 배수가 되도록 설계할 수 있다. 이 경우, 생성된 열 선택 정보(CSINF)에 따라 메인 메모리(610)와 같은 방식으로 캐시라인 중 다중의 캐시 열들을 선택적으로 액세스할 수 있다. 메모리 액세스 타입과 열 선택 정보(CSINF)는 캐시라인에 액세스할 당시에 적용되므로, 향후 사용을 위해 저장할 필요가 없고 따라서 보조 비트가 필요 없게 된다.
도 11c를 참조하면, 캐시 컨트롤러(660c)의 구성은 도 11b의 캐시 컨트롤러(660b)와 유사할 수 있으며, 다만, 분배기(667)를 더 포함할 수 있다.
분배기(667)는 열 선택 정보 생성기(656)에서 출력되는 열 선택 정보(CSINF)를 분배하고 이에 맞추어 선택한 열들 중 하나와 일치하도록 오프셋을 증감하여 캐시 메모리(670)에 공급할 수 있다. 분배기(667)에서 출력되는 상기 분배된 열 선택 정보에 기초하여 캐시 메모리(670)에 포함되는 상기 복수의 캐시 열들 중 상기 복수의 목표 캐시 열들을 선택할 수 있다.
도 11c의 예에서는 메인 메모리의 라인 크기가 캐시라인 크기의 배수가 되는 경우를 나타내며, 열 선택 정보(CSINF)를 분배기(667)에서 배수에 맞추어 균등하게 나누어 캐시 메모리(670)에 순차적으로 공급하면서 캐시라인에 여러 번 나누어 액세스할 수 있다.
본 발명은 메모리 장치를 포함하는 다양한 장치 및 시스템에 적용될 수 있다. 따라서 본 발명은 휴대폰, 스마트 폰, PDA, PMP, 디지털 카메라, 캠코더, PC, 서버 컴퓨터, 워크스테이션, 노트북, 디지털 TV, 셋-탑 박스, 음악 재생기, 휴대용 게임 콘솔, 네비게이션 기기, 웨어러블 기기, IoT 기기, VR 기기, AR 기기, 인공지능 기기 등과 같은 다양한 전자 기기에 유용하게 이용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (21)

  1. 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    행 어드레스에 기초하여, 상기 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생하는 행 디코더;
    열 어드레스 및 열 선택 정보에 기초하여, 상기 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생하는 다중 열 디코더;
    상기 다중 열 선택 신호에 기초하여 상기 복수의 목표 열들을 한 번에 선택하는 게이팅 회로; 및
    상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여, 상기 게이팅 회로를 통해 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력하는 입출력 데이터 구동 회로를 포함하고,
    상기 목표 행에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않은 메모리 장치.
  2. 제 1 항에 있어서,
    상기 열 어드레스에 기초하여, 상기 목표 행에 포함되고 두 개 이상의 열들을 각각 포함하는 복수의 라인들 중 하나의 목표 라인을 선택하기 위한 라인 선택 신호를 발생하는 라인 디코더; 및
    상기 라인 선택 신호에 기초하여 상기 하나의 목표 라인을 선택하는 제2 게이팅 회로를 더 포함하고,
    상기 복수의 목표 열들은 상기 하나의 목표 라인에 포함되는 것을 특징으로 하는 메모리 장치.
  3. 제 1 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식 또는 2의 거듭제곱 개수의 타일을 이어 붙인 슈퍼 타일 방식으로 맵핑된 데이터인 것을 특징으로 하는 메모리 장치.
  4. 제 1 항에 있어서,
    상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고,
    상기 목표 행에 포함되는 상기 복수의 목표 열들의 가능한 조합을 상기 열 선택 모드에 대응시키는 것을 특징으로 하는 메모리 장치.
  5. 제 1 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터이고,
    상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정되며,
    상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 연결한 가상 선을 기준으로 동일 사이드에 상기 목표 열들이 대응되는 것을 특징으로 하는 메모리 장치.
  6. 제 1 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터이고,
    상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정되며,
    상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 대각선 꼭지점으로 갖는 가상의 사각형 내에 상기 목표 열들이 대응되는 것을 특징으로 하는 메모리 장치.
  7. 제 1 항에 있어서,
    상기 열 선택 정보는 상기 복수의 목표 열들에 대한 정보를 직접적으로 포함하는 열 선택 리스트의 형태로 제공되는 것을 특징으로 하는 메모리 장치.
  8. 제 1 항에 있어서,
    상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고, 모드 선택 신호가 조합된 열 선택 정보 리스트의 형태로 제공되는 것을 특징으로 하는 메모리 장치.
  9. 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스에 기초하여 상기 복수의 행들 중 목표 행을 선택하며, 열 어드레스에 기초하여 상기 목표 행에 포함되고 두 개 이상의 열들을 각각 포함하는 복수의 라인들 중 목표 라인을 선택하는 제1 메모리 장치;
    상기 열 어드레스 및 열 선택 정보에 기초하여, 상기 목표 라인에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생하는 다중 열 디코더;
    상기 다중 열 선택 신호에 기초하여 상기 목표 라인 내의 상기 복수의 목표 열들을 한 번에 선택하는 게이팅 회로; 및
    상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여, 상기 게이팅 회로를 통해 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력하는 입출력 데이터 구동 회로를 포함하고,
    상기 목표 라인에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않으며,
    상기 입출력 데이터 구동 회로는 상기 데이터 마스크 신호 및 상기 다중 열 선택 신호에 기초하여 증강된 데이터 마스크 신호를 발생하고,
    상기 제1 메모리 장치는 상기 증강된 데이터 마스크 신호에 기초하여, 상기 목표 라인 내의 상기 복수의 목표 열들을 제외한 선택되지 않은 열에 상기 입력 데이터의 기입을 방지하는 메모리 장치.
  10. 제 9 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식 또는 2의 거듭제곱 개수의 타일을 이어 붙인 슈퍼 타일 방식으로 맵핑된 데이터인 것을 특징으로 하는 메모리 장치.
  11. 제 9 항에 있어서,
    상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고,
    상기 목표 행에 포함되는 상기 복수의 목표 열들의 가능한 조합을 상기 열 선택 모드에 대응시키는 것을 특징으로 하는 메모리 장치.
  12. 제 9 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터이고,
    상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정되며,
    상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 연결한 가상 선을 기준으로 동일 사이드에 상기 목표 열들이 대응되는 것을 특징으로 하는 메모리 장치.
  13. 제 9 항에 있어서,
    상기 목표 행에 저장된 데이터는 타일 방식으로 맵핑된 배열 데이터이고,
    상기 열 선택 정보는 열 선택 파라미터에 기초하여 설정되며,
    상기 열 선택 파라미터는 하나의 타일 내에 포함되는 두 개의 원소 데이터들에 대한 타일 내 위치 정보를 포함하고, 상기 두 개의 원소 데이터 위치를 대각선 꼭지점으로 갖는 가상의 사각형 내에 상기 목표 열들이 대응되는 것을 특징으로 하는 메모리 장치.
  14. 제 9 항에 있어서,
    상기 열 선택 정보는 상기 복수의 목표 열들에 대한 정보를 직접적으로 포함하는 열 선택 리스트의 형태로 제공되는 것을 특징으로 하는 메모리 장치.
  15. 제 9 항에 있어서,
    상기 열 선택 정보는 미리 정의된 열 선택 모드에 기초하여 설정되고, 모드 선택 신호가 조합된 열 선택 정보 리스트의 형태로 제공되는 것을 특징으로 하는 메모리 장치.
  16. 복수의 행들 및 복수의 열들을 형성하도록 배열되는 복수의 메모리 셀들을 포함하고, 행 어드레스에 기초하여 상기 복수의 행들 중 목표 행을 선택하기 위한 행 선택 신호를 발생하고, 열 어드레스 및 열 선택 정보에 기초하여 상기 목표 행에 포함되는 열들 중 복수의 목표 열들을 한 번에 선택하기 위한 다중 열 선택 신호를 발생하고, 상기 다중 열 선택 신호에 기초하여 상기 복수의 목표 열들을 한 번에 선택하며, 상기 다중 열 선택 신호 및 데이터 마스크 신호에 기초하여 상기 복수의 목표 열들에 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 열들에 저장된 데이터를 한 번에 출력 데이터로서 출력하고,
    상기 목표 행에 포함되는 상기 복수의 목표 열들에 대응하는 상기 열 어드레스는 연속적이지 않은 메모리 장치; 및
    버스를 통해 상기 메모리 장치와 연결되고, 상기 메모리 장치에 제공되는 상기 행 어드레스, 상기 열 어드레스 및 상기 열 선택 정보를 발생하는 버스 마스터를 포함하며,
    상기 버스 마스터는,
    가상 주소 및 메모리 맵핑 정보에 기초하여, 물리 주소에 대응하는 상기 행 어드레스 및 상기 열 어드레스를 발생하는 메모리 관리 장치; 및
    상기 메모리 맵핑 정보, 메모리 액세스 타입 정보 및 디폴트 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생하는 열 선택 정보 생성기를 포함하는 컨트롤러를 포함하는 전자 시스템.
  17. 제 16 항에 있어서,
    상기 메모리 맵핑 정보 및 상기 디폴트 메모리 액세스 타입 정보는 별도의 레지스터에 저장되거나 페이지 테이블에 저장되는 것을 특징으로 하는 전자 시스템.
  18. 제 16 항에 있어서, 상기 열 선택 정보 생성기는,
    상기 메모리 액세스 타입 정보가 유효한 경우에, 상기 메모리 맵핑 정보 및 상기 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생하며,
    상기 메모리 액세스 타입 정보가 유효하지 않은 경우에, 상기 메모리 맵핑 정보 및 상기 디폴트 메모리 액세스 타입 정보에 기초하여 상기 열 선택 정보를 발생하는 것을 특징으로 하는 전자 시스템.
  19. 제 16 항에 있어서, 상기 버스 마스터는,
    상기 가상 주소 또는 상기 물리 주소의 태그와 캐시 엔트리에 저장된 태그를 비교하여 제1 비교 신호를 발생하는 제1 비교기;
    상기 메모리 액세스 타입 정보 및 상기 디폴트 메모리 액세스 타입 정보 중 하나를 선택하는 선택기;
    상기 선택기의 출력과 상기 캐시 엔트리의 보조 비트에 저장된 메모리 액세스 타입 정보를 비교하여 제2 비교 신호를 발생하는 제2 비교기;
    상기 제1 비교 신호, 상기 제2 비교 신호 및 상기 캐시 엔트리에 저장된 플래그 비트 중 유효 비트가 유효한지 여부에 기초하여 캐시 히트 결과 신호를 발생하는 논리 게이트;
    상기 메모리 액세스 타입에 따른 순서대로 오프셋을 증가시키며 상기 캐시 엔트리의 캐시라인에 데이터를 저장하고, 상기 메모리 액세스 타입과 상기 열 선택 정보를 상기 캐시 엔트리의 보조 비트에 저장하는 캐시 컨트롤러; 및
    상기 캐시 컨트롤러에 의해 제어되고 상기 캐시 엔트리에 보조 비트를 포함하는 캐시 메모리를 더 포함하는 것을 특징으로 하는 전자 시스템.
  20. 제 16 항에 있어서, 상기 버스 마스터는,
    상기 열 선택 정보에 기초하여 캐시라인의 복수의 캐시 열들 중 복수의 목표 캐시 열들을 한 번에 액세스하는 캐시 컨트롤러; 및
    상기 캐시 컨트롤러에 의해 제어되며 상기 복수의 목표 캐시 열들에 상기 입력 데이터를 한 번에 기입하거나 상기 복수의 목표 캐시 열들에 저장된 데이터를 한 번에 상기 출력 데이터로서 출력하는 캐시 메모리를 더 포함하는 것을 특징으로 하는 전자 시스템.
  21. 제 20 항에 있어서,
    상기 캐시 컨트롤러는 상기 열 선택 정보를 분배하는 분배기를 더 포함하며,
    상기 분배기에서 출력되는 상기 분배된 열 선택 정보에 기초하여 상기 캐시라인에 포함되는 상기 복수의 캐시 열들 중 상기 복수의 목표 캐시 열들을 한 번에 액세스하는 것을 특징으로 하는 전자 시스템.
PCT/KR2018/004850 2017-04-27 2018-04-26 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템 WO2018199646A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020170054680A KR101801901B1 (ko) 2017-04-27 2017-04-27 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
KR10-2017-0054680 2017-04-27
US15/851,775 US10691608B2 (en) 2017-04-27 2017-12-22 Memory device accessed in consideration of data locality and electronic system including the same
US15/851,775 2017-12-22

Publications (1)

Publication Number Publication Date
WO2018199646A1 true WO2018199646A1 (ko) 2018-11-01

Family

ID=60810811

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/004850 WO2018199646A1 (ko) 2017-04-27 2018-04-26 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템

Country Status (3)

Country Link
US (1) US10691608B2 (ko)
KR (1) KR101801901B1 (ko)
WO (1) WO2018199646A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417136B2 (en) * 2017-12-21 2019-09-17 Northrop Grumman Systems Corporation Write-through detection for a memory circuit with an analog bypass portion
US10447278B1 (en) 2018-07-17 2019-10-15 Northrop Grumman Systems Corporation JTL-based superconducting logic arrays and FPGAs
US10818346B2 (en) 2018-09-17 2020-10-27 Northrop Grumman Systems Corporation Quantizing loop memory cell system
US11024791B1 (en) 2020-01-27 2021-06-01 Northrop Grumman Systems Corporation Magnetically stabilized magnetic Josephson junction memory cell

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040048051A (ko) * 2002-12-02 2004-06-07 주식회사 넥서스칩스 범위선택 가능한 어드레스 디코더와 이를 이용한 고속그래픽 처리용 프레임 메모리 장치
KR20090065504A (ko) * 2006-12-25 2009-06-22 파나소닉 주식회사 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법
JP2013089276A (ja) * 2011-10-21 2013-05-13 Renesas Electronics Corp 半導体記憶装置
KR20160007609A (ko) * 2013-05-16 2016-01-20 피에스4 뤽스코 에스.에이.알.엘. 반도체 장치
KR20160020533A (ko) * 2013-06-17 2016-02-23 마이크론 테크놀로지, 인크. 메모리 타일의 액세스 및 선택 패턴

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280428B2 (en) * 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US7729191B2 (en) * 2007-09-06 2010-06-01 Micron Technology, Inc. Memory device command decoding system and memory device and processor-based system using same
JP5752686B2 (ja) * 2009-08-20 2015-07-22 ラムバス・インコーポレーテッド 原子メモリ装置
JP2018156715A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 半導体記憶装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040048051A (ko) * 2002-12-02 2004-06-07 주식회사 넥서스칩스 범위선택 가능한 어드레스 디코더와 이를 이용한 고속그래픽 처리용 프레임 메모리 장치
KR20090065504A (ko) * 2006-12-25 2009-06-22 파나소닉 주식회사 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법
JP2013089276A (ja) * 2011-10-21 2013-05-13 Renesas Electronics Corp 半導体記憶装置
KR20160007609A (ko) * 2013-05-16 2016-01-20 피에스4 뤽스코 에스.에이.알.엘. 반도체 장치
KR20160020533A (ko) * 2013-06-17 2016-02-23 마이크론 테크놀로지, 인크. 메모리 타일의 액세스 및 선택 패턴

Also Published As

Publication number Publication date
US20180314640A1 (en) 2018-11-01
KR101801901B1 (ko) 2017-11-27
US10691608B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
WO2018199646A1 (ko) 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
WO2017196132A1 (en) Cache self-clean engine
TWI390400B (zh) 繪圖處理子系統
US5317747A (en) Multiprocessor system and interruption control device for controlling interruption requests between processors and peripheral devices in the multiprocessor system
EP0144763B1 (en) Address translation apparatus for a virtual memory data processing system
JP3666689B2 (ja) 仮想アドレス変換方法
JPH0594698A (ja) 半導体記憶装置
US20050146943A1 (en) Memory module and method having on-board data search capabilities and processor-based system using such memory modules
WO2012109879A1 (zh) 多节点系统中数据缓存的方法、装置及系统
WO2013000400A1 (zh) 分支处理方法与系统
US7440500B2 (en) Supporting motion vectors outside picture boundaries in motion estimation process
WO2014185652A1 (ko) 쓰기 트래픽이 적은 캐시 메모리 블록 교체 방법 및 이를 이용한 캐시 서브시스템을 가지는 정보 처리 장치
US10222991B2 (en) Memory updating in a dual-ported internal memory with concurrent transfer and retrieval
WO2018079931A1 (ko) 자기 저항 메모리 모듈 및 이를 포함하는 컴퓨팅 디바이스
US5467460A (en) M&A for minimizing data transfer to main memory from a writeback cache during a cache miss
US6928516B2 (en) Image data processing system and method with image data organization into tile cache memory
CN107408076B (zh) 数据处理装置
WO2015024532A1 (zh) 高性能指令缓存系统和方法
WO2014106966A1 (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
WO2015016615A1 (ko) 프로세서 및 메모리 제어 방법
JP2008262390A (ja) プログラム
JPH10162157A (ja) グラフィックコントローラ
CA1309181C (en) High availability cache memory
WO2015115820A1 (en) Electronic device, and method for accessing data in electronic device
JP4918535B2 (ja) キャッシュメモリ、キャッシュメモリ装置及び割当て方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18791166

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18791166

Country of ref document: EP

Kind code of ref document: A1