[go: up one dir, main page]

KR101281685B1 - Method for writing and reading data of phase-change random access memory and apparatus thereof - Google Patents

Method for writing and reading data of phase-change random access memory and apparatus thereof Download PDF

Info

Publication number
KR101281685B1
KR101281685B1 KR20070099881A KR20070099881A KR101281685B1 KR 101281685 B1 KR101281685 B1 KR 101281685B1 KR 20070099881 A KR20070099881 A KR 20070099881A KR 20070099881 A KR20070099881 A KR 20070099881A KR 101281685 B1 KR101281685 B1 KR 101281685B1
Authority
KR
South Korea
Prior art keywords
data
phase change
change memory
writing
power consumption
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.)
Active
Application number
KR20070099881A
Other languages
Korean (ko)
Other versions
KR20090034572A (en
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 KR20070099881A priority Critical patent/KR101281685B1/en
Priority to US12/231,239 priority patent/US7796427B2/en
Priority to EP20080017428 priority patent/EP2045815A1/en
Publication of KR20090034572A publication Critical patent/KR20090034572A/en
Application granted granted Critical
Publication of KR101281685B1 publication Critical patent/KR101281685B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0002Digital 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/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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/0002Digital 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/0004Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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/0002Digital 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/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result

Landscapes

  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Semiconductor Memories (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 상변화 메모리의 데이터 기록 방법, 데이터 판독 방법, 및 그 장치에 관한 것으로, 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하는 단계; 기록 요청된 데이터 및 인코딩된 데이터 중에 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계; 선택 결과에 기초하여, 기록 요청된 데이터 및 인코딩된 데이터 중 어느 하나를 상변화 메모리에 기록하는 단계; 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 단계; 및 마킹 정보를 상변화 메모리에 기록하는 단계를 포함하도록 함으로써, 상변화 메모리에 데이터를 기록할 때의 소비 전력을 줄일 수 있는 효과가 있다.

Figure R1020070099881

The present invention relates to a data writing method, a data reading method, and an apparatus of a phase change memory, comprising the steps of: encoding data requested for writing by a predetermined encoding function; Selecting data having low power consumption for writing to the phase change memory among the write requested data and the encoded data; Based on the selection result, writing any one of the write requested data and the encoded data to the phase change memory; Generating marking information indicative of data recorded in the phase change memory; And recording the marking information in the phase change memory, thereby reducing the power consumption when writing data in the phase change memory.

Figure R1020070099881

Description

상변화 메모리의 데이터 기록 방법, 데이터 판독 방법, 및 그 장치{Method for writing and reading data of phase-change random access memory and apparatus thereof}Method for writing and reading data of phase-change random access memory and apparatus thereof

본 발명은 상변화 메모리의 데이터 기록 방법, 데이터 판독 방법, 및 그 장치에 관한 것으로, 더욱 상세하게는 상변화 메모리에 데이터를 기록할 때의 소비 전력을 줄이기 위한 방법 및 장치에 관한 것이다.The present invention relates to a data writing method, a data reading method, and an apparatus of a phase change memory, and more particularly, to a method and an apparatus for reducing power consumption when writing data to a phase change memory.

PRAM(Phase-change Random Access Memory)은 물질의 상 변화를 이용하여 데이터를 저장하는 메모리 디바이스이다. PRAM에 있어서 결정 상태 및 비결정 상태는 각각 데이터 비트 '0' 및 '1'을 표시한다(이는 디바이스 설계에 따라서 역으로 될 수도 있다). 물질의 상 변화는 전류에 의한 온도 차이로 유도된다. 이러한 성질을 가지는 셀 물질에는 게르마늄 안티몬 텔룰라이드(GST; Ge2Sb2Te5)가 있다.Phase-change random access memory (PRAM) is a memory device that stores data using a phase change of a material. For the PRAM, the crystalline state and the amorphous state represent the data bits '0' and '1', respectively (which may be reversed depending on the device design). The phase change of the material is induced by the temperature difference by the current. Cell materials having this property include germanium antimony telluride (GST; Ge2Sb2Te5).

PRAM은 NAND 플래시 메모리와 같이 비휘발성의 특징을 가진다. 그러나, PRAM은 NAND 플래시 메모리와는 달리 바이트 단위로 액세스를 제공하며 삭제(erase) 동작을 요구하지 않는다. 이와 같은 특성들로 인하여, PRAM은 모바일 응용에서 스토리지 장치로 사용되기에 적합하다.PRAM has the same nonvolatile characteristics as NAND flash memory. However, unlike NAND flash memory, PRAM provides byte-by-byte access and does not require an erase operation. These characteristics make PRAM suitable for use as storage devices in mobile applications.

그러나, PRAM은 데이터 프로그램 시에 상당히 큰 전력 소모를 가지며, 기록 데이터의 패턴에 따라서 전력 소모의 차이가 발생한다는 문제점이 있다. 예를 들어, 데이터 비트 '1'(또는 '0')을 PRAM에 기록하기 위한 소비 전력은 데이터 비트 '0'(또는 '1')을 기록하기 위한 소비 전력보다 크다. 본 명세서에서는, 데이터 비트 '1'의 기록은 데이터 비트 '0'의 기록보다 더 많은 소비 전력을 요구한다고 가정한다.However, PRAM has a large power consumption during data programming, and there is a problem that a difference in power consumption occurs depending on a pattern of write data. For example, the power consumption for writing data bit '1' (or '0') to the PRAM is greater than the power consumption for writing data bit '0' (or '1'). In this specification, it is assumed that writing of data bit '1' requires more power consumption than writing of data bit '0'.

도 1은 일반적인 스토리지 시스템을 도시한 도면이다.1 illustrates a general storage system.

도 1을 참조하면, 일반적인 스토리지 시스템은 프로세서(110), 버퍼 메모리(120) 및 상변화 메모리(130)를 포함한다. 프로세서(110), 버퍼 메모리(120) 및 상변화 메모리(130)는 시스템 버스에 의해 서로 연결되어 있다.Referring to FIG. 1, a general storage system includes a processor 110, a buffer memory 120, and a phase change memory 130. The processor 110, the buffer memory 120, and the phase change memory 130 are connected to each other by a system bus.

프로세서(110)는 일반적으로 DRAM(Dynamic Random Access Memory)과 같은 버퍼 메모리(120)로부터 기록 데이터(즉, 사용자 데이터 A)를 수신하고, 수신된 사용자 데이터 A를 PRAM(130)의 특정 위치에 저장하기 위한 작업을 수행한다. 프로세서(110)는 사용자 데이터 A의 관리 및 복구(retrieval) 작업을 위한 메타 데이터를 더 추가하기도 하지만, 일반적으로는 그와 같은 추가가 없이 사용자 데이터 A를 PRAM(130)에 기록한다. 또한, 프로세서(110)는 PRAM(130)의 저장 공간을 절약하기 위하여 데이터 압축 알고리즘을 사용하여, 사용자 데이터 A를 압축하여 PRAM(130)에 기록하기도 한다.The processor 110 generally receives write data (ie, user data A) from a buffer memory 120, such as a dynamic random access memory (DRAM), and stores the received user data A in a specific location of the PRAM 130. Perform work to The processor 110 may further add metadata for management and retrieval of user data A, but generally writes user data A to PRAM 130 without such addition. In addition, the processor 110 may compress the user data A and write it to the PRAM 130 using a data compression algorithm to save the storage space of the PRAM 130.

그러나, 이러한 스토리지 시스템은 데이터 기록시에 데이터 패턴과 무관하게 전력을 소비하는 것으로 가정된다. 따라서, 프로세서(110)는 PRAM에 기록되는 데이 터의 패턴('0' 혹은 '1')을 고려하지 않기 때문에 데이터 기록시 소비 전력이 낭비된다는 문제점이 있다. 또한, 최근에는 사용자 데이터 A 자체가 고도로 압축된 상태이기 때문에, 더 이상 압축을 해도 데이터 크기가 줄어들지 않는다는 문제점이 있다.However, such a storage system is assumed to consume power at the time of data writing regardless of the data pattern. Therefore, since the processor 110 does not consider the pattern '0' or '1' of the data written to the PRAM, power consumption is wasted when data is written. In addition, recently, since the user data A itself is highly compressed, there is a problem that the data size does not decrease even if the compression is no longer performed.

특히, 모바일 환경에서는 전력 소비를 줄이는 것이 매우 중요하다. 따라서, PRAM을 이용한 프로그래밍 시에 전력 소비의 특성을 고려하여, 소비 전력을 줄여야 할 필요성이 있다.In particular, it is very important to reduce power consumption in a mobile environment. Accordingly, there is a need to reduce power consumption in consideration of characteristics of power consumption in programming using PRAM.

본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명이 해결하고자 하는 과제는 상변화 메모리에 데이터를 기록할 때 소비되는 전력을 감소시키기 위한 상변화 메모리의 데이터 기록 방법, 데이터 판독 방법, 및 그 장치를 제공하는 것에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and the problem to be solved by the present invention is a data writing method, a data reading method, And providing the apparatus.

상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 방법은, 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하는 단계; 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중에 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계; 상기 선택 결과에 기초하여, 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중 어느 하나를 상기 상변화 메모리에 기록하는 단계; 상기 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 단계; 및 상기 마킹 정보를 상기 상변화 메모리에 기록하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, a data recording method of a phase change memory according to an embodiment of the present invention, the step of encoding the data requested to write by a predetermined encoding function; Selecting data having low power consumption for writing to the phase change memory among the write requested data and the encoded data; Based on the selection result, writing any one of the write requested data and the encoded data to the phase change memory; Generating marking information representing data recorded in the phase change memory; And recording the marking information in the phase change memory.

상기 인코딩 함수는 '0' 및 '1' 중 어느 하나의 값을 가진 비트들의 개수를 감소시키는 함수인 것이 바람직하다.The encoding function is preferably a function for reducing the number of bits having any one of '0' and '1'.

상기 인코딩 함수는 인버팅(inverting) 함수인 것이 바람직하다.The encoding function is preferably an inverting function.

바람직하게는, 버퍼 메모리로부터 상기 기록 요청된 데이터를 수신하는 단계를 더 포함한다.Preferably, the method further comprises receiving the write requested data from a buffer memory.

상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 것을 선택하는 단계는, 상기 상변화 메모리에서 비결정 상태로 기록되는 셀의 개수를 이용하여 선택하는 단계를 포함하는 것이 바람직하다.The selecting of the low power consumption for writing to the phase change memory preferably includes selecting using the number of cells recorded in the amorphous state in the phase change memory.

또한, 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 것을 선택하는 단계는, 상기 기록 요청된 데이터를 상기 상변화 메모리에 기록하기 위한 제1 소비 전력 및 상기 인코딩된 데이터를 상기 상변화 메모리에 기록하기 위한 제2 소비 전력을 각각 계산하는 단계; 상기 계산 결과를 비교하는 단계; 및 상기 비교 결과에 따라 선택적으로 상기 기록 요청된 데이터 또는 상기 인코딩된 데이터를 출력하는 단계를 포함하는 것이 바람직하다.The selecting of the low power consumption for writing in the phase change memory may include: writing first encoded power and the encoded data in the phase change memory to write the requested data to the phase change memory. Calculating second power consumption for each; Comparing the calculation results; And selectively outputting the write requested data or the encoded data according to the comparison result.

또한, 상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 장치는, 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하는 인코딩부; 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중에 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 것을 선택하는 데이터 선택부; 상기 선택 결과에 기초하여, 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중 어느 하나를 상기 상변화 메모리에 기록하는 기록부; 및 상기 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 마킹 정보 생성부를 포함하고, 상기 기록부는 상기 마킹 정보를 상기 상변화 메모리에 기록하는 것을 특징으로 한다.In addition, in order to solve the above technical problem, the data recording apparatus of the phase change memory according to an embodiment of the present invention, the encoding unit for encoding the data requested to be recorded by a predetermined encoding function; A data selector which selects one of the write requested data and the encoded data having a low power consumption for writing to the phase change memory; A recording unit for recording any one of the write requested data and the encoded data in the phase change memory based on the selection result; And a marking information generating unit for generating marking information representing data recorded in the phase change memory, wherein the recording unit records the marking information in the phase change memory.

또한, 상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 방법은, 판독 요청된 데이터를 상기 상변화 메모리로 부터 판독하는 단계; 상기 판독된 데이터가 소정의 인코딩 함수에 의해 인코딩된 데이터인지 여부를 나타내는 마킹 정보를 상기 상변화 메모리로부터 판독하는 단계; 상기 마킹 정보를 이용하여 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부를 결정하는 단계; 상기 판독된 데이터가 상기 인코딩된 데이터이면, 상기 판독된 데이터를 소정의 디코딩 함수에 의해 디코딩하는 단계; 및 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부에 따라 선택적으로 상기 판독된 데이터 및 상기 디코딩된 데이터 중 어느 하나를 출력하는 단계를 포함하는 것을 특징으로 한다.In addition, in order to solve the above technical problem, a data reading method of a phase change memory according to an embodiment of the present invention, the step of reading the data requested to read from the phase change memory; Reading marking information from the phase change memory indicating whether the read data is data encoded by a predetermined encoding function; Determining whether the read data is the encoded data using the marking information; If the read data is the encoded data, decoding the read data by a predetermined decoding function; And selectively outputting any one of the read data and the decoded data according to whether the read data is the encoded data.

또한, 상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 장치는, 판독 요청된 데이터 및 상기 판독 요청된 데이터가 소정의 인코딩 함수에 의해 인코딩된 데이터인지 여부를 나타내는 마킹 정보를 상기 상변화 메모리로부터 판독하는 판독부; 상기 마킹 정보를 이용하여 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부를 결정하는 결정부; 상기 판독된 데이터가 상기 인코딩된 데이터이면, 상기 판독된 데이터를 소정의 디코딩 함수에 의해 디코딩하는 디코딩부; 및 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부에 따라 선택적으로 상기 판독된 데이터 및 상기 디코딩된 데이터 중 어느 하나를 출력하는 출력부를 포함하는 것을 특징으로 한다.In addition, in order to solve the above technical problem, the data readout apparatus of the phase change memory according to an embodiment of the present invention, whether the read-requested data and the read-requested data is data encoded by a predetermined encoding function; A reading unit which reads marking information indicating a from the phase change memory; A determination unit which determines whether the read data is the encoded data using the marking information; A decoding unit for decoding the read data by a predetermined decoding function if the read data is the encoded data; And an output unit for selectively outputting any one of the read data and the decoded data according to whether the read data is the encoded data.

또한, 상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 방법을 실행하기 위한 프로그램을 저장한 컴퓨터로 판독가능한 기록매체는 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하 는 단계; 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중에 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계; 상기 선택 결과에 기초하여, 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중 어느 하나를 상기 상변화 메모리에 기록하는 단계; 상기 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 단계; 및 상기 마킹 정보를 상기 상변화 메모리에 기록하는 단계를 포함하는 방법을 실행하는 것을 특징으로 한다.In addition, in order to solve the above technical problem, a computer-readable recording medium storing a program for executing a data recording method of a phase change memory according to an embodiment of the present invention is a predetermined encoding function to write the data requested to write. Encoding by; Selecting data having low power consumption for writing to the phase change memory among the write requested data and the encoded data; Based on the selection result, writing any one of the write requested data and the encoded data to the phase change memory; Generating marking information representing data recorded in the phase change memory; And writing the marking information to the phase change memory.

또한, 상기의 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 방법을 실행하기 위한 프로그램을 저장한 컴퓨터로 판독가능한 기록매체는 판독 요청된 데이터를 상기 상변화 메모리로부터 판독하는 단계; 상기 판독된 데이터가 소정의 인코딩 함수에 의해 인코딩된 데이터인지 여부를 나타내는 마킹 정보를 상기 상변화 메모리로부터 판독하는 단계; 상기 마킹 정보를 이용하여 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부를 결정하는 단계; 상기 판독된 데이터가 상기 인코딩된 데이터이면, 상기 판독된 데이터를 소정의 디코딩 함수에 의해 디코딩하는 단계; 및 상기 판독된 데이터가 상기 인코딩된 데이터인지 여부에 따라 선택적으로 상기 판독된 데이터 및 상기 디코딩된 데이터 중 어느 하나를 출력하는 단계를 포함하는 방법을 실행하는 것을 특징으로 한다.In addition, in order to solve the above technical problem, a computer-readable recording medium storing a program for executing a method of reading a data of a phase change memory according to an embodiment of the present invention, the read request data to the phase change memory Reading from; Reading marking information from the phase change memory indicating whether the read data is data encoded by a predetermined encoding function; Determining whether the read data is the encoded data using the marking information; If the read data is the encoded data, decoding the read data by a predetermined decoding function; And selectively outputting either the read data or the decoded data according to whether the read data is the encoded data.

본 발명에 따르면, 상변화 메모리에 데이터를 기록할 때 상기 데이터를 소정의 인코딩 함수에 의해 전력을 덜 소비하는 형태로 인코딩함으로써, 상변화 메모리 에 데이터를 기록할 때 소비되는 전력을 감소시킬 수 있는 효과가 있다.According to the present invention, when data is written to the phase change memory, the data is encoded in a form that consumes less power by a predetermined encoding function, thereby reducing the power consumed when writing the data to the phase change memory. It works.

또한, 본 발명에 따르면, 상변화 메모리에 데이터를 기록할 때 소비되는 전력을 줄임으로써, 상변화 메모리를 사용하는 모바일 장치의 배터리 사용 시간을 늘릴 수 있는 효과가 있다.In addition, according to the present invention, by reducing the power consumed when writing data in the phase change memory, it is possible to increase the battery life of the mobile device using the phase change memory.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 장치를 도시한 도면이다. 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 장치(200)는 수신부(210), 인코딩부(220), 데이터 선택부(230), 마킹 정보 생성부(240), 및 기록부(250)를 포함한다.2 is a diagram illustrating a data recording apparatus of a phase change memory according to an exemplary embodiment of the present invention. The data recording apparatus 200 of the phase change memory according to an exemplary embodiment of the present invention includes a receiver 210, an encoder 220, a data selector 230, a marking information generator 240, and a recorder 250. It includes.

수신부(210)는 상변화 메모리(260)에 기록할 사용자 데이터(즉, 기록 요청된 데이터)를 외부로부터 수신한다. 예를 들어, 수신부(210)는 다이내믹 랜덤 액세스 메모리(DRAM)와 같은 버퍼 메모리(도시되지 않음)로부터 사용자 데이터를 수신할 수 있다. 수신부(210)는 외부로부터 수신된 사용자 데이터를 인코딩부(220) 및 데이터 선택부(230)로 전송한다.The receiver 210 receives user data (ie, data requested to be recorded) to be recorded in the phase change memory 260 from the outside. For example, the receiver 210 may receive user data from a buffer memory (not shown), such as a dynamic random access memory (DRAM). The receiver 210 transmits user data received from the outside to the encoder 220 and the data selector 230.

인코딩부(220)는 수신부(210)로부터 사용자 데이터를 수신하고, 수신된 사용자 데이터를 소정의 인코딩 함수에 의해 인코딩한다. 여기서, 인코딩 함수는 '0' 및 '1' 중 어느 하나의 값을 가지는 비트들의 개수를 감소시키기 위한 함수이다.The encoder 220 receives user data from the receiver 210 and encodes the received user data by a predetermined encoding function. Here, the encoding function is a function for reducing the number of bits having a value of any one of '0' and '1'.

예를 들어, 데이터 비트 '1'을 상변화 메모리(260)에 기록하기 위한 소비 전 력이 데이터 비트 '0'을 기록하기 위한 소비 전력보다 크다고 가정한다(즉, 데이터 비트 '1'은 상변화 메모리(260)의 셀에 비결정 상태로 저장되고, 데이터 비트 '0'은 결정 상태로 저장된다고 가정). 이 경우에, 인코딩 함수는 인코딩부(220)에 수신된 사용자 데이터 중에서 데이터 비트 '1'의 개수를 감소시키기 위한(즉, 데이터 비트 '0'의 개수를 증가시키기 위한) 함수가 된다. 인코딩 결과, 데이터 비트 '1'의 개수가 감소되면, 인코딩된 데이터를 상변화 메모리(260)에 기록하기 위한 소비 전력은 감소될 것이다.For example, assume that power consumption for writing data bit '1' into phase change memory 260 is greater than power consumption for writing data bit '0' (ie, data bit '1' is phase change). Stored in a cell in memory 260 in an amorphous state, and data bit '0' is stored in a determined state). In this case, the encoding function is a function for reducing the number of data bits '1' among the user data received by the encoding unit 220 (that is, for increasing the number of data bits '0'). As a result of the encoding, if the number of data bits '1' is reduced, the power consumption for writing the encoded data into the phase change memory 260 will be reduced.

이러한 인코딩 함수의 예로써, 인버팅(inverting) 함수가 사용될 수 있다. 다만, 본 발명에서 인코딩 함수는 특정 종류에 한정되지 않으며, 실시예에 따라서 다양한 형태의 함수가 사용될 수 있다.As an example of such an encoding function, an inverting function can be used. However, in the present invention, the encoding function is not limited to a specific kind, and various types of functions may be used according to embodiments.

그러나, 인코딩된 데이터에 포함된 데이터 비트 '1'의 개수가 기록 요청된 원래의 데이터에 포함된 데이터 비트 '1'의 개수보다 많으면, 상변화 메모리(260)에 기록하기 위한 소비 전력은 오히려 증가될 것이다. 소비 전력이 증가하는 것을 방지하기 위해서 데이터 선택부(230)가 사용된다. 이에 대해서는 후술될 것이다.However, if the number of data bits '1' included in the encoded data is larger than the number of data bits '1' included in the original data requested to be written, the power consumption for writing to the phase change memory 260 is rather increased. Will be. The data selector 230 is used to prevent the power consumption from increasing. This will be described later.

또한, 변형된 실시예로, 인코딩부(220)는 수신부(210)로부터 수신된 사용자 데이터를 압축하고, 그리고나서 소정의 인코딩 함수에 의해 인코딩할 수 있다. 사용자 데이터가 압축되면, 압축된 데이터에 포함된 데이터 비트 '1'의 개수도 감소될 가능성이 크기 때문이다.Also, in a modified embodiment, the encoder 220 may compress the user data received from the receiver 210 and then encode it by a predetermined encoding function. If the user data is compressed, the number of data bits '1' included in the compressed data is also likely to be reduced.

데이터 선택부(230)는 수신부(210)에 수신된 원래의 사용자 데이터(즉, 기록 요청된 데이터) 및 인코딩부(220)에서 인코딩된 데이터를 수신한다. 데이터 선택부(230)는 원래의 사용자 데이터 및 인코딩된 데이터 중에서 상변화 메모리(260)에 기록하기 위한 소비 전력이 낮은 데이터를 선택하여 기록부(250)로 출력한다.The data selector 230 receives original user data (ie, data requested to be recorded) received by the receiver 210 and data encoded by the encoder 220. The data selector 230 selects data having low power consumption for recording in the phase change memory 260 among the original user data and the encoded data and outputs the data to the recorder 250.

예를 들어, 데이터 선택부(230)는 상변화 메모리(260)에 비결정 상태(또는 결정 상태)로 기록되는 셀의 개수를 이용함으로써, 소비 전력이 낮은 데이터를 선택할 수 있다. 즉, 데이터 선택부(230)는 원래의 사용자 데이터에 포함된 데이터 비트 '1'(또는 데이터 비트 '0')의 개수를 카운트하고, 인코딩된 데이터에 포함된 데이터 비트 '1'(또는 데이터 비트 '0')의 개수를 카운트한다. 그리고나서, 데이터 선택부(230)는 카운트 결과를 비교하여 데이터 비트 '1'의 개수가 작은 데이터(또는 데이터 비트 '0'의 개수가 큰 데이터)를 선택할 수 있다.For example, the data selector 230 may select data having low power consumption by using the number of cells that are recorded in the amorphous state (or the determined state) in the phase change memory 260. That is, the data selector 230 counts the number of data bits '1' (or data bits '0') included in the original user data, and the data bits '1' (or data bits) included in the encoded data. '0') is counted. Then, the data selector 230 may compare the count result and select data having a small number of data bits '1' (or data having a large number of data bits '0').

또한, 변형된 실시예로, 데이터 선택부(230)는 소비 전력 계산부(도시되지 않음), 비교부(도시되지 않음), 및 출력부(도시되지 않음)를 포함할 수도 있다. 소비 전력 계산부는 원래의 사용자 데이터를 상변화 메모리(260)에 기록하기 위한 소비 전력 및 인코딩된 데이터를 상변화 메모리(260)에 기록하기 위한 소비 전력을 각각 계산한다. 소비 전력을 계산하는 방법은 특정 비트 값을 가진 데이터 비트를 카운트하는 방법 등 다양한 방법이 사용될 수 있을 것이다. 비교부는 소비 전력 계산부에서 출력된 계산 결과를 비교한다. 출력부는 비교부에서 출력된 비교 결과에 따라 원래의 사용자 데이터 및 인코딩된 데이터 중 상변화 메모리(260)에 기록하기 위한 소비 전력이 적은 데이터를 기록부(250)로 출력한다.Further, in a modified embodiment, the data selector 230 may include a power consumption calculator (not shown), a comparator (not shown), and an output unit (not shown). The power consumption calculator calculates power consumption for recording the original user data in the phase change memory 260 and power consumption for recording the encoded data in the phase change memory 260, respectively. As a method of calculating power consumption, various methods may be used, such as counting data bits having a specific bit value. The comparator compares the calculation result output from the power consumption calculator. The output unit outputs, to the recording unit 250, data with less power consumption for recording in the phase change memory 260 among the original user data and the encoded data according to the comparison result output from the comparator.

또한, 데이터 선택부(230)는 원래의 사용자 데이터 및 인코딩된 데이터 중 어느 데이터가 선택되었는지에 대한 정보를 마킹 정보 생성부(240)로 출력한다.In addition, the data selector 230 outputs information on which data among the original user data and the encoded data is selected to the marking information generator 240.

마킹 정보 생성부(240)는 상변화 메모리(260)에 기록되는 데이터에 관한 정보를 데이터 선택부(230)로부터 수신한다. 그리고나서, 마킹 정보 생성부(240)는 상변화 메모리(260)에 기록되는 데이터에 관한 정보를 포함하는 마킹 정보를 생성하고, 생성된 마킹 정보를 기록부(250)로 출력한다. 도 2에서는, 데이터 선택부(230) 및 마킹 정보 생성부(240)는 별도의 블록으로 도시되어 있지만, 실시예에 따라서 마킹 정보 생성부(240)는 데이터 선택부(230)에 포함될 수도 있다.The marking information generator 240 receives information about data recorded in the phase change memory 260 from the data selector 230. Then, the marking information generation unit 240 generates marking information including information about the data recorded in the phase change memory 260, and outputs the generated marking information to the recording unit 250. In FIG. 2, although the data selector 230 and the marking information generator 240 are illustrated as separate blocks, the marking information generator 240 may be included in the data selector 230 according to an exemplary embodiment.

기록부(250)는 데이터 선택부(230)로부터 원래의 사용자 데이터 및 인코딩된 데이터 중 소비 전력이 적은 하나의 데이터를 수신하고, 마킹 정보 생성부(240)로부터 마킹 정보를 수신한다. 기록부(250)는 수신된 데이터 및 마킹 정보를 상변화 메모리(260)에 기록한다.The recording unit 250 receives one piece of data having low power consumption among the original user data and the encoded data from the data selecting unit 230, and receives the marking information from the marking information generating unit 240. The recorder 250 records the received data and marking information in the phase change memory 260.

도 3은 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 장치를 도시한 기능 블록도이다. 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 장치(300)는 판독부(310), 결정부(320), 디코딩부(330), 및 출력부(340)를 포함한다.3 is a functional block diagram illustrating a data reading apparatus of a phase change memory according to an exemplary embodiment of the present invention. The data reading apparatus 300 of the phase change memory according to the exemplary embodiment of the present invention includes a reading unit 310, a determining unit 320, a decoding unit 330, and an output unit 340.

판독부(310)는 판독된 데이터 및 마킹 정보를 상변화 메모리(도시되지 않음)로부터 판독한다. 상변화 메모리에 저장되어 있던 판독 요청된 데이터 및 마킹 정보는 다이내믹 랜덤 액세스 메모리(DRAM)와 같은 버퍼 메모리에 전송 및 저장되고, 버퍼 메모리에 저장된 판독 요청된 데이터 및 마킹 정보가 판독부(310)에 전송되어 판독될 수 있다.The reading unit 310 reads the read data and marking information from the phase change memory (not shown). The read requested data and marking information stored in the phase change memory are transferred and stored in a buffer memory such as a dynamic random access memory (DRAM), and the read requested data and marking information stored in the buffer memory are read to the reading unit 310. Can be sent and read.

판독된 데이터는 인코딩되지 않은 원래의 사용자 데이터일 수도 있고 또는 소정의 인코딩 함수에 의해 인코딩된 데이터일 수도 있다. 이는, 도 2를 참조하여 설명된 바와 같이, 상변화 메모리(도시되지 않음)에는 데이터 기록시의 전력 소모에 기초하여 원래의 사용자 데이터가 저장될 수도 있고 또는 인코딩된 데이터가 저장될 수도 있기 때문이다. 판독된 데이터가 인코딩되었는지 여부에 관한 정보는 판독부(310)에 의해서 판독된 마킹 정보에 포함되어 있다.The read data may be unencoded original user data or may be data encoded by a predetermined encoding function. This is because, as described with reference to FIG. 2, in the phase change memory (not shown), original user data may be stored or encoded data may be stored based on power consumption during data recording. . Information on whether the read data is encoded is included in the marking information read by the reading unit 310.

인코딩 함수로는 인버팅(inverting) 함수가 사용될 수 있다. 그러나, 본 발명에서 인코딩 함수는 특정 종류에 한정되지 않으며, 실시예에 따라서 다양한 형태의 함수가 사용될 수 있다. 인코딩 함수에 대해서는 도 2를 참조하여 상술되었으므로 더 이상의 설명은 생략된다.As an encoding function, an inverting function may be used. However, in the present invention, the encoding function is not limited to a specific kind, and various types of functions may be used according to embodiments. Since the encoding function has been described above with reference to FIG. 2, further description thereof will be omitted.

판독부(310)에서 판독된 데이터 및 마킹 정보는 결정부(320)로 출력된다. 결정부(320)는 판독부(310)로부터 수신한 마킹 정보를 이용하여 판독된 데이터가 인코딩 함수에 의해 인코딩된 데이터인지 또는 원래의 사용자 데이터인지 여부를 결정한다. 결정 결과, 판독된 데이터가 인코딩된 데이터이면, 결정부(320)는 판독된 데이터를 디코딩부(330)로 전송한다. 또한, 판독된 데이터가 인코딩되지 않은 원래의 사용자 데이터이면, 결정부(320)는 판독된 데이터를 출력부(340)로 전송한다.The data and marking information read by the reading unit 310 are output to the determining unit 320. The determination unit 320 determines whether the read data is data encoded by an encoding function or original user data using the marking information received from the reading unit 310. As a result of the determination, if the read data is the encoded data, the determination unit 320 transmits the read data to the decoding unit 330. In addition, if the read data is unencoded original user data, the determination unit 320 transmits the read data to the output unit 340.

디코딩부(330)는 결정부(320)로부터 판독된 데이터를 수신한다. 여기서, 디코딩부(330)가 수신한 데이터는 인코딩 함수에 의해 인코딩된 데이터이다. The decoder 330 receives the data read from the determiner 320. Here, the data received by the decoding unit 330 is data encoded by an encoding function.

디코딩부(330)는 수신한 데이터를 소정의 디코딩 함수에 의해 디코딩한다. 여기서, 디코딩 함수는 도 2를 참조하여 설명한 인코딩 함수의 역 함수이다. 디코 딩 함수로는 인버팅(inverting) 함수가 사용될 수 있다. 그러나, 본 발명에서 디코딩 함수는 특정 종류에 한정되지 않으며, 실시예에 따라서 다양한 형태의 함수가 사용될 수 있다. 디코딩 결과, 사용자는 상변화 메모리(도시되지 않음)에 저장되기 이전의 원래의 사용자 데이터를 복원시킬 수 있다.The decoding unit 330 decodes the received data by a predetermined decoding function. Here, the decoding function is an inverse function of the encoding function described with reference to FIG. 2. An inverting function may be used as the decoding function. However, in the present invention, the decoding function is not limited to a specific kind, and various types of functions may be used according to embodiments. As a result of the decoding, the user can restore the original user data before being stored in the phase change memory (not shown).

출력부(340)는 디코딩부(330)로부터 수신된 데이터 또는 결정부(320)로부터 수신된 데이터를 출력한다. 결과적으로, 출력부(340)는 인코딩 함수에 의해 인코딩된 데이터가 아닌 원래의 사용자 데이터를 출력한다. 또한, 변형된 실시예로, 판독된 데이터가 압축된 데이터인 경우, 출력부(330)는 판독된 데이터의 압축을 풀고, 그리고나서 압축이 풀린 데이터를 출력할 수도 있다.The output unit 340 outputs data received from the decoding unit 330 or data received from the determination unit 320. As a result, the output unit 340 outputs original user data rather than data encoded by the encoding function. Further, in a modified embodiment, when the read data is compressed data, the output unit 330 may decompress the read data and then output the decompressed data.

도 4는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 방법을 도시한 흐름도이다.4 is a flowchart illustrating a data writing method of a phase change memory according to an embodiment of the present invention.

도 4를 참조하면, 단계 410에서는, 상변화 메모리의 데이터 기록 장치는 기록 요청된 원래의 사용자 데이터를 소정의 인코딩 함수에 의해 인코딩한다. 사용자 데이터는 버퍼 메모리로부터 수신될 수 있다. 또한, 인코딩 함수는 '0' 및 '1' 중 어느 하나의 값을 가진 비트들의 개수를 감소시키는 함수이다. 인코딩 함수는, 예를 들어, 인버팅(inverting) 함수일 수 있다.4, in step 410, the data recording apparatus of the phase change memory encodes original user data requested for recording by a predetermined encoding function. User data may be received from a buffer memory. Also, the encoding function is a function for reducing the number of bits having a value of any one of '0' and '1'. The encoding function may be, for example, an inverting function.

단계 420에서는, 상변화 메모리의 데이터 기록 장치는 원래의 사용자 데이터 및 인코딩된 데이터 중에 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택한다. 소비 전력이 낮은 데이터를 선택하는 방법으로는, 상변화 메모리에서 비결정 상태로 기록되는 셀의 개수를 카운트하는 방법이 있다. 또는, 원래의 사용 자 데이터를 상변화 메모리에 기록하기 위한 소비 전력 및 인코딩된 데이터를 상변화 메모리에 기록하기 위한 소비 전력을 각각 계산하고, 계산 결과를 비교하며, 비교 결과에 따라 원래의 사용자 데이터 또는 인코딩된 데이터를 출력하는 방법도 가능하다.In operation 420, the data recording apparatus of the phase change memory selects data having low power consumption for recording in the phase change memory among the original user data and the encoded data. As a method of selecting data having low power consumption, there is a method of counting the number of cells written in an amorphous state in the phase change memory. Alternatively, the power consumption for recording the original user data in the phase change memory and the power consumption for recording the encoded data in the phase change memory are respectively calculated, the calculation results are compared, and the original user data is based on the comparison result. Alternatively, a method of outputting encoded data is also possible.

단계 430에서는, 상변화 메모리의 데이터 기록 장치는, 단계 420에서의 선택 결과에 기초하여, 기록 요청된 원래의 사용자 데이터 및 인코딩된 데이터 중 어느 하나를 상변화 메모리에 기록한다.In step 430, the data recording apparatus of the phase change memory writes any one of the original user data and the encoded data requested to be recorded in the phase change memory based on the selection result in step 420.

단계 440에서는, 상변화 메모리의 데이터 기록 장치는 원래의 사용자 데이터 및 인코딩된 데이터 중 어느 데이터가 상변화 메모리에 기록되는지에 대한 정보를 포함하는 마킹 정보를 생성한다.In operation 440, the data recording apparatus of the phase change memory generates marking information including information on which of the original user data and the encoded data is recorded in the phase change memory.

단계 450에서는, 상변화 메모리의 데이터 기록 장치는 마킹 정보를 상변화 메모리에 기록한다.In operation 450, the data recording apparatus of the phase change memory writes the marking information into the phase change memory.

도 5는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 방법을 도시한 흐름도이다.5 is a flowchart illustrating a data reading method of a phase change memory according to an embodiment of the present invention.

도 5를 참조하면, 단계 510에서는, 상변화 메모리의 데이터 판독 장치는 판독 요청된 데이터를 상변화 메모리로부터 판독한다. 판독 요청된 데이터는 원래의 사용자 데이터일 수도 있고 또는 인코딩된 데이터일 수도 있다. 상변화 메모리의 데이터 판독 장치는 상기 판독 요청된 데이터를 상변화 메모리로부터 버퍼 메모리를 거쳐서 판독할 수 있다.Referring to FIG. 5, in operation 510, the data reading apparatus of the phase change memory reads data requested to be read from the phase change memory. The read requested data may be original user data or encoded data. The data reading apparatus of the phase change memory may read the read requested data from the phase change memory through the buffer memory.

단계 520에서는, 상변화 메모리의 데이터 판독 장치는 판독된 데이터가 원래 의 사용자 데이터인지 또는 인코딩된 데이터인지 여부에 관한 정보를 포함하는 마킹 정보를 상변화 메모리로부터 판독한다.In operation 520, the data reading apparatus of the phase change memory reads the marking information from the phase change memory including information on whether the read data is original user data or encoded data.

단계 530에서는, 상변화 메모리의 데이터 판독 장치는 단계 520에서 판독된 마킹 정보를 이용하여 판독된 데이터가 인코딩된 데이터인지 여부를 결정한다.In operation 530, the data reading apparatus of the phase change memory determines whether the read data is the encoded data using the marking information read in operation 520.

단계 540에서는, 판독된 데이터가 인코딩된 데이터이면 프로세스는 단계 550으로 진행되고, 판독된 데이터가 원래의 사용자 데이터이면 프로세스는 단계 570으로 진행된다.In step 540, the process proceeds to step 550 if the read data is the encoded data, and the process proceeds to step 570 if the read data is the original user data.

단계 550에서는, 판독된 데이터가 인코딩된 데이터이면, 상변화 메모리의 데이터 판독 장치는 판독된 데이터를 소정의 디코딩 함수에 의해 디코딩한다. 예를 들어, 디코딩 함수는 인버팅(inverting) 함수일 수 있다. 디코딩 함수에 대해서는, 도 3을 참조하여 상술되었으므로 추가적인 설명은 생략된다.In step 550, if the read data is encoded data, the data reading apparatus of the phase change memory decodes the read data by a predetermined decoding function. For example, the decoding function may be an inverting function. Since the decoding function has been described above with reference to FIG. 3, further description is omitted.

단계 560에서는, 상변화 메모리의 데이터 판독 장치는 디코딩된 데이터를 출력한다.In operation 560, the data reading apparatus of the phase change memory outputs decoded data.

단계 570에서는, 판독된 데이터가 원래의 사용자 데이터이면, 상변화 메모리의 데이터 판독 장치는 판독된 데이터를 출력한다.In step 570, if the read data is original user data, the data reading apparatus of the phase change memory outputs the read data.

또한, 본 발명은 컴퓨터로 판독가능한 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.The present invention can also be embodied as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터로 판독가능한 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터로 판독가능한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

상술한 내용은 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 실시예들을 만들어 내는 것이 가능하다. 그러므로, 상기 실시예들은 본 발명을 한정하는 것으로 해석되어서는 안 되고, 청구범위에 기재되어 있는 발명의 특징들의 범위 내에서 자유로이 변경될 수도 있다.The above description can be made in various embodiments without departing from the spirit of the present invention. Therefore, the above embodiments should not be construed as limiting the invention, but may be varied freely within the scope of the features of the invention as set forth in the claims.

도 1은 일반적인 스토리지 시스템을 도시한 도면이다.1 illustrates a general storage system.

도 2는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 장치를 도시한 기능 블록도이다.2 is a functional block diagram showing a data recording apparatus of a phase change memory according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 장치를 도시한 기능 블록도이다.3 is a functional block diagram illustrating a data reading apparatus of a phase change memory according to an exemplary embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 기록 방법을 도시한 흐름도이다.4 is a flowchart illustrating a data writing method of a phase change memory according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 상변화 메모리의 데이터 판독 방법을 도시한 흐름도이다.5 is a flowchart illustrating a data reading method of a phase change memory according to an embodiment of the present invention.

Claims (20)

상변화 메모리를 사용하는 스토리지 장치의 데이터 기록 방법에 있어서,In the data recording method of a storage device using a phase change memory, 버퍼 메모리로부터 기록요청된 데이터를 수신하는 단계;Receiving the data requested to be written from the buffer memory; 상기 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하는 단계;Encoding the write requested data by a predetermined encoding function; 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중에 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계;Selecting data having low power consumption for writing to the phase change memory among the write requested data and the encoded data; 상기 선택 결과에 기초하여, 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중 어느 하나를 상기 상변화 메모리에 기록하는 단계;Based on the selection result, writing any one of the write requested data and the encoded data to the phase change memory; 상기 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 단계; 및Generating marking information representing data recorded in the phase change memory; And 상기 마킹 정보를 상기 상변화 메모리에 기록하는 단계를 포함하고,Writing the marking information to the phase change memory; 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계는, 상기 상변화 메모리에서 비결정 상태로 기록되는 셀의 개수를 이용하여 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 기록 방법.The step of selecting data having low power consumption for writing in the phase change memory includes selecting using the number of cells recorded in the amorphous state in the phase change memory. 제1항에 있어서,The method of claim 1, 상기 인코딩 함수는 '0' 및 '1' 중 어느 하나의 값을 가진 비트들의 개수를 감소시키는 함수인 것을 특징으로 하는 데이터 기록 방법.And the encoding function is a function for reducing the number of bits having any one of '0' and '1'. 제1항에 있어서,The method of claim 1, 상기 인코딩 함수는 인버팅(inverting) 함수인 것을 특징으로 하는 데이터 기록 방법.And the encoding function is an inverting function. 제1항에 있어서, 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 데이터를 선택하는 단계는,The method of claim 1, wherein selecting data having low power consumption for writing to the phase change memory includes: 상기 기록 요청된 데이터를 상기 상변화 메모리에 기록하기 위한 제1 소비 전력 및 상기 인코딩된 데이터를 상기 상변화 메모리에 기록하기 위한 제2 소비 전력을 각각 계산하는 단계;Calculating first power consumption for writing the write requested data into the phase change memory and second power consumption for writing the encoded data into the phase change memory, respectively; 상기 계산 결과를 비교하는 단계; 및Comparing the calculation results; And 상기 비교 결과에 따라 선택적으로 상기 기록 요청된 데이터 또는 상기 인코딩된 데이터를 출력하는 단계를 포함하는 것을 특징으로 하는 데이터 기록 방법.Selectively outputting the write requested data or the encoded data according to the comparison result. 상변화 메모리의 데이터 기록 장치에 있어서,In the data recording apparatus of the phase change memory, 버퍼 메모리로부터 상기 기록 요청된 데이터를 수신하는 수신부;A receiving unit which receives the write requested data from a buffer memory; 상기 기록 요청된 데이터를 소정의 인코딩 함수에 의해 인코딩하는 인코딩부;An encoding unit for encoding the recorded requested data by a predetermined encoding function; 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중에 상기 상변화 메모리에 기록하기 위한 소비 전력이 낮은 것을 선택하는 데이터 선택부;A data selector which selects one of the write requested data and the encoded data having a low power consumption for writing to the phase change memory; 상기 선택 결과에 기초하여, 상기 기록 요청된 데이터 및 상기 인코딩된 데이터 중 어느 하나를 상기 상변화 메모리에 기록하는 기록부; 및A recording unit for recording any one of the write requested data and the encoded data in the phase change memory based on the selection result; And 상기 상변화 메모리에 기록되는 데이터를 나타내는 마킹 정보를 생성하는 마킹 정보 생성부를 포함하고,A marking information generator for generating marking information representing data recorded in the phase change memory; 상기 기록부는 상기 마킹 정보를 상기 상변화 메모리에 기록하고, The recording unit records the marking information in the phase change memory, 상기 데이터 선택부는 상기 상변화 메모리에서 비결정 상태로 기록되는 셀의 개수를 이용하여 선택하는 것을 특징으로 하는 데이터 기록 장치.And the data selector selects the number of cells to be recorded in the amorphous state in the phase change memory. 제5항에 있어서,The method of claim 5, 상기 인코딩 함수는 '0' 및 '1' 중 어느 하나의 값을 가진 비트들의 개수를 감소시키는 함수인 것을 특징으로 하는 데이터 기록 장치.And the encoding function is a function for reducing the number of bits having any one of '0' and '1'. 제5항에 있어서,The method of claim 5, 상기 인코딩 함수는 인버팅(inverting) 함수인 것을 특징으로 하는 데이터 기록 장치.And the encoding function is an inverting function. 제1항 내지 제4항 중 어느 한 항의 데이터 기록 방법을 실행하기 위한 프로그램을 저장한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium storing a program for executing the data recording method of any one of claims 1 to 4. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR20070099881A 2007-10-04 2007-10-04 Method for writing and reading data of phase-change random access memory and apparatus thereof Active KR101281685B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20070099881A KR101281685B1 (en) 2007-10-04 2007-10-04 Method for writing and reading data of phase-change random access memory and apparatus thereof
US12/231,239 US7796427B2 (en) 2007-10-04 2008-08-29 Method and apparatus for writing data to and reading data from phase-change random access memory
EP20080017428 EP2045815A1 (en) 2007-10-04 2008-10-03 Method, apparatus and computer-readable recording medium for writing data to and reading data from phase-change random access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20070099881A KR101281685B1 (en) 2007-10-04 2007-10-04 Method for writing and reading data of phase-change random access memory and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20090034572A KR20090034572A (en) 2009-04-08
KR101281685B1 true KR101281685B1 (en) 2013-07-03

Family

ID=39952286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070099881A Active KR101281685B1 (en) 2007-10-04 2007-10-04 Method for writing and reading data of phase-change random access memory and apparatus thereof

Country Status (3)

Country Link
US (1) US7796427B2 (en)
EP (1) EP2045815A1 (en)
KR (1) KR101281685B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101583002B1 (en) * 2009-02-23 2016-01-21 삼성전자주식회사 Computing system, its booting method, and code data pinning method
US8432729B2 (en) 2010-04-13 2013-04-30 Mosaid Technologies Incorporated Phase-change memory with multiple polarity bits having enhanced endurance and error tolerance
KR102049281B1 (en) * 2012-10-23 2019-11-27 삼성전자주식회사 Memory system including nonvolatile memory and controller and programming method of programming data into nonvolatile memory
CN103151072B (en) * 2013-03-28 2016-05-18 中国科学院微电子研究所 Data writing method and device of phase change memory
CN104142892B (en) * 2013-05-09 2017-08-11 华为技术有限公司 A kind of data read-write method, apparatus and system
KR102126760B1 (en) 2014-04-07 2020-06-25 삼성전자 주식회사 Method for driving nonvolatile memory device using resistive element

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366419A (en) * 2001-06-07 2002-12-20 Mitsubishi Electric Corp Data processor and data processing method
US20030086302A1 (en) 2000-04-19 2003-05-08 Fujitsu Limited Data write/read control method and memory device
JP2004086986A (en) 2002-08-27 2004-03-18 Hitachi Ltd Semiconductor device
JP2007250171A (en) 2006-03-16 2007-09-27 Samsung Electronics Co Ltd Phase change memory device and program suspend read method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5166758A (en) 1991-01-18 1992-11-24 Energy Conversion Devices, Inc. Electrically erasable phase change memory
US5673224A (en) 1996-02-23 1997-09-30 Micron Quantum Devices, Inc. Segmented non-volatile memory array with multiple sources with improved word line control circuitry
US6633951B2 (en) * 2001-03-15 2003-10-14 Intel Corporation Method for reducing power consumption through dynamic memory storage inversion
US6545907B1 (en) * 2001-10-30 2003-04-08 Ovonyx, Inc. Technique and apparatus for performing write operations to a phase change material memory device
US7474555B2 (en) * 2006-03-17 2009-01-06 Thomas Nirschl Integrated circuit including resistivity changing material element
KR100827702B1 (en) * 2006-11-01 2008-05-07 삼성전자주식회사 Variable resistance semiconductor memory device
KR100819061B1 (en) * 2007-03-06 2008-04-03 한국전자통신연구원 Data writing device and method in phase change memory through write power calculation and data reversal function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030086302A1 (en) 2000-04-19 2003-05-08 Fujitsu Limited Data write/read control method and memory device
JP2002366419A (en) * 2001-06-07 2002-12-20 Mitsubishi Electric Corp Data processor and data processing method
JP2004086986A (en) 2002-08-27 2004-03-18 Hitachi Ltd Semiconductor device
JP2007250171A (en) 2006-03-16 2007-09-27 Samsung Electronics Co Ltd Phase change memory device and program suspend read method thereof

Also Published As

Publication number Publication date
EP2045815A1 (en) 2009-04-08
US20090094405A1 (en) 2009-04-09
US7796427B2 (en) 2010-09-14
KR20090034572A (en) 2009-04-08

Similar Documents

Publication Publication Date Title
US8516219B2 (en) Index cache tree
TWI506421B (en) System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US20090323419A1 (en) Read-time wear-leveling method in storage system using flash memory device
CN101271730B (en) Memory system with mixed density memory and its erasing and file allocation management method
KR101580454B1 (en) Selecting between non-volatile memory units having different minimum addressable data unit sizes
US9275696B2 (en) Energy conservation in a multicore chip
KR101281685B1 (en) Method for writing and reading data of phase-change random access memory and apparatus thereof
US9236129B2 (en) Flash memory integrated circuit with compression/decompression CODEC
CN112068772B (en) Data storage method, data storage device and storage device
US20220156188A1 (en) Block family combination and voltage bin selection
KR20210006102A (en) Memory system for determining usage of buffer based on i/o throughput and operation method thereof
CN105094709A (en) Dynamic data compression method for solid-state disc storage system
TW202240594A (en) Methods and systems for managing memory with dynamic ecc protection
KR20060056440A (en) Apparatus and method for processing data in flash memory
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
KR101146082B1 (en) Non-volatile memory storage and method for improving performance of non-volatile memory storage
JP2012521032A (en) SSD controller and operation method of SSD controller
CN116185773A (en) Log data storage method and device, electronic equipment and storage medium
US11249921B2 (en) Page modification encoding and caching
CN114995752A (en) Data storage method, reading method and device based on MLC phase change memory
KR101996136B1 (en) Data mapping enabling fast read multi-level 3d nand to improve lifetime capacity
KR101718888B1 (en) Memory system and garbage collection method thereof
Chen et al. Combining Cache and Refresh to Optimize SSD Read Performance Scheme
CN106980464B (en) System optimization method using oversampled reads
KR20210024722A (en) A memory system for predicting whether an internal operation can be performed and a data processing system including the same

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20071004

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20110808

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20071004

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20121127

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20130507

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20130627

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20130628

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20160531

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20160531

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20170601

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20180601

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20190530

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20200529

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20210528

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20220525

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20230524

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20240527

Start annual number: 12

End annual number: 12