WO2013025083A2 - 피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법 - Google Patents

피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법 Download PDF

Info

Publication number
WO2013025083A2
WO2013025083A2 PCT/KR2012/006581 KR2012006581W WO2013025083A2 WO 2013025083 A2 WO2013025083 A2 WO 2013025083A2 KR 2012006581 W KR2012006581 W KR 2012006581W WO 2013025083 A2 WO2013025083 A2 WO 2013025083A2
Authority
WO
WIPO (PCT)
Prior art keywords
nonvolatile memory
memory
pram
stored
data
Prior art date
Application number
PCT/KR2012/006581
Other languages
English (en)
French (fr)
Other versions
WO2013025083A3 (ko
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 영남대학교 산학협력단
Priority to US14/239,122 priority Critical patent/US20140181362A1/en
Publication of WO2013025083A2 publication Critical patent/WO2013025083A2/ko
Publication of WO2013025083A3 publication Critical patent/WO2013025083A3/ko

Links

Images

Classifications

    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/02Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change

Definitions

  • the present invention relates to a control of a memory, and more particularly, to a technique for writing data in a memory having a limited number of writes, and controlling the memory in this process.
  • HDD Hard disk drive
  • NAND flash memory is increasingly used in computer / embedded systems due to several advantages over HDD, such as high performance, low power consumption, high reliability and small form factor.
  • NAND flash memory is still lower than that of HDDs. This is because NAND flash memory is more expensive than conventional HDDs, but performs similarly to HDDs in certain tasks such as random writing.
  • the NAND flash memory unit price problem has been overcome by the recent increase in NAND flash memory capacity and the price drop through MLC (Multi-level Cell), but it is still more expensive than the HDD for general consumers.
  • MLC Multi-level Cell
  • nonvolatile RAM devices such as PRAM, FRAM, and the like have been developed, and many studies have been made for commercialization.
  • nonvolatile RAMs are new nonvolatile memory devices that overcome the disadvantages of existing NAND flash memory, and are expected to be used as next-generation storage devices to replace NAND flash memory in the future.
  • PRAM is expected to be the most influential nonvolatile RAM to replace NAND flash memory, and many semiconductor companies are devoting enormous time and effort to commercialize it.
  • the reason why PRAM is considered as a storage medium to replace NAND flash memory is as follows.
  • PRAM can be rewritten without erasing the existing data, so the erase operation does not need to be preceded for the rewrite operation.
  • the erase operation for the rewrite operation is the most negatively affecting the performance of the NAND flash memory.
  • the erase operation is performed block by block, which has a very long operation time of about 1 ms.
  • this erase operation is the reason that NAND flash memory does not show high performance compared to HDD in certain operations such as random writing.
  • the PRAM can be rewritten without such an erase operation, and thus can show high performance in comparison with the NAND flash memory as well as the HDD.
  • the number of reads / writes of the PRAM is approximately 10 6 times, and has a lifespan approximately 10 times longer than that of the NAND flash memory.
  • the present invention has been made to solve the above problems, an object of the present invention, to provide a memory control method for more effectively operating a non-volatile memory having a limited number of write / read, such as a PRAM, and to provide an electronic device using the same have.
  • an electronic device includes: a nonvolatile memory in which data is stored; A volatile memory in which an address translation table of the nonvolatile memory is stored; And a controller configured to store data in the nonvolatile memory with reference to the address translation table of the nonvolatile memory stored in the volatile memory.
  • a first table referred to for converting a physical address of the nonvolatile memory into a logical address is stored, and the controller uses the first table to convert the logical address into the nonvolatile memory.
  • a second table referenced to translate to a physical address can be created and stored in the volatile memory.
  • the controller may generate the second table and store the second table in the volatile memory.
  • the second table stored in the volatile memory may be deleted.
  • the nonvolatile memory may be a phase-change random access memory (PRAM), the controller may store data in the PRAM in units of pages, and the pages may be in units of bytes.
  • PRAM phase-change random access memory
  • an electronic device includes: a nonvolatile memory in which data is stored; A volatile memory in which an address translation table of the nonvolatile memory is stored; And a controller configured to store data in page units in the nonvolatile memory by referring to an address conversion table of the nonvolatile memory stored in the volatile memory, wherein the controller stores data in a page having a minimum number of writes among all pages. Characterized in that for storing.
  • the controller may convert a physical address of a page whose write count of the nonvolatile memory is greater than or equal to a reference to another physical address.
  • the nonvolatile memory is a phase-change random access memory (PRAM).
  • PRAM phase-change random access memory
  • the address translation table storage step of storing the address translation table of the nonvolatile memory in the volatile memory; And a data storing step of storing data in the nonvolatile memory with reference to the address translation table of the nonvolatile memory stored in the volatile memory.
  • the first table referred to to convert the physical address of the nonvolatile memory into a logical address is stored in the nonvolatile memory, and the reference is used to convert the logical address of the nonvolatile memory into a physical address.
  • the second table may be stored in the volatile memory.
  • the second table is generated when the electronic device is booted and stored in the volatile memory. When the power supply to the electronic device is cut off, the second table stored in the volatile memory is deleted.
  • the nonvolatile memory is a phase-change random access memory (PRAM), and the data storing step may store data in the PRAM in units of pages but in a page having a minimum number of writes among all pages.
  • PRAM phase-change random access memory
  • FIG 1 is an internal block diagram of an electronic device according to an embodiment of the present invention.
  • FIG. 2 is provided to explain the address translation technique performed by the electronic device shown in FIG.
  • FIG. 3 is a diagram provided to explain an evenly distributed technique performed by the electronic apparatus shown in FIG. 1.
  • FIG. 3 is a diagram provided to explain an evenly distributed technique performed by the electronic apparatus shown in FIG. 1.
  • FIG. 1 is an internal block diagram of an electronic device 100 according to an embodiment of the present invention.
  • the electronic device 100 applicable to the present invention uses a phase-change random access memory (PRAM) 150 as a storage medium for storing data.
  • PRAM phase-change random access memory
  • the electronic device 100 is equal to the address translation technique optimized for the PRAM 150.
  • the distribution technique is adopted.
  • the address translation scheme optimized for the PRAM 150 is a technique for minimizing the increase in the number of reads of the PRAM 150 in the process of referring to an address translation table for converting a logical address into a physical address of the PRAM 150. .
  • the equal distribution technique optimized for the PRAM 150 is a technique that allows the data area of the PRAM 150 having a limited maximum write number to be used evenly.
  • the electronic device 100 employing the above techniques may include a processor 110, a RAM controller 140, and a dynamic random access (DRAM) that control overall performance of the electronic device 100.
  • Memory 130 and the PRAM 150 are electrically connected to each other through the bus 120.
  • the electronic device 100 may further include I / O devices and auxiliary devices required to perform a function.
  • the DRAM 130 is a volatile memory that temporarily stores data necessary for performing the control of the electronic device 100 by the processor 110, and the PRAM 150 is a nonvolatile memory that cuts off power of the electronic device 100. Data is stored semi-permanently.
  • the RAM controller 140 performs data write / read on the PRAM 150.
  • the RAM controller 140 according to an exemplary embodiment of the present invention performs a write / read operation on data of a predetermined size stored in the PRAM 150.
  • the data size of the PRAM 150 is a size of data that the RAM controller 140 can process at one time, and can be arbitrarily set in byte units by a person skilled in the art. Therefore, it may be the same size as a block or page of flash memory, and more preferably, may be set smaller than a page in flash memory. For example, it can be set to 512 bytes, 2K bytes, 4K bytes, and so on.
  • the RAM controller 140 utilizes a storage space of the DRAM 130 in the process of writing / reading data to the PRAM 150. This is based on an address translation technique for reducing the number of reads to the PRAM 150 whose performance deteriorates as the number of reads increases, which will be described in detail with reference to FIG. 2.
  • FIG. 2 is a diagram provided to explain an address translation technique performed by the electronic device 100 shown in FIG. 1.
  • the PRAM 150 is divided into a metadata area and a data area.
  • the data area is an area in which actual data is stored
  • the metadata area is a table in which an address translation table referred to for storing data is stored in the data area.
  • the meta data area of the PRAM 150 includes a PA / LA mapping table that is used to convert a physical address (PA) of the PRAM 150 into a logical address (LA). You can see that it is stored.
  • PA physical address
  • LA logical address
  • the DRAM 130 stores the LA / PA mapping table converted from the PA / LA mapping table.
  • Table conversion shown in FIG. 2 is performed by the RAM controller 140.
  • the RAM controller 140 converts the PA / LA mapping table of the PRAM 150 to generate the LA / PA mapping table, and stores the generated LA / PA mapping table in the DRAM 130.
  • such a table conversion / storage operation may be performed at the time of booting the electronic device 100. Since the DRAM 130 is a volatile memory, when the power supply to the electronic device 100 is cut off, the LA / PA mapping table stored in the DRAM 130 is deleted.
  • Converting the PA / LA mapping table stored in the PRAM 150 and storing the LA / PA mapping table in the DRAM 130 may frequently read the PRAM 150 to refer to the address translation table during data read / write. This is to prevent the metadata area of 150 from being deteriorated.
  • FIG. 3 is a diagram provided to explain an equal distribution technique performed by the electronic apparatus shown in FIG. 1.
  • FIG. 3 illustrates a Logical Page Address (LPA) / Physical Page Address (PPA) mapping table
  • LPA Logical Page Address
  • PPA Physical Page Address
  • the equal distribution method according to the preferred embodiment of the present invention is applied to change the PPA corresponding to the LPA "5" from “0" to "1". Accordingly, the data commanded to write to the LPA "5" is stored in the area where the PPA is "1” rather than "0" on the data area of the PRAM 150, and the PA for this is "1024 to 2044".
  • the conversion as shown in FIG. 3 was performed because the number of writes to the area where the PPA is "0" (the area where the PA is "0 to 1020") is relatively large (for example, the number of writes to all areas). At least 120% of the average).
  • An area where the converted PPA is "1" corresponds to an area where the number of writes is relatively small (for example, 80% or less of the average number of writes for all areas).
  • Address translation table translation as shown in FIG. 3 is performed by the RAM controller 140. To this end, the RAM controller 140 performs a read / write count management as well.
  • the LA / PA mapping table in which the entry of the LA precedes the entry of the PA is included in the metadata area of the PRAM 150 so that the number of read / write operations can be performed based on the PA. Instead, the PA / LA mapping table is stored so that the PA entry precedes the LA entry.
  • mapping table conversion occurs too frequently, the deterioration rate of the PRAM 150 may be increased. Therefore, it may be desirable to set a predetermined period and perform the address conversion table conversion at each arrival of the set period. .
  • the data area of the PRAM 150 can be used evenly so that the area of the write count is used more adaptively than the area of the write count, so that a part of the data area deteriorates first. This can prevent the actual storage space of the PRAM 150 from being reduced.
  • a nonvolatile memory having a limited number of writes / reads such as a PRAM can be operated more effectively.
  • the address translation table since the address translation table stores the PRAM address translation table in another memory and refers to it, the PRAM metadata is frequently read for the address translation table reference during data read / write to the PRAM. It is possible to prevent the area from deteriorating quickly.
  • the PRAM 150 mentioned in the above embodiment is only an example of a nonvolatile memory. Therefore, in the electronic device 100 assumed in the above embodiment, the PRAM 150 may be replaced with another type of nonvolatile memory, and in this case, the technical idea of the present invention may be applied.
  • a nonvolatile memory (PRMA) based next-generation storage device employing an optimized address translation technique and a homogeneous distribution technique is commercialized
  • a high performance and low power consumption is compared with a conventional HDD (Hard Disk Drive) or NAND flash memory. It is expected to replace these HDD and NAND flash memory based storage devices because it can provide high durability.
  • PRMA nonvolatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

본 발명은 PRAM에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법에 관한 것이다. 본 발명의 전자기기는, 데이터가 저장되는 비휘발성 메모리, 비휘발성 메모리의 주소변환 테이블이 저장된 휘발성 메모리 및 휘발성 메모리에 저장된 비휘발성 메모리의 주소변환 테이블을 참조하여 비휘발성 메모리에 데이터를 저장하는 컨트롤러를 포함한다. 이에 의해, PRAM 등 쓰기/읽기 횟수가 제한적인 비휘발성 메모리를 보다 효과적으로 운용할 수 있게 된다.

Description

피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법
본 발명은 메모리의 제어에 관한 것으로, 더욱 상세하게는 쓰기 횟수에 제한이 있는 메모리에 데이터를 기록하고, 이 과정에서 메모리를 제어하는 기술에 관한 것이다.
현재까지 수십 년에 걸쳐 HDD(Hard Disk Drive) 기반의 저장 시스템이 컴퓨터에 사용됨이 일반적이었지만, 최근 이러한 상황에 변화가 생기기 시작했으며, 그 이유는 낸드 플래시 메모리 때문이다.
낸드 플래시 메모리는 HDD에 비하여 높은 성능, 낮은 전력소비, 높은 신뢰성과 작은 폼 팩터 등의 여러 가지 장점들로 인해 컴퓨터/임베디드 시스템에 점점 더 많이 사용되고 있다.
하지만, 낸드 플래시 메모리의 시장 점유율은 아직까지는 HDD의 시장점유율에 비해서는 낮은 편이다. 이러한 원인은 낸드 플래시 메모리가 기존의 HDD에 비하여 가격은 높은데 비해, 임의 쓰기와 같은 특정한 작업에서 HDD와 비슷한 성능을 보이기 때문이다.
낸드 플래시 메모리의 단가 문제는 최근의 낸드 플래시 메모리 대용량화와 MLC(Multi-level Cell)를 통한 가격 하락으로 극복하려고 하고 있지만, 그래도 아직까지는 일반 소비자에게 HDD에 비하여 고가의 저장장치이다.
낸드 플래시 메모리 기반의 시장 점유율을 확대하기 위하여 연구가 활발하게 이루어져 왔지만, 낸드 플래시 메모리의 자체의 물리적 특성(지우기 작업 회수 제안) 때문에 성능을 높이는 것에는 한계가 있어 왔다.
따라서, 많은 회사나 연구소에서는 낸드 플래시 메모리를 대체할 새로운 비휘발성 램 소자에 대한 많은 연구들을 수행하여 왔다. 그 결과로, PRAM, FRAM, 등의 비휘발성 램 소자들이 개발되었으며, 현재도 상용화를 위하여 많은 연구가 이루어지고 있다.
이러한 비휘발성 램들은 기존의 낸드 플래시 메모리가 가지는 단점들을 극복한 새로운 비휘발성 메모리 소자들로, 향후에 낸드 플래시 메모리를 대체하는 차세대 저장장치로 활용될 것으로 예상된다.
여러 가지, 비휘발성 램들 중에 PRAM이 낸드 플래시 메모리를 대체할 가장 유력한 비휘발성 램으로 예상되고 있으며, 다수의 반도체 회사들이 막대한 시간과 노력을 투입하여 상용화를 위한 연구를 진행하고 있다. 이렇게, PRAM이 낸드 플래시 메모리를 대체할 저장매체로 고려되는 이유는 다음과 같다.
PRAM은 낸드 플래시 메모리와는 다르게 기존에 있던 데이터를 삭제하지 않아도 다시쓰기가 가능하기 때문에, 다시쓰기 작업을 위해 지우기 연산이 선행될 필요가 없다. 다시쓰기 작업을 위한 지우기 연산은 낸드 플래시 메모리의 성능에 가장 부정적인 영향을 주는 연산으로 블럭 단위로 지우기 연산이 이루어지는데, 대략 1ms라는 매우 긴 연산시간을 가지게 된다.
그러므로, 이 지우기 연산으로 인해 낸드 플래시 메모리가 임의 쓰기와 같은 특정 연산에서 HDD와 비교하여 높은 성능을 보여주지 못하는 이유가 된다. 하지만, PRAM에서는 이러한 지우기 연산 없이도 다시쓰기가 가능하므로, HDD는 물론이고, 낸드 플래시 메모리에 비교해서도 높은 성능을 보여줄 수 있다.
또한, PRAM의 읽기/쓰기의 횟수는 대략 106 회이며, 낸드 플래시 메모리에 비교하여 대략 10배의 긴 수명을 가지고 있다.
하지만, 쓰기/읽기가 무제한인 HDD에 비하면 PRAM의 쓰기/읽기 횟수는 제한적이라 할 수 있는데, 이는 PRAM이 저장 시스템에 채택되는 것에 대한 장애 요인으로 작용한다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, PRAM 등 쓰기/읽기 횟수가 제한적인 비휘발성 메모리를 보다 효과적으로 운용하기 위한 메모리 제어방법 및 이를 적용한 전자기기를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 전자기기는, 데이터가 저장되는 비휘발성 메모리; 상기 비휘발성 메모리의 주소변환 테이블이 저장된 휘발성 메모리; 및 상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 데이터를 저장하는 컨트롤러;를 포함한다.
그리고, 상기 비휘발성 메모리에는, 상기 비휘발성 메모리의 물리적 주소를 논리적 주소로 변환하는데 참조되는 제 1 테이블이 저장되어 있고, 상기 컨트롤러는 상기 제 1 테이블을 이용하여 상기 논리적 주소를 상기 비휘발성 메모리의 물리적 주소로 변환하는데 참조되는 제 2 테이블을 생성하고 상기 휘발성 메모리에 저장할 수 있다.
또한, 상기 컨트롤러는 상기 전자기기가 부팅되면 상기 제 2 테이블을 생성하여 상기 휘발성 메모리에 저장할 수 있다.
또한, 상기 전자기기에 전원공급이 차단되면 상기 휘발성 메모리에 저장된 상기 제 2 테이블은 삭제될 수 있다.
또한, 상기 비휘발성 메모리는, PRAM(Phase-change Random Access Memory)이고, 상기 컨트롤러는, 페이지 단위로 상기 PRAM에 데이터를 저장하며, 상기 페이지는 바이트 단위일 수 있다.
본 발명의 다른 실시 예에 따른 전자기기는, 데이터가 저장되는 비휘발성 메모리; 상기 비휘발성 메모리의 주소변환 테이블이 저장된 휘발성 메모리; 및 상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 페이지 단위로 데이터를 저장하는 컨트롤러;를 포함하고, 상기 컨트롤러는 전체 페이지 중에서 최소의 쓰기 횟수를 가지는 페이지에 데이터를 저장하는 것을 특징으로 한다.
그리고, 상기 컨트롤러는, 상기 비휘발성 메모리의 쓰기 횟수가 기준 이상인 페이지에 대한 물리적 주소를 다른 물리적 주소로 변환할 수 있다.
또한, 상기 비휘발성 메모리는, PRAM(Phase-change Random Access Memory)이다.
본 발명의 또 다른 실시 예에 따른 메모리 제어방법은, 비휘발성 메모리의 주소변환 테이블을 휘발성 메모리에 저장하는 주소변환 테이블 저장단계; 및 상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 데이터를 저장하는 데이터 저장단계를 포함한다.
그리고, 주소변환 테이블 저장단계에서는, 상기 비휘발성 메모리의 물리적 주소를 논리적 주소로 변환하는데 참조되는 제 1 테이블을 상기 비휘발성 메모리에 저장하고, 상기 비휘발성 메모리의 논리적 주소를 물리적 주소로 변환하는데 참조되는 제 2 테이블을 상기 휘발성 메모리에 저장할 수 있다.
또한, 상기 제 2 테이블은 전자기기가 부팅되면 생성되어 상기 휘발성 메모리에 저장되고 상기 전자기기에 전원공급이 차단되면 상기 휘발성 메모리에 저장된 상기 제 2 테이블은 삭제된다.
또한, 상기 비휘발성 메모리는 PRAM(Phase-change Random Access Memory)이고, 상기 데이터 저장단계는, 상기 PRAM에 데이터를 페이지 단위로 저장하되 전체 페이지 중에서 최소의 쓰기 횟수를 가지는 페이지에 저장할 수 있다.
도 1은 본 발명의 일 실시예에 따른 전자기기의 내부 블럭도
도 2는 도 1에 도시된 전자기기에 의해 수행되는 주소변환 기법의 설명에 제공되는 도면
도 3은 도 1에 도시된 전자기기에 의해 수행되는 균등분배 기법의 설명에 제공되는 도면
다음에는 도면에 기초하면서 본 발명에 대하여 더욱 상세하게 살펴보기로 한다.
도 1은 본 발명의 일 실시예에 따른 전자기기(100)의 내부 블럭도이다. 본 발명이 적용가능한 전자기기(100)는, 데이터를 저장하는 저장매체로서 PRAM(Phase-change Random Access Memory)(150)을 이용한다.
쓰기/읽기가 무제한인 HDD(Hard Disk Drive)와 달리 쓰기 횟수가 제한적인 PRAM(150)의 내구성 문제를 해결하기 위해, 위 전자기기(100)는 PRAM(150)에 최적화된 주소변환 기법과 균등분배 기법을 채택하고 있다.
PRAM(150)에 최적화된 주소변환 기법은, 논리적 주소를 PRAM(150)의 물리적 주소로 변환하기 위한 주소변환 테이블 참조하는 과정에서 PRAM(150)의 읽기 횟수 증가를 최소화할 수 있도록 하기 위한 기법이다.
PRAM(150)에 최적화된 균등분배 기법은, 최대 쓰기 횟수가 제한적인 PRAM(150)의 데이터 영역이 균등하게 사용될 수 있도록 하는 기법이다.
이와 같은 기법들을 채택하고 있는 전자기기(100)는, 도 1에 도시된 바와 같이, 전자기기(100)의 전반적인 기능 수행을 제어하는 프로세서(110), RAM 컨트롤러(140), DRAM(Dynamic Random Access Memory)(130), PRAM(150)이 버스(120)를 통해 전기적으로 연결되어 구축된다.
도 1에 도시되지는 않았지만, 전자기기(100)는 본연의 기능 수행에 필요한 I/O 디바이스들과 보조 디바이스들을 더 포함할 수 있다.
DRAM(130)은 휘발성 메모리로 프로세서(110)에 의한 전자기기(100) 제어 수행에 필요한 데이터가 임시로 저장되는 공간이고, PRAM(150)은 비휘발성 메모리로 전자기기(100)의 전원이 차단된 경우에도 지워지지 않아야 할 데이터가 반영구적으로 저장되는 공간이다.
RAM 컨트롤러(140)는 PRAM(150)에 대한 데이터 쓰기/읽기를 수행한다. 구체적으로, 본 발명의 바람직한 실시 예에 따른 RAM 컨트롤러(140)는 PRAM(150)에 저장되어 있는 일정 크기의 데이터에 대한 쓰기/읽기 작업을 수행한다.
본 발명의 바람직한 실시 예에 따른 PRAM(150)의 데이터 크기는, RAM 컨트롤러(140)가 한번에 처리할 수 있는 데이터의 크기로서, 당업자의 선택에 의하여 바이트 단위로 임의 설정가능하다. 따라서 플래쉬 메모리의 블럭 또는 페이지와 동일한 크기일 수 있으며, 보다 바람직하게는 플래시 메모리에서의 페이지보다 작게 설정될 수도 있다. 예를 들어, 512 bytes, 2K bytes, 4K bytes 등으로 설정가능하다.
다음에는 본 발명의 바람직한 실시 예에 따라 전자기기에 적용된 PRAM(150)의 최적화된 주소변환 기법과 균등분배 기법을 설명한다.
우선 본 발명의 실시 예는 PRAM(150)에 대한 데이터 쓰기/읽기 과정에서, RAM 컨트롤러(140)는 DRAM(130)의 저장 공간을 활용한다. 이는, 읽기 횟수가 증가할수록 성능이 열화되는 PRAM(150)에 대한 읽기 횟수를 줄이기 위한 주소변환 기법에 따른 것인 바, 이하에서 도 2를 참조하여 상세히 설명한다.
도 2는, 도 1에 도시된 전자기기(100)에 의해 수행되는 주소변환 기법의 설명에 제공되는 도면이다.
도 2의 하부에 도시된 바와 같이, PRAM(150)은 메타 데이터 영역과 데이터 영역으로 구분된다. 데이터 영역은 실제 데이터가 저장되는 영역이고, 메타 데이터 영역은 데이터 영역에 데이터를 저장하는데 참조되는 주소변환 테이블이 저장되는 테이블이다.
도 2에 도시된 바에 따르면, PRAM(150)의 메타 데이터 영역에는 PRAM(150)의 PA(Physical Address : 물리적 주소)를 LA(Logical Address : 논리적 주소)로 변환하는데 참조하는 PA/LA 매핑 테이블이 저장됨을 알 수 있다.
그리고, 도 2의 상부에 도시된 바에 따르면, DRAM(130)에는 PA/LA 매핑 테이블이 변환된 LA/PA 매핑 테이블이 저장되어 있음을 확인할 수 있다. 도 2에 나타난 테이블 변환은 RAM 컨트롤러(140)에 의해 수행된다.
즉, RAM 컨트롤러(140)가 PRAM(150)의 PA/LA 매핑 테이블을 변환하여 LA/PA 매핑 테이블을 생성하고, 생성된 LA/PA 매핑 테이블을 DRAM(130)에 저장한다.
본 발명의 바람직한 실시예에 있어서 이와 같은 테이블 변환/저장 작업은, 전자기기(100) 부팅시에 이루어질 수 있다. DRAM(130)은 휘발성 메모리이므로, 전자기기(100)에 전원 공급이 차단되면 DRAM(130)에 저장된 LA/PA 매핑 테이블은 삭제된다.
PRAM(150)에 저장된 PA/LA 매핑 테이블을 변환하여 DRAM(130)에 LA/PA 매핑 테이블로 저장하는 것은, 데이터 읽기/쓰기 수행시 주소변환 테이블 참조를 위해 PRAM(150)을 빈번하게 읽어 PRAM(150)의 메타 데이터 영역이 열화되는 것을 방지하기 위함이다.
이하에서는, PRAM(150)의 데이터 영역이 균등하게 사용될 수 있도록 주소변환 테이블들을 관리하는 과정에 대해, 도 3을 참조하여 상세히 설명한다. 도 3은 도 1에 도시된 전자기기에 의해 수행되는 균등분배 기법의 설명에 제공되는 도면이다.
도 3의 좌측에는 LPA(Logical Page Address)/PPA(Physical Page Address) 매핑 테이블을 도시하였고, 도 3의 우측에는 PRAM(150)의 데이터 영역을 개념적으로 도시하였다.
도 3에 도시된 LPA/PPA 매핑 테이블에서는, 본 발명의 바람직한 일실시예에 따른 균등분배기법이 적용되어 LPA "5"에 대응하는 PPA가 "0"에서 "1"로 변경되었다. 이에 따라, LPA "5"에 쓰기 명령된 데이터는 PRAM(150)의 데이터 영역 상에서 PPA가 "0"이 아닌 "1"인 영역에 저장되며, 이에 대한 PA는 "1024~2044"이다.
도 3에 도시된 바와 같은 변환이 수행된 것은, PPA가 "0"인 영역(PA가 "0~1020"인 영역)에 대한 쓰기 횟수가 비교적 많았음(예를 들면, 모든 영역에 대한 쓰기 횟수 평균의 120% 이상)에 기인한다.
변환되는 영역인 PPA가 "1"인 영역(PA가 "1024~2044"인 영역)은 쓰기 횟수가 비교적 적은(예를 들면, 모든 영역에 대한 쓰기 횟수 평균의 80% 이하) 영역에 해당한다.
도 3에 도시된 바와 같은 주소변환 테이블 변환은 RAM 컨트롤러(140)에 의해 수행된다. 이를 위해, RAM 컨트롤러(140)는 읽기/쓰기 횟수 관리를 아울러 수행한다.
본 발명의 바람직한 일실시예에 있어서 읽기/쓰기 횟수 관리가 PA를 기준으로 수행될 수 있도록, PRAM(150)의 메타 데이터 영역에 'LA의 엔트리가 PA의 엔트리 보다 앞서는 LA/PA 매핑 테이블'이 아닌 'PA의 엔트리가 LA의 엔트리 보다 앞서는 PA/LA 매핑 테이블'이 저장되도록 하였다.
한편, 도 3에서는 LA/PA 매핑 테이블의 내용만 변환되는 것으로 나타나 있으나, 동일한 내용의 변환이 PA/LA 매핑 테이블에서도 반영될 수 있다. 즉, DRAM(130)과 PRAM(150)에 저장된 주소변환 테이블들 모두가, RAM 컨트롤러(140)에 의해 변환된다.
다른 한편으로, 매핑 테이블 변환이 너무 빈번하게 발생되면 PRAM(150)의 열화 속도가 빨라 질 수 있으므로, 일정 주기를 설정하고 설정된 주기 도래시 마다 주소변환 테이블 변환을 수행하는 것으로 구현함이 바람직할 것이다.
이와 같은 주소변환 테이블 변환으로 인해, 쓰기 횟수가 많은 영역 보다 쓰기 횟수가 적은 영역이 사용되도록 적응적으로 유도할 수 있으므로, PRAM(150)의 데이터 영역이 균등하게 사용되어, 데이터 영역 일부가 먼저 열화되어 PRAM(150)의 실제 저장 공간이 줄어들게 되는 것을 방지할 수 있다.
지금까지, PRAM(150)의 내구성 문제를 해결하기 위한, PRAM(150)에 최적화된 주소변환 기법과 균등분배 기법에 대해 상세히 설명하였다. 이 기법들은 선택적으로 구현될 수 있다. 그리고, 이 기법들은, 하드웨어, 펌웨어와 같은 소프트웨어는 물론, 운영체제의 내부 모듈과 같이 소프트웨어를 구성하는 모듈 등으로 구현될 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면, PRAM 등 쓰기/읽기 횟수가 제한적인 비휘발성 메모리를 보다 효과적으로 운용할 수 있게 된다. 구체적으로, 본 발명에서는, 주소변환 기법에 의해, PRAM의 주소변환 테이블을 다른 메모리에 저장하여 참조하므로, PRAM에 데이터 읽기/쓰기 수행시 주소변환 테이블 참조를 위해 PRAM을 빈번하게 읽어 PRAM의 메타 데이터 영역이 빠르게 열화되는 것을 방지할 수 있다.
또한, 본 발명에 따르면, 균등분배 기법에 의해, 쓰기 횟수가 많은 영역 보다 쓰기 횟수가 적은 영역이 사용되도록 적응적으로 유도할 수 있으므로, PRAM의 데이터 영역이 균등하게 사용되어, 데이터 영역 일부가 먼저 열화되어 PRAM의 실제 저장 공간이 줄어들게 되는 것을 방지할 수 있게 된다.
한편, 위 실시예에서 언급한 PRAM(150)은 비휘발성 메모리의 일 예에 불과하다. 따라서, 위 실시예에서 상정한 전자기기(100)에서 PRAM(150)은 다른 종류의 비휘발성 메모리로 대체가능하며, 이 경우에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
본 발명의 실시 예에 따라 최적화된 주소변환기법 및 균동분배기법이 적용된 비 휘발성 메모리(PRMA) 기반의 차세대 저장장치가 상용화되면, 기존의 HDD(Hard Disk Drive)이나 낸드 플래시 메모리에 비하여 고성능, 저전력, 고내구성의 특성을 제공할 수 있어 이들 HDD 및 낸드 플래시 메모리 기반의 저장장치를 대체할 것으로 기대된다.

Claims (12)

  1. 데이터가 저장되는 비휘발성 메모리;
    상기 비휘발성 메모리의 주소변환 테이블이 저장된 휘발성 메모리; 및
    상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 데이터를 저장하는 컨트롤러;를 포함하는 것을 특징으로 하는 전자기기.
  2. 제 1항에 있어서,
    상기 비휘발성 메모리에는,
    상기 비휘발성 메모리의 물리적 주소를 논리적 주소로 변환하는데 참조되는 제 1 테이블이 저장되어 있고,
    상기 컨트롤러는 상기 제 1 테이블을 이용하여 상기 논리적 주소를 상기 비휘발성 메모리의 물리적 주소로 변환하는데 참조되는 제 2 테이블을 생성하고 상기 휘발성 메모리에 저장하는 것을 특징으로 하는 전자기기.
  3. 제 2항에 있어서,
    상기 컨트롤러는 상기 전자기기가 부팅되면 상기 제 2 테이블을 생성하여 상기 휘발성 메모리에 저장하는 것을 특징으로 하는 전자기기.
  4. 제 3항에 있어서,
    상기 전자기기에 전원공급이 차단되면 상기 휘발성 메모리에 저장된 상기 제 2 테이블은 삭제되는 것을 특징으로 하는 전자기기.
  5. 제 1항에 있어서,
    상기 비휘발성 메모리는, PRAM(Phase-change Random Access Memory)이고,
    상기 컨트롤러는, 페이지 단위로 상기 PRAM에 데이터를 저장하며, 상기 페이지는 바이트 단위인 것을 특징으로 하는 전자기기.
  6. 데이터가 저장되는 비휘발성 메모리;
    상기 비휘발성 메모리의 주소변환 테이블이 저장된 휘발성 메모리; 및
    상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 페이지 단위로 데이터를 저장하는 컨트롤러;를 포함하고,
    상기 컨트롤러는 전체 페이지 중에서 최소의 쓰기 횟수를 가지는 페이지에 데이터를 저장하는 것을 특징으로 하는 전자기기.
  7. 제 6항에 있어서,
    상기 컨트롤러는, 상기 비휘발성 메모리의 쓰기 횟수가 기준 이상인 페이지에 대한 물리적 주소를 다른 물리적 주소로 변환하는 것을 특징으로 하는 전자기기.
  8. 제 7항에 있어서,
    상기 비휘발성 메모리는, PRAM(Phase-change Random Access Memory) 인 것을 특징으로 하는 전자기기.
  9. 비휘발성 메모리의 주소변환 테이블을 휘발성 메모리에 저장하는 주소변환 테이블 저장단계; 및
    상기 휘발성 메모리에 저장된 상기 비휘발성 메모리의 주소변환 테이블을 참조하여 상기 비휘발성 메모리에 데이터를 저장하는 데이터 저장단계를 포함하는 것을 특징으로 하는 메모리 제어방법.
  10. 제 9항에 있어서,
    상기 주소변환 테이블 저장단계는,
    상기 비휘발성 메모리의 물리적 주소를 논리적 주소로 변환하는데 참조되는 제 1 테이블을 상기 비휘발성 메모리에 저장하고, 상기 비휘발성 메모리의 논리적 주소를 물리적 주소로 변환하는데 참조되는 제 2 테이블을 상기 휘발성 메모리에 저장하는 것을 특징으로 하는 메모리 제어방법.
  11. 제 10항에 있어서,
    상기 제 2 테이블은 전자기기가 부팅되면 생성되어 상기 휘발성 메모리에 저장되고 상기 전자기기에 전원공급이 차단되면 상기 휘발성 메모리에 저장된 상기 제 2 테이블은 삭제되는 것을 특징으로 하는 메모리 제어방법.
  12. 제 9항에 있어서,
    상기 비휘발성 메모리는 PRAM(Phase-change Random Access Memory)이고,
    상기 데이터 저장단계는, 상기 PRAM에 데이터를 페이지 단위로 저장하되 전체 페이지 중에서 최소의 쓰기 횟수를 가지는 페이지에 저장하는 것을 특징으로 하는 메모리 제어방법.
PCT/KR2012/006581 2011-08-18 2012-08-17 피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법 WO2013025083A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/239,122 US20140181362A1 (en) 2011-08-18 2012-08-17 Electronic device for storing data on pram and memory control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0081991 2011-08-18
KR1020110081991A KR20130019795A (ko) 2011-08-18 2011-08-18 Pram에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법

Publications (2)

Publication Number Publication Date
WO2013025083A2 true WO2013025083A2 (ko) 2013-02-21
WO2013025083A3 WO2013025083A3 (ko) 2013-05-30

Family

ID=47715617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/006581 WO2013025083A2 (ko) 2011-08-18 2012-08-17 피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법

Country Status (3)

Country Link
US (1) US20140181362A1 (ko)
KR (1) KR20130019795A (ko)
WO (1) WO2013025083A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083619A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
US20210233585A1 (en) * 2020-01-29 2021-07-29 Micron Technology, Inc. Multichip memory package with internal channel

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259370A (ja) * 1998-03-06 1999-09-24 Mitsubishi Electric Corp データ書込装置及びデータ書込方法
JP2005115561A (ja) * 2003-10-06 2005-04-28 Media Logic:Kk フラッシュrom制御装置
KR20100055565A (ko) * 2008-11-18 2010-05-27 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR20100057346A (ko) * 2008-11-21 2010-05-31 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006033992A2 (en) * 2004-09-16 2006-03-30 Wms Gaming Inc. Gaming machine with secure fault-tolerant memory
US20060294339A1 (en) * 2005-06-27 2006-12-28 Trika Sanjeev N Abstracted dynamic addressing
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
JP5026102B2 (ja) * 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法
KR20120126678A (ko) * 2011-05-12 2012-11-21 삼성전자주식회사 내구성을 향상한 비휘발성 메모리 장치 및 그 동작방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259370A (ja) * 1998-03-06 1999-09-24 Mitsubishi Electric Corp データ書込装置及びデータ書込方法
JP2005115561A (ja) * 2003-10-06 2005-04-28 Media Logic:Kk フラッシュrom制御装置
KR20100055565A (ko) * 2008-11-18 2010-05-27 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR20100057346A (ko) * 2008-11-21 2010-05-31 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법

Also Published As

Publication number Publication date
KR20130019795A (ko) 2013-02-27
WO2013025083A3 (ko) 2013-05-30
US20140181362A1 (en) 2014-06-26

Similar Documents

Publication Publication Date Title
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US9256527B2 (en) Logical to physical address mapping in storage systems comprising solid state memory devices
US8156279B2 (en) Storage device and deduplication method
KR102152238B1 (ko) 단편화를 해결하는 메모리 세그먼트 재매핑
EP2895958B1 (en) Address mapping
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
WO2010107176A2 (ko) 디램 버퍼 관리 장치 및 방법
WO2016082196A1 (zh) 文件访问方法、装置及存储设备
WO2014171618A1 (ko) 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법
CN105718530B (zh) 文件存储系统及其文件存储控制方法
US8954656B2 (en) Method and system for reducing mapping table size in a storage device
WO2013142707A1 (en) Power management in a flash module
US10162561B2 (en) Managing backup of logical-to-physical translation information to control boot-time and write amplification
JP2011204140A (ja) 記憶装置
US20150143029A1 (en) Dynamic logical groups for mapping flash memory
CN111512290B (zh) 文件页表管理技术
US20200225882A1 (en) System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance
KR20120134919A (ko) 메모리 장치
KR20150142583A (ko) 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법
US11132291B2 (en) System and method of FPGA-executed flash translation layer in multiple solid state drives
KR20110002742A (ko) 메모리 회로 및 메모리 회로의 엑세스 방법, 메모리 관리 시스템 및 메모리 관리방법
WO2013025083A2 (ko) 피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법
US10901912B2 (en) Flash translation layer table for unaligned host writes
WO2010107173A1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
WO2014142427A1 (ko) 스토리지 시스템 및 이의 데이터 전송 방법

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: 12824635

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 14239122

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12824635

Country of ref document: EP

Kind code of ref document: A2