US20180196756A1 - Address mapping method of memory system - Google Patents
Address mapping method of memory system Download PDFInfo
- Publication number
- US20180196756A1 US20180196756A1 US15/664,259 US201715664259A US2018196756A1 US 20180196756 A1 US20180196756 A1 US 20180196756A1 US 201715664259 A US201715664259 A US 201715664259A US 2018196756 A1 US2018196756 A1 US 2018196756A1
- Authority
- US
- United States
- Prior art keywords
- memory
- address
- memory cells
- physical address
- allocating
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Definitions
- Exemplary embodiments of the present invention relate to a semiconductor design technology and, more particularly, to an address mapping method of a memory system.
- a next-generation memory device which is under extensive development at the present time is a resistive memory device which uses a material whose resistance may, in response to a bias applied thereto, switch between at least two different resistance states. Such materials are called variable resistance materials.
- resistive memory devices may include resistive random-access memory (RRAM), phase-change random access memory (PCRAM), magnetoresistive random access memory (MRAM) and ferroelectric random-access memory (FRAM or FeRAM).
- a resistive memory device may configure a memory cell array to have a cross-point array structure in which a plurality of lower electrodes (e.g., a plurality of row lines (or word lines)) and a plurality of upper electrodes (e.g., a plurality of column lines (or bit lines)) cross over each other and memory cells are disposed at the intersections of the plurality of lower electrodes and the plurality of upper electrodes, respectively.
- Each of the memory cells may have a variable resistance element and a selection element coupled in series thereto.
- a resistive memory device may be subject to a drift phenomenon in which data is lost when the resistance value of data written in a memory cell changes over time after the data is written in the memory cell. Accordingly, the resistive memory device needs to secure the time that the resistance level of a memory cell reaches to enter a target window after data is written in the memory cell. In other words, the resistive memory device needs to secure a data recovery time.
- an access time for a target memory cell is influenced by the data recovery time. More specifically, if the column addresses of memory cells having the same row address are increased one by one or the row addresses of memory cells having the same column address are increased one by one in an incremental address decoding scheme, it is necessary to secure the data recovery time of a previously accessed memory cell whenever each memory cell is accessed. Accordingly, the time that is taken for an operation of accessing a memory cell is increased.
- Various embodiments are directed to a memory system capable of mapping the addresses of memory cells in a cube unit.
- an address mapping method of a memory system may include Disclosed is an address mapping method of a memory system.
- the address mapping method may include grouping adjacent memory cells into multiple cubes, from a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines; allocating most significant bit (MSB) N bits of a physical address for identifying the cubes; allocating least significant bit (LSB) M bits of the physical address for designating locations of memory cells included in each of the cubes, M and N being positive integers; storing information about a mapping between a logical address and the (M+N)-bit physical address in a mapping table; and when the logical address in response to an external request is received, translating the logical address to the physical address based on the mapping table.
- MSB most significant bit
- LSB least significant bit
- a memory system may include a controller suitable for translating a logical address to an (M+N)-bit physical address based on mapping information, M and N being positive integers; and a memory device including a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines, suitable for performing a read/write operation on memory cells corresponding to the physical address, wherein the controller comprises: an address mapping module suitable for grouping adjacent memory cells from the plurality of memory cells into multiple cubes, allocating most significant bit (MSB) N bits of the physical address for identifying the cubes, and allocating least significant bit (LSB) M bits of the physical address for designating locations of memory cells included in each cube; and a mapping table suitable for storing the mapping information between the logical address and the physical address.
- MSB most significant bit
- LSB least significant bit
- a memory system may include a controller suitable for translating a logical address to a first physical address; and a memory device including a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines, suitable for remapping the first physical address to a second physical address based on mapping information, and performing a read/write operation on memory cells among the plurality of memory cells corresponding to the second physical address, wherein the memory device comprises: an address mapping module suitable for grouping adjacent memory cells from the plurality of memory cells into multiple cubes, allocating most significant bit (MSB) N bits of the second physical address for identifying the cubes, and allocating least significant bit (LSB) M bits of the second physical address for designating locations of memory cells included in each cube; and a mapping table suitable for storing the mapping information between the first logical address and the second physical address.
- MSB most significant bit
- LSB least significant bit
- FIG. 1 is a diagram schematically showing a memory cell array of a phase-change random access memory (PCRAM) device.
- PCRAM phase-change random access memory
- FIG. 2 is a diagram showing a memory cell array of a phase-change random access memory (PCRAM) device having a three-dimensional (3D) structure in accordance with an embodiment of the present invention.
- PCRAM phase-change random access memory
- FIG. 3 is a diagram illustrating an example in which the same word line or bit line is consecutively accessed in a memory cell array of FIG. 2 .
- FIG. 4 is a block diagram illustrating a data processing system including a memory system in accordance with an embodiment of the present invention.
- FIG. 5 is a diagram illustrating a first mapping operation of an address mapping module shown in FIG. 4 .
- FIGS. 6A and 6B are a diagram and table illustrating a second mapping operation of an address mapping module shown in FIG. 4 .
- FIG. 7 is a flowchart illustrating an address mapping method in accordance with an embodiment of the present invention.
- FIG. 8 is a block diagram illustrating a memory device in accordance with an embodiment of the present invention.
- a PCRAM will be described as an example. It is noted that the present invention may be applied to all non-volatile memory devices which employ a resistive material, such as, for example, a resistive RAM (RRAM) and a ferroelectric RAM (FRAM).
- RRAM resistive RAM
- FRAM ferroelectric RAM
- FIG. 1 is a diagram schematically showing a memory cell array of a phase-change random access memory (PCRAM) device.
- PCRAM phase-change random access memory
- the memory cell array may include a plurality of memory cell regions.
- the memory cell region indicative of a set of memory cells may be defined in various manners.
- FIG. 1 shows memory cells included in one memory block BLK.
- a single block BLK may include a plurality of pages in each of which memory cells MC coupled to the same word line are defined.
- the block BLK may include a plurality of the memory cells MC respectively located at the intersections of a plurality of word lines WL 0 to WLn and a plurality of bit lines BL 0 to BLm.
- Each of the plurality of memory cells MC may include a resistive memory element R and a selection element D.
- the resistive memory element R may also be called a variable resistance element or a variable resistance material.
- the selection element D may also be called a switching element.
- the resistive memory element R may have a low resistance state corresponding to a set state, or a high resistance state corresponding to a reset state, depending on data stored therein.
- the resistive memory element R may be a phase-change memory element.
- the resistive memory element R may have a low resistance value if it is a crystalline state, and may have a high resistance value if it is an amorphous state.
- the phase of such a phase-change material may be changed by Joule heating. The amount of heat generated depends on the amount of current. Furthermore, data may be written using such a phase change.
- FIG. 2 is a diagram showing a memory cell array of a phase-change random access memory (PCRAM) device having a three-dimensional (3D) structure in accordance with an embodiment of the present invention.
- PCRAM phase-change random access memory
- one block BLK of the memory cell array may include a cross-point array, including a plurality of first conductive lines (i.e., a plurality of row lines (or word lines WL)), a plurality of second conductive lines (i.e., a plurality of column lines (or bit lines BL)), and a plurality of memory cells MC.
- Each of the plurality of first conductive lines is extended in a first direction (i.e., an X direction).
- the plurality of first conductive lines are arranged in a second direction (i.e., a Y direction) at a regular interval.
- the plurality of first conductive lines are stacked in a third direction (i.e., a Z direction) at a regular interval.
- the regular intervals in the second and third directions may be the same or different.
- the interval between two consecutive word lines WL stacked in the Z direction may be smaller than the interval between two consecutive word lines WL in the Y direction and may be defined by the vertical (e.g., the Z direction) height of the bit lines.
- Each of the plurality of second conductive lines is extended in the Y direction between word lines adjacent in the Z direction and are arranged in the X direction at a regular interval.
- the regular interval in the X direction at which the plurality of bit lines are arranged may be the same or different to the regular interval at which the word lines are arranged in the Y direction.
- Each of the plurality of memory cells MC is located at the intersections of the plurality of word lines WL and the plurality of bit lines BL.
- the X, Y and Z directions may be orthogonal to each other.
- the plurality of word lines WL may have a 3D structure in which they are stacked in the Z direction. That is, two word lines WL may be stacked in the Z direction to form a pair and a plurality of the bit lines BL may be arranged in the X direction between a pair of adjacent word lines in the Z direction.
- a pair of word lines WL that is, two word lines WL
- FIG. 2 a pair of word lines WL, that is, two word lines WL, have been illustrated as being stacked in the Z direction, but the present invention is not limited thereto.
- two or more pairs of word lines WL may be stacked in the Z direction with a plurality of bit lines BL arranged in the X direction between each pair of the word lines WL.
- FIG. 3 is a diagram illustrating an example in which the same word line WL or bit line BL is consecutively accessed in a memory cell array in accordance with an embodiment of the present invention, for example, the memory cell array of FIG. 2 .
- an access time for a target memory cell is influenced by a data recovery time. For example, if a fourth memory cell MC 4 coupled to the same word line (i.e., a second word line WL 01 ) is accessed after a third memory cell MC 3 located at the intersection of the second word line WL 01 and a first bit line BL 0 is accessed, the access to the fourth memory cell MC 4 may be performed after a data recovery time from the access to the third memory cell MC 3 passes.
- the access to the first memory cell MC 1 or the seventh memory cell MC 7 may be performed after a data recovery time from the access to the first memory cell MC 1 passes.
- the time required for an operation of accessing a memory cell is increased because the data recovery time of a previously accessed memory cell needs to be secured whenever each memory cell is accessed.
- FIG. 4 is a block diagram illustrating a data processing system 1000 including a memory system 1200 in accordance with an embodiment of the present invention.
- the data processing system 1000 may include a host 1100 and the memory system 1200 .
- the host 1100 may execute various computing functions, such as performing specific calculation and/or tasks, or may execute various application programs, such as an operating system (OS) and/or applications. Although not shown, the host 1100 may be implemented to include a processor, a main memory, a bus and so on.
- OS operating system
- the host 1100 may be implemented to include a processor, a main memory, a bus and so on.
- the memory system 1200 may perform a program, a read or an erase operation according to a request REQ from the host 1100 .
- the memory system 1200 may be used as the main storage device or auxiliary storage device of the host 1100 .
- the memory system 1200 may include a controller 100 and a memory device 200 .
- the memory device 200 may include at least one phase-change random access memory (PCRAM).
- the PCRAM may include a memory cell array 210 including a plurality of memory cells (not shown) respectively located at the intersections of a plurality of word lines (not shown) and a plurality of bit lines (not shown).
- the memory cell array 210 may be a memory cell array having the 3D structure as shown in FIG. 2 .
- the memory device 200 may select a memory cell in which data is to be written by selecting one of a plurality of word lines and one of a plurality of bit lines based on a physical address PA transferred by the controller 100 .
- the controller 100 may control an overall operation of the memory device 200 in response to a request REQ from the host 1100 .
- the controller 100 may write data DATA received from the host 1100 in a memory cell of the memory device 200 corresponding to a logical address LA in response to a command HCMD from the host 1100 .
- the controller 100 may read data requested by the host 1100 from a memory cell of the memory device 200 corresponding to a logical address LA and send the read data DATA to the host 1100 , in response to a command HCMD from the host 1100 .
- the controller 100 may generate a physical address PA and a command CMD for controlling the memory device 200 based on the command HCMD and logical address LA received from the host 1100 . That is, the controller 100 may translate the logical address LA, transferred by the host 1100 , into the physical address PA, and may provide the translated physical address PA to the memory device 200 .
- the physical address PA may include information Indicative of a physical location of the memory cell array 210 in which data is to be written. Accordingly, the controller 100 may control the program, read or erase operation of the memory device 200 by providing a physical address PA and a command CMD to the memory device 200 .
- data DATA for a program operation and read data DATA may be transmitted/received between the controller 100 and the memory device 200 or between the controller 100 and the host 1100 .
- the controller 100 may include a host interface (I/F) 110 , a processor 120 , a memory 130 , a memory interface (I/F) 140 and a bus 150 .
- I/F host interface
- processor 120 a processor 120
- memory 130 a memory interface
- I/F memory interface
- the host I/F 110 may perform interfacing between the host 1100 and the controller 100 , and may be configured to communicate with the host 1100 through at least one of various interface protocols, such as a universal serial bus (USB), a multi-media card (MMC), peripheral component interconnect express (PCI-e), a serial-attached SCSI (SAS), serial advanced technology attachment (SATA), parallel advanced technology attachment (PATA), a small computer system interface (SCSI), an enhanced small disk interface (ESDI) and integrated drive electronics (IDE).
- USB universal serial bus
- MMC multi-media card
- PCI-e peripheral component interconnect express
- SAS serial-attached SCSI
- SAS serial advanced technology attachment
- PATA parallel advanced technology attachment
- SCSI small computer system interface
- ESDI enhanced small disk interface
- IDE integrated drive electronics
- the processor 120 may control an operation of the memory system 1200 , including for example, at least one of a program, read or erase operation of the memory device 200 in response to a request REQ received from the host 1100 .
- the processor 120 may be implemented using a microprocessor or a central processing unit (CPU).
- the processor 120 may include an address mapping module 122 configured to receive a logical address LA from the host 1100 and to map the logical address LA to a physical address PA of (M+N) bits (where M and N are positive integers) based on mapping information.
- the address mapping module 122 may group adjacent memory cells into a cube unit, may allocate most significant bit (MSB) N bits of a physical address PA so as to identify the grouped cubes, and may allocate least significant bit (LSB) M bits of the physical address PA so as to designate the locations of memory cells included in each cube.
- the number of memory cells within one cube may be smaller than or equal to 2 M .
- a number obtained by dividing a total number of memory cells by the number X of memory cells within one cube may be smaller than or equal to 2 N .
- M may be a positive integer greater than or equal to 3.
- the memory 130 may be the operation memory of the memory system 1200 and the controller 100 and may store data for the driving of the memory system 1200 and the controller 100 . That is, the memory 130 may store data necessary to perform an operation, such as a data write operation or a data read operation, between the host 1100 and the memory device 200 .
- the memory 130 may include a program memory, a data memory, a write buffer and a read buffer in order to store such data.
- the memory 130 may be implemented using a volatile memory, such as a static random access memory (SRAM) or a dynamic random access memory (DRAM).
- SRAM static random access memory
- DRAM dynamic random access memory
- the memory 130 may include an address mapping table (AMT) 132 configured to store information about the mapping between a logical address LA provided by the host 1100 and a physical address PA provided to the memory device 200 .
- the mapping information of the AMT 132 may be stored in a specific region (e.g., a meta region) of the memory cell array 210 of the memory device 200 .
- mapping information stored in the memory cell array 210 may be loaded onto the AMT 132 .
- the memory I/F 140 may perform interfacing between the controller 100 and the memory device 200 in order for the controller 100 to control the memory device 200 in response to a request REQ received from the host 1100 .
- the host I/F 110 , the processor 120 , the memory 130 and the memory I/F 140 may be operatively couple to exchange data and control signals through a bus 150 .
- controller 1100 may be implemented to further include an error correction code (ECC) module and/or a power management module.
- ECC error correction code
- FIG. 5 is a diagram illustrating a first mapping operation of an address mapping module in accordance with an embodiment of the present invention, for example, the first mapping operation of the address mapping module 122 of FIG. 4 .
- a plurality of memory cells MC may be respectively located at the intersections between a plurality of word lines (not shown) and a plurality of bit lines (not shown).
- the plurality of word lines is extended in the X direction, arranged in the Y direction and stacked in the Z direction.
- the plurality of bit lines is extended in the Y direction and arranged in the X direction between word lines adjacent in the Z direction.
- the address mapping module 122 may perform a first mapping operation for grouping memory cells adjacent to each other into a cube unit, from the plurality of memory cells MC, and for allocating MSB N bits of a physical address so that the cubes are identified.
- the address mapping module 122 may group memory cells MC that are physically adjacent to each other into one cube.
- Each of the memory cells MC may be located at the vertex of a corresponding cube.
- the address mapping module 122 may group some memory cells that belong to the memory cells MC and that are coupled to two bit lines adjacent in the X direction into one cube. More specifically, the address mapping module 122 may group eight memory cells MC, located at the intersections of two bit lines adjacent in the X direction and four word lines adjacent in the Y direction or the Z direction, into one cube.
- a number obtained by dividing a total number of memory cells by the number of memory cells within one cube may be smaller than or equal to 2 N .
- N may be determined to be 7.
- N may be determined to be 8.
- the address mapping module 122 may group adjacent memory cells into a cube unit, and may allocate MSB N bits of a physical address so that the cubes are identified. For example, as shown in FIG. 5 , if the number of memory cells within one cube is 8 and N is 7, MSB N bits of a physical address may be allocated to 128 cubes, each of which has any one value among values ranging from “00000000” to “1111111.”
- FIGS. 6A and 6B are a diagram and table illustrating a second mapping operation of an address mapping module in accordance with an embodiment of the present invention, for example, the second mapping operation of the address mapping module 122 of FIG. 4 , respectively.
- FIG. 6A illustrates memory cells included in one cube. If eight memory cells are grouped into one cube, the address mapping module 122 may perform the second mapping operation for allocating LSB 3 bits of a physical address so that memory cells located at the vertexes of one cube are designated to have any one value among values ranging from a value “000” to a value “111.”
- the address mapping module 122 may repeatedly perform a process of allocating an initial bit value of “000” to a specific memory cell of the one cube and allocating a bit value of “001” that has been increased by one bit from the initial bit value to a memory cell not coupled to the same word line or bit line as the specific memory cell. That is, the address mapping module 122 may allocate the bit value of “001” to a memory cell that does not share the same word line or bit line as the specific memory cell.
- the address mapping module 122 may allocate an initial bit value of “000” to a first memory cell MC 1 disposed at the intersection of a first word line WL 00 and a first bit line BL 0 .
- the address mapping module 122 may allocate a bit value of “001”, increased by one bit from the initial bit value, to a memory cell (e.g., a sixth memory cell MC 6 ) not coupled to the same word line (i.e., the first word line WL 00 ) or bit line (i.e., the first bit line BL 0 ) as the first memory cell MC 1 .
- the address mapping module 122 may allocate a bit value of “010”, increased by one bit from the bit value of “001”, to a memory cell (e.g., a seventh memory cell MC 7 ) not coupled to the same word line (i.e., a third word line WL 10 ) or bit line (i.e., a second bit line BL 1 ) as the sixth memory cell MC 6 .
- the address mapping module 122 may allocate the LSB 3 bits of the physical address that increase from the value “000” to the value “111” to the first to eighth memory cells MC 1 to MC 8 of each cube, respectively, by repeating the above process as shown in the table of FIG. 6B .
- FIG. 7 is a flowchart illustrating an address mapping method in accordance with an embodiment of the present invention.
- the controller 100 of the memory system 1200 of FIG. 4 may perform an address mapping operation, at step S 710 .
- the address mapping module 122 of the controller 100 may perform the first mapping operation for grouping adjacent memory cells into a cube unit from a plurality of memory cells respectively located at the intersections of a plurality of word lines WL and a plurality of bit lines BL, and for allocating MSB N bits of a physical address PA so that the cubes are identified, at step S 720 .
- Contents related to the first mapping operation have been described with reference to FIG. 5 , and thus a detailed description thereof is omitted.
- the address mapping module 122 may perform the second mapping operation for allocating LSB M bits of the physical address PA so that the locations of memory cells included in each cube are designated, at step S 730 .
- allocating an initial bit value to a specific memory cell of each cube at step S 732 , and allocating a bit value increased by one bit to a memory cell not coupled to the same word line or bit line as a current memory cell at step S 734 may be repeated until the entire physical address is allocated to the last memory cell within a corresponding cube, at step S 736 .
- the second mapping operation has been described with reference to FIGS. 6A and 6B , and thus a detailed description thereof is herein omitted.
- the address mapping module 122 may store information about the mapping of the logical address LA and the (M+N)-bit physical address PA in the AMT 132 , at step S 740 .
- the controller 100 may map the logical address LA, received from the host 1100 , to the physical address PA based on the mapping information stored in the AMT 132 , and may provide the mapped physical address PA to the memory device 200 , at step S 760 .
- the memory device 200 may perform an operation such as a read or write operation according to the request REQ of the host 1100 on memory cells corresponding to the physical address PA.
- memory cells are grouped in cube units, and MSBs of a physical address are allocated so that the cubes are identified. Furthermore, LSBs of the physical address that are sequentially increased are allocated to memory cells not coupled to the same word line or bit line within each cube. That is, it is not necessary to secure the data recovery time of a previously accessed memory cell in the incremental address decoding scheme because addresses are mapped so that the same word line or the same bit line is not consecutively accessed. Accordingly, the time that is required for accessing a memory cell can be reduced substantially.
- the address mapping operation has been illustrated as being performed on the controller side.
- the address mapping operation may be performed on the memory device side.
- the controller may map a logical address to a first physical address in response to a request from the host as in a conventional technology.
- the memory device may receive the first physical address, and may remap the first physical address to a second physical address based on mapping information obtained by performing the first mapping operation and second mapping operation described with reference to FIGS. 5 to 6B .
- a memory device in accordance with another embodiment of the present invention is described below with reference to FIG. 8 .
- FIG. 8 is a block diagram illustrating a memory device 200 ′ in accordance with another embodiment of the present invention.
- the memory device 200 ′ may include a memory cell array 210 ′, a row decoder 220 , a column decoder 230 , a data input/output circuit 240 and a control logic 250 .
- the memory cell array 210 ′ may be coupled to the row decoder 220 through word lines WL 1 to WLn and coupled to the column decoder 230 through bit lines BL 1 to BLm.
- the memory cell array 210 ′ of FIG. 8 has substantially the same configuration as the memory cell array 210 of FIG. 4 , and thus a detailed description thereof is omitted.
- the row decoder 220 may be coupled to the memory cell array 210 ′ through the word lines WL 1 to WLn.
- the row decoder 220 may be configured to operate under the control of the control logic 250 .
- the row decoder 220 may receive a row address RADD from the control logic 250 .
- the row decoder 220 may decode the row address RADD and select one of the word lines WL 1 to WLn.
- the column decoder 230 may be coupled to the memory cell array 210 ′ through the bit lines BL 1 to BLm and coupled to the data input/output circuit 240 through data lines DL.
- the column decoder 230 may be configured to operate under the control of the control logic 250 .
- the column decoder 230 may receive a column address CADD from the control logic 250 .
- the column decoder 230 may decode the column address CADD and select one of the bit lines BL 1 to BLm.
- the data input/output circuit 240 may be coupled to the column decoder 230 through the data lines DL.
- the data input/output circuit 240 may operate under the control of the control logic 250 .
- the data input/output circuit 240 may transmit or receive data DATA to or from the outside.
- the data input/output circuit 240 may receive program data DATA from the outside and transmit the program data DATA to the memory cell array 210 ′ through the column decoder 230 .
- the data input/output circuit 240 may receive read data DATA from the memory cell array 210 ′ through the column decoder 230 and output the read data DATA to the outside.
- the control logic 250 may be coupled to the row decoder 220 , the column decoder 230 and the data input/output circuit 240 .
- the control logic 250 may be configured to receive a command CMD through the input/output buffer (not shown) of the memory device 200 ′ and to control an operation of the memory device 200 ′ in response to the command CMD.
- the control logic 250 may receive an address PA 1 through the input/output buffer of the memory device 200 ′, and may transfer the address PA 1 to the row decoder 220 and the column decoder 230 as the row address RADD and the column address CADD, respectively.
- the address PA 1 may include a first physical address PA 1 provided by a controller, for example, the controller 100 of FIG. 4 .
- control logic 250 may receive the first physical address PA 1 from the controller, and may remap the first physical address PA 1 as a second physical address PA 2 based on mapping information obtained by performing the first mapping operation and the second mapping operation described with reference to FIGS. 5 to 6B .
- control logic 250 may include an address mapping module 252 and a mapping table 254 .
- the address mapping module 252 may group adjacent memory cells from a plurality of memory cells into a cube unit, may allocate MSB N bits of the second physical address PA 2 so that the cubes are identified, and may allocate LSB M bits of the second physical address PA 2 so that the locations of memory cells included in each cube are designated.
- the address mapping module 252 of FIG. 8 has substantially the same configuration as the address mapping module 122 of FIG. 4 , and thus a detailed description thereof is omitted.
- the mapping table 254 may store information about the mapping of the first physical address PA 1 and the second physical address PA 2 .
- the mapping table 254 of FIG. 8 has substantially the same configuration as the AMT 132 of the memory 130 shown in FIG. 4 , and thus a detailed description thereof is omitted.
- the mapping table 254 may be disposed outside the control logic 250 .
- the controller may map a logical address to a first physical address in response to a request received from the host.
- the memory device 200 ′ may receive the first physical address and remap the first physical address to a second physical address based on mapping information obtained by performing the first mapping operation and second mapping operation described with reference to FIGS. 5 to 6B . Accordingly, the time that is taken for the access operation of a memory cell can be reduced because addresses are mapped so that the same word line or the same bit line is not consecutively accessed.
- the memory system according to an embodiment of the present invention has an advantage in that it can reduce the time taken for the access operation of a memory cell by efficiently performing address mapping on a memory cell.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Memory System (AREA)
- Static Random-Access Memory (AREA)
Abstract
Description
- The present application claims priority of Korean Patent Application No. 10-2017-0004237, filed on Jan. 11, 2017, which is incorporated herein by reference in its entirety.
- Exemplary embodiments of the present invention relate to a semiconductor design technology and, more particularly, to an address mapping method of a memory system.
- Recently, extensive research is being carried out for developing the next-generation memory devices which will replace dynamic random-access memory (DRAM) and flash memory. A next-generation memory device which is under extensive development at the present time is a resistive memory device which uses a material whose resistance may, in response to a bias applied thereto, switch between at least two different resistance states. Such materials are called variable resistance materials. Representative examples of resistive memory devices may include resistive random-access memory (RRAM), phase-change random access memory (PCRAM), magnetoresistive random access memory (MRAM) and ferroelectric random-access memory (FRAM or FeRAM).
- A resistive memory device may configure a memory cell array to have a cross-point array structure in which a plurality of lower electrodes (e.g., a plurality of row lines (or word lines)) and a plurality of upper electrodes (e.g., a plurality of column lines (or bit lines)) cross over each other and memory cells are disposed at the intersections of the plurality of lower electrodes and the plurality of upper electrodes, respectively. Each of the memory cells may have a variable resistance element and a selection element coupled in series thereto.
- A resistive memory device may be subject to a drift phenomenon in which data is lost when the resistance value of data written in a memory cell changes over time after the data is written in the memory cell. Accordingly, the resistive memory device needs to secure the time that the resistance level of a memory cell reaches to enter a target window after data is written in the memory cell. In other words, the resistive memory device needs to secure a data recovery time.
- If the same row address or column address is consecutively inputted, however, that is, if the same word line or bit line is consecutively accessed within the same cell mat, an access time for a target memory cell is influenced by the data recovery time. More specifically, if the column addresses of memory cells having the same row address are increased one by one or the row addresses of memory cells having the same column address are increased one by one in an incremental address decoding scheme, it is necessary to secure the data recovery time of a previously accessed memory cell whenever each memory cell is accessed. Accordingly, the time that is taken for an operation of accessing a memory cell is increased.
- Various embodiments are directed to a memory system capable of mapping the addresses of memory cells in a cube unit.
- In an embodiment, an address mapping method of a memory system may include Disclosed is an address mapping method of a memory system. The address mapping method may include grouping adjacent memory cells into multiple cubes, from a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines; allocating most significant bit (MSB) N bits of a physical address for identifying the cubes; allocating least significant bit (LSB) M bits of the physical address for designating locations of memory cells included in each of the cubes, M and N being positive integers; storing information about a mapping between a logical address and the (M+N)-bit physical address in a mapping table; and when the logical address in response to an external request is received, translating the logical address to the physical address based on the mapping table.
- In an embodiment, a memory system may include a controller suitable for translating a logical address to an (M+N)-bit physical address based on mapping information, M and N being positive integers; and a memory device including a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines, suitable for performing a read/write operation on memory cells corresponding to the physical address, wherein the controller comprises: an address mapping module suitable for grouping adjacent memory cells from the plurality of memory cells into multiple cubes, allocating most significant bit (MSB) N bits of the physical address for identifying the cubes, and allocating least significant bit (LSB) M bits of the physical address for designating locations of memory cells included in each cube; and a mapping table suitable for storing the mapping information between the logical address and the physical address.
- In an embodiment, a memory system may include a controller suitable for translating a logical address to a first physical address; and a memory device including a plurality of memory cells respectively located at intersections of a plurality of row lines and a plurality of column lines, suitable for remapping the first physical address to a second physical address based on mapping information, and performing a read/write operation on memory cells among the plurality of memory cells corresponding to the second physical address, wherein the memory device comprises: an address mapping module suitable for grouping adjacent memory cells from the plurality of memory cells into multiple cubes, allocating most significant bit (MSB) N bits of the second physical address for identifying the cubes, and allocating least significant bit (LSB) M bits of the second physical address for designating locations of memory cells included in each cube; and a mapping table suitable for storing the mapping information between the first logical address and the second physical address.
-
FIG. 1 is a diagram schematically showing a memory cell array of a phase-change random access memory (PCRAM) device. -
FIG. 2 is a diagram showing a memory cell array of a phase-change random access memory (PCRAM) device having a three-dimensional (3D) structure in accordance with an embodiment of the present invention. -
FIG. 3 is a diagram illustrating an example in which the same word line or bit line is consecutively accessed in a memory cell array ofFIG. 2 . -
FIG. 4 is a block diagram illustrating a data processing system including a memory system in accordance with an embodiment of the present invention. -
FIG. 5 is a diagram illustrating a first mapping operation of an address mapping module shown inFIG. 4 . -
FIGS. 6A and 6B are a diagram and table illustrating a second mapping operation of an address mapping module shown inFIG. 4 . -
FIG. 7 is a flowchart illustrating an address mapping method in accordance with an embodiment of the present invention. -
FIG. 8 is a block diagram illustrating a memory device in accordance with an embodiment of the present invention. - Various embodiments will be described below in more detail with reference to the accompanying drawings. The present invention may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. Throughout the disclosure, like reference numerals refer to like parts throughout the various figures and embodiments of the present invention.
- Hereinafter, in the described embodiments of the present invention, a PCRAM will be described as an example. It is noted that the present invention may be applied to all non-volatile memory devices which employ a resistive material, such as, for example, a resistive RAM (RRAM) and a ferroelectric RAM (FRAM).
-
FIG. 1 is a diagram schematically showing a memory cell array of a phase-change random access memory (PCRAM) device. - Referring to
FIG. 1 , the memory cell array may include a plurality of memory cell regions. The memory cell region indicative of a set of memory cells may be defined in various manners. For example, when the PCRAM device includes a plurality of memory blocks,FIG. 1 shows memory cells included in one memory block BLK. A single block BLK may include a plurality of pages in each of which memory cells MC coupled to the same word line are defined. - The block BLK may include a plurality of the memory cells MC respectively located at the intersections of a plurality of word lines WL0 to WLn and a plurality of bit lines BL0 to BLm. Each of the plurality of memory cells MC may include a resistive memory element R and a selection element D. In this case, the resistive memory element R may also be called a variable resistance element or a variable resistance material. The selection element D may also be called a switching element.
- The resistive memory element R may have a low resistance state corresponding to a set state, or a high resistance state corresponding to a reset state, depending on data stored therein. The resistive memory element R may be a phase-change memory element. The resistive memory element R may have a low resistance value if it is a crystalline state, and may have a high resistance value if it is an amorphous state. The phase of such a phase-change material may be changed by Joule heating. The amount of heat generated depends on the amount of current. Furthermore, data may be written using such a phase change.
-
FIG. 2 is a diagram showing a memory cell array of a phase-change random access memory (PCRAM) device having a three-dimensional (3D) structure in accordance with an embodiment of the present invention. - Referring to
FIG. 2 , one block BLK of the memory cell array may include a cross-point array, including a plurality of first conductive lines (i.e., a plurality of row lines (or word lines WL)), a plurality of second conductive lines (i.e., a plurality of column lines (or bit lines BL)), and a plurality of memory cells MC. Each of the plurality of first conductive lines is extended in a first direction (i.e., an X direction). The plurality of first conductive lines are arranged in a second direction (i.e., a Y direction) at a regular interval. The plurality of first conductive lines are stacked in a third direction (i.e., a Z direction) at a regular interval. The regular intervals in the second and third directions may be the same or different. Preferably, as illustrated in the embodiment ofFIG. 2 , the interval between two consecutive word lines WL stacked in the Z direction may be smaller than the interval between two consecutive word lines WL in the Y direction and may be defined by the vertical (e.g., the Z direction) height of the bit lines. Each of the plurality of second conductive lines is extended in the Y direction between word lines adjacent in the Z direction and are arranged in the X direction at a regular interval. The regular interval in the X direction at which the plurality of bit lines are arranged may be the same or different to the regular interval at which the word lines are arranged in the Y direction. Each of the plurality of memory cells MC is located at the intersections of the plurality of word lines WL and the plurality of bit lines BL. The X, Y and Z directions may be orthogonal to each other. - In one embodiment of the present invention, the plurality of word lines WL may have a 3D structure in which they are stacked in the Z direction. That is, two word lines WL may be stacked in the Z direction to form a pair and a plurality of the bit lines BL may be arranged in the X direction between a pair of adjacent word lines in the Z direction. In
FIG. 2 , a pair of word lines WL, that is, two word lines WL, have been illustrated as being stacked in the Z direction, but the present invention is not limited thereto. For example, two or more pairs of word lines WL may be stacked in the Z direction with a plurality of bit lines BL arranged in the X direction between each pair of the word lines WL. -
FIG. 3 is a diagram illustrating an example in which the same word line WL or bit line BL is consecutively accessed in a memory cell array in accordance with an embodiment of the present invention, for example, the memory cell array ofFIG. 2 . - Referring to
FIG. 3 , in the memory cell array having the 3D structure ofFIG. 2 , if the same word line WL or bit line BL is consecutively accessed, an access time for a target memory cell is influenced by a data recovery time. For example, if a fourth memory cell MC4 coupled to the same word line (i.e., a second word line WL01) is accessed after a third memory cell MC3 located at the intersection of the second word line WL01 and a first bit line BL0 is accessed, the access to the fourth memory cell MC4 may be performed after a data recovery time from the access to the third memory cell MC3 passes. Alternatively, if a first memory cell MC1 or a seventh memory cell MC7 coupled to the same bit line (i.e., the first bit line BL0) is accessed after the third memory cell MC3 is accessed, the access to the first memory cell MC1 or the seventh memory cell MC7 may be performed after a data recovery time from the access to the first memory cell MC1 passes. - More specifically, in the incremental address decoding scheme, if the column addresses of memory cells having the same row address are increased one by one or if the row addresses of memory cells having the same column address are increased one by one, the time required for an operation of accessing a memory cell is increased because the data recovery time of a previously accessed memory cell needs to be secured whenever each memory cell is accessed.
- A detailed method for reducing the time taken for an operation of accessing a memory cell by mapping the addresses of memory cells in a cube unit in accordance with an embodiment of the present invention is described below.
-
FIG. 4 is a block diagram illustrating adata processing system 1000 including amemory system 1200 in accordance with an embodiment of the present invention. - Referring to
FIG. 4 , thedata processing system 1000 may include a host 1100 and thememory system 1200. - The host 1100 may execute various computing functions, such as performing specific calculation and/or tasks, or may execute various application programs, such as an operating system (OS) and/or applications. Although not shown, the host 1100 may be implemented to include a processor, a main memory, a bus and so on.
- The
memory system 1200 may perform a program, a read or an erase operation according to a request REQ from the host 1100. Thememory system 1200 may be used as the main storage device or auxiliary storage device of the host 1100. - The
memory system 1200 may include acontroller 100 and amemory device 200. - The
memory device 200 may include at least one phase-change random access memory (PCRAM). The PCRAM may include amemory cell array 210 including a plurality of memory cells (not shown) respectively located at the intersections of a plurality of word lines (not shown) and a plurality of bit lines (not shown). In some embodiments, thememory cell array 210 may be a memory cell array having the 3D structure as shown inFIG. 2 . Thememory device 200 may select a memory cell in which data is to be written by selecting one of a plurality of word lines and one of a plurality of bit lines based on a physical address PA transferred by thecontroller 100. - The
controller 100 may control an overall operation of thememory device 200 in response to a request REQ from the host 1100. For example, thecontroller 100 may write data DATA received from the host 1100 in a memory cell of thememory device 200 corresponding to a logical address LA in response to a command HCMD from the host 1100. For another example, thecontroller 100 may read data requested by the host 1100 from a memory cell of thememory device 200 corresponding to a logical address LA and send the read data DATA to the host 1100, in response to a command HCMD from the host 1100. - The
controller 100 may generate a physical address PA and a command CMD for controlling thememory device 200 based on the command HCMD and logical address LA received from the host 1100. That is, thecontroller 100 may translate the logical address LA, transferred by the host 1100, into the physical address PA, and may provide the translated physical address PA to thememory device 200. For reference, the physical address PA may include information Indicative of a physical location of thememory cell array 210 in which data is to be written. Accordingly, thecontroller 100 may control the program, read or erase operation of thememory device 200 by providing a physical address PA and a command CMD to thememory device 200. Furthermore, data DATA for a program operation and read data DATA may be transmitted/received between thecontroller 100 and thememory device 200 or between thecontroller 100 and the host 1100. - The
controller 100 may include a host interface (I/F) 110, aprocessor 120, amemory 130, a memory interface (I/F) 140 and abus 150. - The host I/
F 110 may perform interfacing between the host 1100 and thecontroller 100, and may be configured to communicate with the host 1100 through at least one of various interface protocols, such as a universal serial bus (USB), a multi-media card (MMC), peripheral component interconnect express (PCI-e), a serial-attached SCSI (SAS), serial advanced technology attachment (SATA), parallel advanced technology attachment (PATA), a small computer system interface (SCSI), an enhanced small disk interface (ESDI) and integrated drive electronics (IDE). - The
processor 120 may control an operation of thememory system 1200, including for example, at least one of a program, read or erase operation of thememory device 200 in response to a request REQ received from the host 1100. Theprocessor 120 may be implemented using a microprocessor or a central processing unit (CPU). - The
processor 120 may include anaddress mapping module 122 configured to receive a logical address LA from the host 1100 and to map the logical address LA to a physical address PA of (M+N) bits (where M and N are positive integers) based on mapping information. Theaddress mapping module 122 may group adjacent memory cells into a cube unit, may allocate most significant bit (MSB) N bits of a physical address PA so as to identify the grouped cubes, and may allocate least significant bit (LSB) M bits of the physical address PA so as to designate the locations of memory cells included in each cube. In this case, the number of memory cells within one cube may be smaller than or equal to 2M. A number obtained by dividing a total number of memory cells by the number X of memory cells within one cube may be smaller than or equal to 2N. In some embodiments, M may be a positive integer greater than or equal to 3. - The
memory 130 may be the operation memory of thememory system 1200 and thecontroller 100 and may store data for the driving of thememory system 1200 and thecontroller 100. That is, thememory 130 may store data necessary to perform an operation, such as a data write operation or a data read operation, between the host 1100 and thememory device 200. Thememory 130 may include a program memory, a data memory, a write buffer and a read buffer in order to store such data. Thememory 130 may be implemented using a volatile memory, such as a static random access memory (SRAM) or a dynamic random access memory (DRAM). - The
memory 130 may include an address mapping table (AMT) 132 configured to store information about the mapping between a logical address LA provided by the host 1100 and a physical address PA provided to thememory device 200. The mapping information of theAMT 132 may be stored in a specific region (e.g., a meta region) of thememory cell array 210 of thememory device 200. When thememory system 1200 is powered on, mapping information stored in thememory cell array 210 may be loaded onto theAMT 132. - The memory I/
F 140 may perform interfacing between thecontroller 100 and thememory device 200 in order for thecontroller 100 to control thememory device 200 in response to a request REQ received from the host 1100. - The host I/
F 110, theprocessor 120, thememory 130 and the memory I/F 140 may be operatively couple to exchange data and control signals through abus 150. - Although not shown, the controller 1100 may be implemented to further include an error correction code (ECC) module and/or a power management module.
-
FIG. 5 is a diagram illustrating a first mapping operation of an address mapping module in accordance with an embodiment of the present invention, for example, the first mapping operation of theaddress mapping module 122 ofFIG. 4 . - Referring to
FIG. 5 , in the memory cell array of the 3D structure, a plurality of memory cells MC may be respectively located at the intersections between a plurality of word lines (not shown) and a plurality of bit lines (not shown). The plurality of word lines is extended in the X direction, arranged in the Y direction and stacked in the Z direction. The plurality of bit lines is extended in the Y direction and arranged in the X direction between word lines adjacent in the Z direction. - The
address mapping module 122 may perform a first mapping operation for grouping memory cells adjacent to each other into a cube unit, from the plurality of memory cells MC, and for allocating MSB N bits of a physical address so that the cubes are identified. In this case, theaddress mapping module 122 may group memory cells MC that are physically adjacent to each other into one cube. Each of the memory cells MC may be located at the vertex of a corresponding cube. For example, theaddress mapping module 122 may group some memory cells that belong to the memory cells MC and that are coupled to two bit lines adjacent in the X direction into one cube. More specifically, theaddress mapping module 122 may group eight memory cells MC, located at the intersections of two bit lines adjacent in the X direction and four word lines adjacent in the Y direction or the Z direction, into one cube. - A number obtained by dividing a total number of memory cells by the number of memory cells within one cube may be smaller than or equal to 2N. For example, if a total number of memory cells is 1024 and the number of memory cells within one cube is 8, N may be determined to be 7. Alternatively, if a total number of memory cells is 1048 and the number of memory cells within one cube is 8, N may be determined to be 8.
- Likewise, the
address mapping module 122 may group adjacent memory cells into a cube unit, and may allocate MSB N bits of a physical address so that the cubes are identified. For example, as shown inFIG. 5 , if the number of memory cells within one cube is 8 and N is 7, MSB N bits of a physical address may be allocated to 128 cubes, each of which has any one value among values ranging from “00000000” to “1111111.” -
FIGS. 6A and 6B are a diagram and table illustrating a second mapping operation of an address mapping module in accordance with an embodiment of the present invention, for example, the second mapping operation of theaddress mapping module 122 ofFIG. 4 , respectively. -
FIG. 6A illustrates memory cells included in one cube. If eight memory cells are grouped into one cube, theaddress mapping module 122 may perform the second mapping operation for allocating LSB 3 bits of a physical address so that memory cells located at the vertexes of one cube are designated to have any one value among values ranging from a value “000” to a value “111.” - In this case, the
address mapping module 122 may repeatedly perform a process of allocating an initial bit value of “000” to a specific memory cell of the one cube and allocating a bit value of “001” that has been increased by one bit from the initial bit value to a memory cell not coupled to the same word line or bit line as the specific memory cell. That is, theaddress mapping module 122 may allocate the bit value of “001” to a memory cell that does not share the same word line or bit line as the specific memory cell. - For example, as shown in
FIG. 6A , theaddress mapping module 122 may allocate an initial bit value of “000” to a first memory cell MC1 disposed at the intersection of a first word line WL00 and a first bit line BL0. Next, theaddress mapping module 122 may allocate a bit value of “001”, increased by one bit from the initial bit value, to a memory cell (e.g., a sixth memory cell MC6) not coupled to the same word line (i.e., the first word line WL00) or bit line (i.e., the first bit line BL0) as the first memory cell MC1. Likewise, theaddress mapping module 122 may allocate a bit value of “010”, increased by one bit from the bit value of “001”, to a memory cell (e.g., a seventh memory cell MC7) not coupled to the same word line (i.e., a third word line WL10) or bit line (i.e., a second bit line BL1) as the sixth memory cell MC6. Theaddress mapping module 122 may allocate the LSB 3 bits of the physical address that increase from the value “000” to the value “111” to the first to eighth memory cells MC1 to MC8 of each cube, respectively, by repeating the above process as shown in the table ofFIG. 6B . - An address mapping method of the memory system is described below with reference to
FIGS. 4 to 7 . -
FIG. 7 is a flowchart illustrating an address mapping method in accordance with an embodiment of the present invention. - Referring to
FIG. 7 , thecontroller 100 of thememory system 1200 ofFIG. 4 may perform an address mapping operation, at step S710. - More specifically, the
address mapping module 122 of thecontroller 100 may perform the first mapping operation for grouping adjacent memory cells into a cube unit from a plurality of memory cells respectively located at the intersections of a plurality of word lines WL and a plurality of bit lines BL, and for allocating MSB N bits of a physical address PA so that the cubes are identified, at step S720. Contents related to the first mapping operation have been described with reference toFIG. 5 , and thus a detailed description thereof is omitted. - Next, the
address mapping module 122 may perform the second mapping operation for allocating LSB M bits of the physical address PA so that the locations of memory cells included in each cube are designated, at step S730. - In the second mapping operation, allocating an initial bit value to a specific memory cell of each cube at step S732, and allocating a bit value increased by one bit to a memory cell not coupled to the same word line or bit line as a current memory cell at step S734 may be repeated until the entire physical address is allocated to the last memory cell within a corresponding cube, at step S736. The second mapping operation has been described with reference to
FIGS. 6A and 6B , and thus a detailed description thereof is herein omitted. - When the address mapping operation for all of the memory cells of all of the cubes is completed by repeatedly performing the first mapping operation and the second mapping operation, the
address mapping module 122 may store information about the mapping of the logical address LA and the (M+N)-bit physical address PA in theAMT 132, at step S740. - Thereafter, when the
memory system 1200 receives a logical address LA in response to a request REQ received from the outside (i.e., the host 1100) at step S750, thecontroller 100 may map the logical address LA, received from the host 1100, to the physical address PA based on the mapping information stored in theAMT 132, and may provide the mapped physical address PA to thememory device 200, at step S760. - Accordingly, the
memory device 200 may perform an operation such as a read or write operation according to the request REQ of the host 1100 on memory cells corresponding to the physical address PA. - As described above, in accordance with an embodiment of the present invention, memory cells are grouped in cube units, and MSBs of a physical address are allocated so that the cubes are identified. Furthermore, LSBs of the physical address that are sequentially increased are allocated to memory cells not coupled to the same word line or bit line within each cube. That is, it is not necessary to secure the data recovery time of a previously accessed memory cell in the incremental address decoding scheme because addresses are mapped so that the same word line or the same bit line is not consecutively accessed. Accordingly, the time that is required for accessing a memory cell can be reduced substantially.
- In the above embodiment, the address mapping operation has been illustrated as being performed on the controller side. In another embodiment, the address mapping operation may be performed on the memory device side. In this case, the controller may map a logical address to a first physical address in response to a request from the host as in a conventional technology. The memory device may receive the first physical address, and may remap the first physical address to a second physical address based on mapping information obtained by performing the first mapping operation and second mapping operation described with reference to
FIGS. 5 to 6B . - A memory device in accordance with another embodiment of the present invention is described below with reference to
FIG. 8 . -
FIG. 8 is a block diagram illustrating amemory device 200′ in accordance with another embodiment of the present invention. - Referring to
FIG. 8 , thememory device 200′ may include amemory cell array 210′, arow decoder 220, acolumn decoder 230, a data input/output circuit 240 and acontrol logic 250. - The
memory cell array 210′ may be coupled to therow decoder 220 through word lines WL1 to WLn and coupled to thecolumn decoder 230 through bit lines BL1 to BLm. Thememory cell array 210′ ofFIG. 8 has substantially the same configuration as thememory cell array 210 ofFIG. 4 , and thus a detailed description thereof is omitted. - The
row decoder 220 may be coupled to thememory cell array 210′ through the word lines WL1 to WLn. Therow decoder 220 may be configured to operate under the control of thecontrol logic 250. Therow decoder 220 may receive a row address RADD from thecontrol logic 250. Therow decoder 220 may decode the row address RADD and select one of the word lines WL1 to WLn. - The
column decoder 230 may be coupled to thememory cell array 210′ through the bit lines BL1 to BLm and coupled to the data input/output circuit 240 through data lines DL. Thecolumn decoder 230 may be configured to operate under the control of thecontrol logic 250. Thecolumn decoder 230 may receive a column address CADD from thecontrol logic 250. Thecolumn decoder 230 may decode the column address CADD and select one of the bit lines BL1 to BLm. - The data input/
output circuit 240 may be coupled to thecolumn decoder 230 through the data lines DL. The data input/output circuit 240 may operate under the control of thecontrol logic 250. The data input/output circuit 240 may transmit or receive data DATA to or from the outside. When a program operation is performed, the data input/output circuit 240 may receive program data DATA from the outside and transmit the program data DATA to thememory cell array 210′ through thecolumn decoder 230. When a read operation is performed, the data input/output circuit 240 may receive read data DATA from thememory cell array 210′ through thecolumn decoder 230 and output the read data DATA to the outside. - The
control logic 250 may be coupled to therow decoder 220, thecolumn decoder 230 and the data input/output circuit 240. Thecontrol logic 250 may be configured to receive a command CMD through the input/output buffer (not shown) of thememory device 200′ and to control an operation of thememory device 200′ in response to the command CMD. Furthermore, thecontrol logic 250 may receive an address PA1 through the input/output buffer of thememory device 200′, and may transfer the address PA1 to therow decoder 220 and thecolumn decoder 230 as the row address RADD and the column address CADD, respectively. In this case, the address PA1 may include a first physical address PA1 provided by a controller, for example, thecontroller 100 ofFIG. 4 . - In an embodiment of the present invention, the
control logic 250 may receive the first physical address PA1 from the controller, and may remap the first physical address PA1 as a second physical address PA2 based on mapping information obtained by performing the first mapping operation and the second mapping operation described with reference toFIGS. 5 to 6B . To this end, thecontrol logic 250 may include anaddress mapping module 252 and a mapping table 254. - The
address mapping module 252 may group adjacent memory cells from a plurality of memory cells into a cube unit, may allocate MSB N bits of the second physical address PA2 so that the cubes are identified, and may allocate LSB M bits of the second physical address PA2 so that the locations of memory cells included in each cube are designated. Theaddress mapping module 252 ofFIG. 8 has substantially the same configuration as theaddress mapping module 122 ofFIG. 4 , and thus a detailed description thereof is omitted. - The mapping table 254 may store information about the mapping of the first physical address PA1 and the second physical address PA2. The mapping table 254 of
FIG. 8 has substantially the same configuration as theAMT 132 of thememory 130 shown inFIG. 4 , and thus a detailed description thereof is omitted. Alternatively, the mapping table 254 may be disposed outside thecontrol logic 250. - As described above, in accordance with another embodiment of the present invention, the controller may map a logical address to a first physical address in response to a request received from the host. The
memory device 200′ may receive the first physical address and remap the first physical address to a second physical address based on mapping information obtained by performing the first mapping operation and second mapping operation described with reference toFIGS. 5 to 6B . Accordingly, the time that is taken for the access operation of a memory cell can be reduced because addresses are mapped so that the same word line or the same bit line is not consecutively accessed. - The memory system according to an embodiment of the present invention has an advantage in that it can reduce the time taken for the access operation of a memory cell by efficiently performing address mapping on a memory cell.
- Although various embodiments have been described for illustrative purposes, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.
Claims (20)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2017-0004237 | 2017-01-11 | ||
| KR1020170004237A KR102791654B1 (en) | 2017-01-11 | 2017-01-11 | Address mapping method of memory system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20180196756A1 true US20180196756A1 (en) | 2018-07-12 |
| US10025724B1 US10025724B1 (en) | 2018-07-17 |
Family
ID=62783157
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/664,259 Active US10025724B1 (en) | 2017-01-11 | 2017-07-31 | Address mapping method of memory system |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10025724B1 (en) |
| KR (1) | KR102791654B1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190341116A1 (en) * | 2017-08-18 | 2019-11-07 | SK Hynix Inc. | Data storage device and method of operating the same |
| CN120496604A (en) * | 2025-04-30 | 2025-08-15 | 新存微科技(北京)有限责任公司 | Method for operating a memory system and memory system |
| CN120496603A (en) * | 2025-04-30 | 2025-08-15 | 新存微科技(北京)有限责任公司 | Method for operating a memory system and memory system |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20190053646A (en) * | 2017-11-10 | 2019-05-20 | 에스케이하이닉스 주식회사 | Memory Controller, Semiconductor Memory System Including The Same and Method of Driving the Semiconductor Memory System |
| KR102705064B1 (en) | 2019-07-03 | 2024-09-09 | 에스케이하이닉스 주식회사 | Memory system |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5943693A (en) * | 1995-03-29 | 1999-08-24 | Intel Corporation | Algorithmic array mapping to decrease defect sensitivity of memory devices |
| KR101533744B1 (en) | 2008-10-16 | 2015-07-10 | 삼성전자주식회사 | Flash memory system and its flash conversion layer design method |
| US8949568B2 (en) | 2011-05-24 | 2015-02-03 | Agency For Science, Technology And Research | Memory storage device, and a related zone-based block management and mapping method |
| US9190124B2 (en) * | 2011-12-29 | 2015-11-17 | Intel Corporation | Multi-level memory with direct access |
| KR101154286B1 (en) * | 2011-12-30 | 2012-06-14 | (주)케이닷컴 | Memory controller for simultaneously multiple access |
| US9331958B2 (en) * | 2012-12-31 | 2016-05-03 | Advanced Micro Devices, Inc. | Distributed packet switching in a source routed cluster server |
| KR102168169B1 (en) * | 2014-01-07 | 2020-10-20 | 삼성전자주식회사 | Mapping methods of non-volatile memory system and system for providing the same |
| US9244764B2 (en) * | 2014-05-08 | 2016-01-26 | Sandisk Technologies Inc. | Error correcting code techniques for a memory having a three-dimensional memory configuration |
| KR102151176B1 (en) * | 2014-08-22 | 2020-09-02 | 삼성전자 주식회사 | Resistive Memory Device and Operating Method thereof |
| US9747049B2 (en) * | 2015-12-03 | 2017-08-29 | Huawei Technologies Co., Ltd. | Computer memory management method and system |
-
2017
- 2017-01-11 KR KR1020170004237A patent/KR102791654B1/en active Active
- 2017-07-31 US US15/664,259 patent/US10025724B1/en active Active
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190341116A1 (en) * | 2017-08-18 | 2019-11-07 | SK Hynix Inc. | Data storage device and method of operating the same |
| US10878924B2 (en) * | 2017-08-18 | 2020-12-29 | SK Hynix Inc. | Data storage device intergrating host read commands and method of operating the same |
| CN120496604A (en) * | 2025-04-30 | 2025-08-15 | 新存微科技(北京)有限责任公司 | Method for operating a memory system and memory system |
| CN120496603A (en) * | 2025-04-30 | 2025-08-15 | 新存微科技(北京)有限责任公司 | Method for operating a memory system and memory system |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102791654B1 (en) | 2025-04-09 |
| US10025724B1 (en) | 2018-07-17 |
| KR20180083023A (en) | 2018-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10732847B2 (en) | Optimistic read operation | |
| US10741245B2 (en) | Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system | |
| US10025724B1 (en) | Address mapping method of memory system | |
| US11036407B1 (en) | Storage system and method for smart folding | |
| CN113946283B (en) | Partial region memory unit handling in a partition namespace of a memory device | |
| CN113590023B (en) | Storing regions in a region namespace on separate planes of a multi-plane memory device | |
| WO2014013595A1 (en) | Semiconductor device | |
| US11720490B2 (en) | Managing host input/output in a memory system executing a table flush | |
| US20240411470A1 (en) | Temperature controlled zone creation and allocation | |
| CN112445733A (en) | Memory system, memory controller and operation method | |
| CN117999547A (en) | Virtual management unit scheme for two-pass programming in a memory subsystem | |
| CN111475328B (en) | Memory system including multiple controllers | |
| US12504915B2 (en) | Performing memory access operations based on quad-level cell to single-level cell mapping table | |
| US20240192893A1 (en) | Managing distribution of page addresses and partition numbers in a memory sub-system | |
| CN115437558A (en) | Diagonal page mapping in a memory system | |
| US11836076B2 (en) | Implementing mapping data structures to minimize sequentially written data accesses | |
| US20250231706A1 (en) | Data reordering at a memory subsystem | |
| US20250130720A1 (en) | Wear leveling operations in memory devices | |
| CN117435519B (en) | Buffer allocation for reducing block transfer losses | |
| US20250217282A1 (en) | Address mapping table for a memory sub-system using mixed translation unit sizes | |
| US20240094942A1 (en) | Performing data operations on grouped memory cells |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SK HYNIX INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KOO, JA-HYUN;PARK, JONG-HYUN;JEONG, SEUNG-GYU;AND OTHERS;SIGNING DATES FROM 20170710 TO 20170718;REEL/FRAME:043144/0413 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |