KR20140122730A - 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법 - Google Patents

메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법 Download PDF

Info

Publication number
KR20140122730A
KR20140122730A KR20147023531A KR20147023531A KR20140122730A KR 20140122730 A KR20140122730 A KR 20140122730A KR 20147023531 A KR20147023531 A KR 20147023531A KR 20147023531 A KR20147023531 A KR 20147023531A KR 20140122730 A KR20140122730 A KR 20140122730A
Authority
KR
South Korea
Prior art keywords
memory
data
recording
recording data
stored
Prior art date
Application number
KR20147023531A
Other languages
English (en)
Other versions
KR101904270B1 (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 고쿠리츠다이가쿠호우진 도쿄다이가쿠
Publication of KR20140122730A publication Critical patent/KR20140122730A/ko
Application granted granted Critical
Publication of KR101904270B1 publication Critical patent/KR101904270B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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
    • 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/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Abstract

1페이지당의 섹터의 이용률인 데이터 이용률(R)이 문턱값(Rth1) 이상이고 기록 데이터가 고빈도 개서 데이터가 아닐 때에는 플래시 메모리에 데이터가 기억되도록 플래시 메모리를 제어하고(단계 S120∼S140), 1페이지당의 섹터의 이용률인 페이지 이용률(R)이 문턱값(Rth1) 미만일 때나 데이터 이용률(R)이 문턱값(Rth1) 이상이더라도 기록 데이터가 고빈도 개서 데이터일 때에는 기록 데이터가 ReRAM에 기억시키도록 ReRAM을 제어한다(단계 S120, S150∼S170). 이에 따라, 플래시 메모리의 열화를 억제할 수 있다.

Description

메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법{MEMORY CONTROLLER, DATA STORAGE DEVICE AND MEMORY CONTROL METHOD}
본 발명은, 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법에 관한 것이고, 상세하게는, 복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서(改書)한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리 컨트롤러, 이러한 메모리 컨트롤러를 구비하는 데이터 기억 장치 및 이러한 제 1 메모리와 제 2 메모리를 제어하는 메모리의 제어 방법에 관한 것이다.
종래에, 이 종류의 메모리 컨트롤러로서는, PC 시스템으로부터의 데이터가 캐시 메모리로서 전력의 공급이 차단되어도 기억하고 있는 데이터를 유지하는 불휘발성의 랜덤 액세스 메모리인 FeRAM(Ferroelectric Random Access Memory, 강유전체 랜덤 액세스 메모리) 또는 HDD에 기억되도록 FeRAM이나 HDD를 제어하는 것이 제안되고 있다(예를 들면, 비특허문헌 1 참조). 이 장치에서는, 예기치 못한 전원의 차단에 대비하여 FeRAM의 데이터를 HDD로 정기적으로 퇴피시킬 필요가 없기 때문에, FeRAM에 기억시키는 데이터의 데이터량을 비교적 크게 할 수 있어, 캐시 히트율의 향상을 도모할 수 있다고 하고 있다.
Daisaburo Takashima et al, 「A 128Mb ChainFeRAMTM and System Designs for HDD Application and Enhanced HDD Performance」, IEEE Asian Solid-State Circuits Conference, November 16-18, 2009, Taipei, Taiwan
그런데, 호스트(host) 장치로부터의 데이터를 기억하는 SSD(Solid State Drive)로서 복수의 섹터로 이루어지는 페이지마다 기억되어 있는 데이터를 일단 독출하여 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터가 기록되는 NAND형 플래시 메모리 등의 불휘발성 메모리와, 이 불휘발성 메모리보다 고속으로 데이터를 읽고 쓰기 가능한 ReRAM(Resistance Random Access Memory, 저항 변화형 메모리) 등의 랜덤 액세스 메모리와, 불휘발성 메모리와 랜덤 액세스 메모리를 제어하는 메모리 컨트롤러가 탑재된 것이 제안되고 있다. 이러한 SSD에 탑재되는 불휘발성 메모리에서는, 1페이지 내에서 데이터의 기억에 이용되고 있는 섹터수가 적은 상태로 기록 동작이 빈번히 실행되면, 본래대로라면 데이터의 기억에 이용할 필요없는 영역에 데이터의 읽고 쓰기되어 불휘발성 메모리가 열화되어 버린다.
본 발명의 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법은, 불휘발성 메모리의 열화를 억제하는 것을 주목적으로 한다.
본 발명의 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법은, 상술의 주목적을 달성하기 위해 이하의 수단을 채용했다.
본 발명의 메모리 컨트롤러는,
복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 상기 제 1 메모리보다 고속으로 데이터의 기록이 가능한 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리 컨트롤러에 있어서,
기록 데이터와 당해 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 상기 기록 데이터를 상기 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 상기 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 상기 입력된 기록 데이터가 상기 기록 동작에 의해 상기 제 1 메모리에 기록되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하고, 상기 데이터 이용률이 상기 소정율 미만일 때에는 상기 입력된 기록 데이터가 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는 제어부
를 구비하는 것을 요지로 한다.
이 본 발명의 메모리 컨트롤러에서는, 기록 데이터와 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 기록 데이터를 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 입력된 기록 데이터가 기록 동작에 의해 제 1 메모리에 기록되도록 제 1 메모리와 제 2 메모리를 제어하고, 데이터 이용률이 소정율 미만일 때에는 입력된 기록 데이터가 제 2 메모리에 기억되도록 제 1 메모리와 제 2 메모리를 제어한다. 제 1 메모리의 1페이지당의 데이터 이용률을 소정율 이상으로 할 수 있고, 데이터의 기억에 이용되어 있지 않은 제 1 메모리의 기억 영역에의 불필요한 독출이나 기록이 억제된다. 이에 따라, 제 1 메모리의 열화를 억제할 수 있다. 여기서, 「소정 범위」에는, 기록 데이터의 논리 어드레스에 대응하는 1페이지 분 또는 복수 페이지 분의 데이터의 범위나, 기록 데이터의 논리 어드레스에 대응하는 페이지에 있어서 섹터의 사이즈보다 큰 소정 사이즈 분의 데이터의 범위 등이 포함된다.
이러한 본 발명의 메모리 컨트롤러에 있어서, 상기 제 2 메모리에 있어서 데이터가 기억되어 있는 기억 영역의 사이즈가 커짐에 따라 작아지는 경향으로 상기 소정율을 설정하는 비율 설정부를 구비하는 것으로 할 수도 있다. 이렇게 하면, 제 2 메모리에 있어서 새로운 데이터의 기억에 이용 가능한 기억 영역이 적어졌을 때에, 기록 데이터를 제 1 메모리에 기억되는 것을 촉진할 수 있다.
또, 본 발명의 메모리 컨트롤러에 있어서, 상기 제어부는, 상기 데이터 이용률이 상기 소정율 이상일 때에 상기 입력된 기록 데이터가 기록 빈도가 높은 고(高)빈도 기록 데이터일 때에는, 상기 입력된 기록 데이터가 상기 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는 것으로 할 수도 있다. 입력된 기록 데이터가 고빈도 기록 데이터일 때에 제 1 메모리에 데이터를 기록하면, 기록 동작이 빈번히 실행되어버려, 제 1 메모리의 열화가 진행되어 버린다. 따라서, 입력된 기록 데이터가 고빈도 기록 데이터일 때에 입력된 데이터를 제 2 메모리에 출력함과 함께 출력한 데이터가 제 2 메모리에 기억되도록 제 2 메모리를 제어함으로써, 제 1 메모리의 열화를 억제할 수 있다. 이 경우에 있어서, 상기 데이터 이용률이 상기 소정율 이상이 되었을 때의 상기 입력된 기록 데이터의 논리 어드레스를 제 1 개수 기억하는 어드레스 정보 기억부를 구비하고, 상기 제어부는, 상기 입력된 기록 데이터의 논리 어드레스가 상기 논리 어드레스 정보 기억부에 상기 제 1 개수보다 적은 제 2 개수 이상 기억되어 있을 때에는 상기 입력된 기록 데이터가 상기 고빈도 기록 데이터인 것으로 할 수 있다.
또한, 본 발명의 메모리 컨트롤러에 있어서, 상기 제어부는, 상기 각 섹터가 데이터를 기억하고 있는지의 여부의 정보인 이용 섹터 정보와 입력된 기록 데이터를 기억할 때에 이용하는 섹터에 의거하여 상기 페이지 이용률을 연산하는 것으로 할 수도 있다. 이 경우에 있어서, 상기 제어부는, 상기 페이지 이용률이 상기 소정율보다 큰 제 2 비율이 되었을 때에는, 상기 페이지 이용률이 상기 제 2 비율이 되었을 때 이후의 상기 각 섹터가 데이터를 기억하고 있는지의 여부의 정보를 상기 이용 섹터 정보로 하는 것으로 할 수도 있다. 페이지 이용률이 소정율 미만일 때에는 입력된 기록 데이터가 제 2 메모리에 기억되도록 제 1 메모리와 제 2 메모리를 제어한다. 그 때문에, 페이지 이용률이 증가하면, 제 2 메모리에 데이터가 기억되지 않게 되고, 제 1 메모리에 계속해서 데이터가 기억되어 버리기 때문에, 제 1 메모리의 열화가 진행되거나, 데이터의 기록 속도가 저하되어 버리지만, 페이지 이용률이 소정율보다 큰 제 2 비율일 때에는, 페이지 이용률이 제 2 비율이 되었을 때 이후의 각 섹터가 데이터를 기억하고 있는지의 여부의 정보를 이용 섹터 정보로 함으로써, 재차, 제 2 메모리에 데이터를 기억시킬 수 있도록 되어, 제 1 메모리의 열화를 억제할 수 있고, 데이터의 기록 속도의 저하를 억제할 수 있다.
그리고, 본 발명의 메모리 컨트롤러에 있어서, 상기 제어부는, 상기 입력된 기록 데이터를 상기 제 2 메모리에 기억시킬 때, 상기 입력된 기록 데이터의 논리 어드레스에 대응하는 데이터가 이미 제 1 메모리의 기억 영역에 기억되어 있을 때에는, 상기 제 1 메모리에 기억되어 있는 데이터를 페이지 단위로 독출하여 당해 독출한 데이터의 섹터 중 기록 데이터에서 기록하는 대상이 되는 섹터를 개서한 후에 페이지 단위로 제 2 메모리에 기억시키는 것으로 할 수도 있다.
또한, 상기 제 1 메모리는, NAND형 플래시 메모리인 것으로 할 수도 있다. 이렇게 하면, 제 1 메모리가 NAND형 플래시 메모리일 때에, 제 1 메모리의 열화를 억제할 수 있다. 또, 상기 제 2 메모리는, 저항 변화형 메모리인 것으로 할 수도 있다. 이렇게 하면, 제 2 메모리가 저항 변화형 메모리일 때에, 제 1 메모리의 열화를 억제할 수 있다.
본 발명의 데이터 기억 장치는,
상술한 어느 하나의 태양의 본 발명의 메모리 컨트롤러, 즉, 기본적으로는, 복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 상기 제 1 메모리보다 고속으로 데이터의 기록이 가능한 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리 컨트롤러에 있어서, 기록 데이터와 당해 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 상기 기록 데이터를 상기 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 상기 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 상기 입력된 기록 데이터가 상기 기록 동작에 의해 상기 제 1 메모리에 기록되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하고, 상기 데이터 이용률이 상기 소정율 미만일 때에는 상기 입력된 기록 데이터가 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는 제어부를 구비하는 메모리 컨트롤러와,
상기 제 1 메모리와,
상기 제 2 메모리
를 구비하는 것을 요지로 한다.
이 본 발명의 데이터 기억 장치에서는, 상술한 어느 하나의 태양의 본 발명의 메모리 컨트롤러를 구비하고 있기 때문에, 이러한 메모리 컨트롤러가 갖는 효과, 예를 들면, 제 1 메모리의 열화를 억제할 수 있는 효과 등과 동일한 효과를 갖는다.
복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 상기 제 1 메모리보다 고속으로 데이터의 기록이 가능한 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리의 제어 방법에 있어서,
기록 데이터와 당해 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 상기 기록 데이터를 상기 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 상기 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 상기 입력된 기록 데이터가 상기 기록 동작에 의해 상기 제 1 메모리에 기록되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하고, 상기 데이터 이용률이 상기 소정율 미만일 때에는 상기 입력된 기록 데이터가 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는
것을 요지로 한다.
이 본 발명의 메모리의 제어 방법에서는, 기록 데이터와 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 기록 데이터를 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 입력된 기록 데이터가 기록 동작에 의해 제 1 메모리에 기록되도록 제 1 메모리와 제 2 메모리를 제어하고, 데이터 이용률이 소정율 미만일 때에는 입력된 기록 데이터가 제 2 메모리에 기억되도록 제 1 메모리와 제 2 메모리를 제어한다. 제 1 메모리의 1페이지당의 데이터 이용률을 소정율 이상으로 할 수 있고, 데이터의 기억에 이용되어 있지 않은 제 1 메모리의 기억 영역에의 불필요한 독출이나 기록이 억제된다. 이에 따라, 제 1 메모리의 열화를 억제할 수 있다. 여기서, 「소정 범위」에는, 기록 데이터의 논리 어드레스에 대응하는 1페이지 분 또는 복수 페이지 분의 데이터의 범위나, 기록 데이터의 논리 어드레스에 대응하는 페이지에 있어서 섹터의 사이즈보다 큰 소정 사이즈 분의 데이터의 범위 등이 포함된다.
도 1은 호스트 장치(10)로부터의 데이터를 기억하는 본 발명의 실시예로서의 SSD(20)의 구성의 개략을 나타내는 설명도이다.
도 2는 저항 변화 소자(46)의 구성의 일례를 나타내는 설명도이다.
도 3은 메모리 컨트롤러(30)의 제어 처리 회로(32)에 의해 실행되는 기록 처리 루틴의 일례를 나타내는 플로우 차트이다.
도 4는 이용 섹터 플래그 테이블(USFT)과 페이지 이용률(R)의 일례를 나타내는 설명도이다.
도 5는 이용 섹터 플래그 테이블(USFT)의 생성의 모습을 나타내는 설명도이다.
도 6은 다른 이용 섹터 플래그 테이블(USFT)의 생성의 모습을 나타내는 설명도이다.
도 7은 페이지 이용률(R)이 문턱값(Rth2)을 넘었을 때에 이용 섹터 플래그 테이블(USFT)의 리셋 동작을 실행하지 않는 경우에 생성되는 이용 섹터 플래그 테이블(USFT)의 일례를 나타내는 설명도이다.
도 8은 페이지 이용률(R)이 문턱값(Rth2)을 넘고 있을 때에 이용 섹터 플래그 테이블(USFT)의 리셋 동작을 실행한 경우에 생성되는 이용 섹터 플래그 테이블(USFT)의 일례를 나타내는 설명도이다.
다음으로, 본 발명을 실시하기 위한 형태를 실시예를 이용하여 설명한다.
도 1은, 퍼스널 컴퓨터 등의 호스트 장치(10)로부터의 데이터를 기억하는 본 발명의 실시예로서의 SSD(Solid State Drive)(20)의 구성의 개략을 나타내는 설명도이다. SSD(20)는, 각종 애플리케이션 프로그램이나 각종 데이터를 기억하는 대용량의 데이터 기억 장치로서 구성되어 있고, NAND형 플래시 메모리로서 구성된 플래시 메모리(22)와, 저항 변화 랜덤 액세스 메모리(Resistance Random Access Memory,ReRAM)로서 구성된 ReRAM(24)과, 플래시 메모리(22)와 ReRAM(24)을 제어하는 메모리 컨트롤러(30)로 구성되어 있다.
플래시 메모리(22)는, 플로팅(floating) 게이트로의 전자 주입이나 플로팅 게이트로부터의 전자의 인발(引拔)에 의해 문턱값 전압이 변화되는 플래시 메모리 셀을 복수 갖는 플래시 메모리 셀 어레이(도시 생략)를 구비하는 NAND형 플래시 메모리로서 구성되어 있고, 플래시 메모리 셀 어레이 이외에 로우(row) 디코더, 칼럼 디코더, 센스 앰프 등(모두 도시 생략)을 구비한다. 플래시 메모리(22)에서는, 8개의 섹터(실시예에서는, 512B)로 이루어지는 페이지 단위(실시예에서는, 4KB)로 데이터를 기록하거나 독출하거나 하여, 복수 페이지로 이루어지는 블록 단위(실시예에서는, 256KB)에서 기억하고 있는 데이터를 소거한다. 이러한 플래시 메모리(22)에서는, 플래시 메모리(22)에 기억되어 있는 데이터를 독출하여, 독출한 데이터 중 기록 데이터에 대응하는 섹터의 데이터를 섹터 단위로 기록 데이터에 개서한 후, 페이지 단위로 개서한 데이터를 플래시 메모리(22)에 기록하는 기록 동작에 의해 데이터의 기록이 행하여진다. 실시예의 플래시 메모리(22)에서는, 플래시 메모리(22)에 데이터를 기록할 때의 기록 속도 및 플래시 메모리(22)로부터 데이터를 독출할 때의 독출 속도가 212MB/s인 것으로 했다.
ReRAM(24)은, 티탄(Ti)이나 백금(Pt) 등의 금속으로 형성된 상부 전극(40)과 티탄(Ti)이나 백금(Pt) 등의 금속으로 형성된 하부 전극(42)으로 금속 산화물(44)을 끼워 넣어 형성된 도 2에 예시하는 저항 변화 소자(46)와, 저항 변화 소자(46)에 접속된 MOS 트랜지스터(도시 생략)로 구성되는 ReRAM 셀을 복수 갖는 ReRAM 셀 어레이(도시 생략)를 구비하는 ReRAM으로서 구성되어 있고, ReRAM 셀 어레이 이외에 로우 디코더, 칼럼 디코더, 센스 앰프 등(모두 도시 생략)을 구비한다. ReRAM 셀은, 상부 전극(40)에 인가되는 전압(V1)이 하부 전극(42)에 인가되는 전압(V2)보다 높을 때에 세트(저(低)저항화)되고, 전압(V1)이 전압(V2)보다 낮을 때에 리셋(고(高)저항화)되는 바이폴러(bipolar) 동작을 행하는 소자로서 형성되어 있다. 이러한 바이폴러 동작을 행하는 ReRAM 셀은, 일반적으로, 동작 속도가 비교적 빠르고 소비 전력이 적은 소자이기 때문에, ReRAM(24)은, 동작 속도가 비교적 빠르고 소비 전력이 적은 메모리로서 구성되어 있다. 또한, 금속 산화물(44)로서는, 티탄 산화물(TiOx)이나 니켈 산화물(NiOx), 구리 산화물(CuOx), 하프늄 산화물(HfOx) 등의 금속 산화물 또는 이들 금속 산화물을 복수 적층된 적층 구조로 하는 것이 바람직하다고 생각된다. 이렇게 하여 구성된 ReRAM(24)은, ReRAM(24)에 데이터를 기록할 때의 기록 속도 및 ReRAM(24)으로부터 데이터를 독출할 때의 독출 속도가 플래시 메모리(22)보다 고속이고, 실시예에서는, 기록 속도 및 독출 속도가 1.25GB/s인 것으로 했다.
메모리 컨트롤러(30)는, 복수의 논리 소자를 갖는 논리 회로로서 구성된 각종 제어나 연산 처리를 실행하는 제어 처리 회로(32)를 구비하고 있다. 제어 처리 회로(32)에는, 호스트 장치(10)로부터 각종 제어 신호나 데이터 등이 입력되어 있고, 기본적으로는, 제어 처리 회로(32)는 입력된 제어 신호에 의거하여 플래시 메모리(22)나 ReRAM(24)에 데이터가 기억되도록 플래시 메모리(22)나 ReRAM(24)을 제어하거나, 플래시 메모리(22)나 ReRAM(24)으로부터 데이터가 독출되도록 플래시 메모리(22)나 ReRAM(24)을 제어하거나, 독출한 데이터를 호스트 장치(10)로 출력하거나 한다. 제어 처리 회로(32)에서는, 이러한 데이터의 독출이나 기록을 행할 때에 데이터를 기억하는 페이지를 가상적으로 나타내는 논리 페이지 어드레스와 데이터를 기억하는 섹터를 가상적으로 나타내는 논리 섹터 어드레스로 이루어지는 논리 어드레스와, 실제의 플래시 메모리(22)나 ReRAM(24)의 장소를 나타내는 물리 어드레스의 변환도 행한다. 메모리 컨트롤러(30)는, 호스트 장치(10)와 비교적 고속으로(예를 들면, 1.25GB/s 정도로) 각종 제어 신호나 데이터를 주고 받는 것으로 했다.
다음으로, 이렇게 하여 구성된 SSD(20)의 동작, 특히, 호스트 장치(10)로부터 입력된 데이터를 플래시 메모리(22)나 ReRAM(24)에 기억시킬 때의 동작에 대해 설명한다. 도 3은, 메모리 컨트롤러(30)의 제어 처리 회로(32)에 의해 실행되는 기록 처리 루틴의 일례를 나타내는 플로우 차트이다. 이 루틴은, 호스트 장치(10)로부터의 데이터를 플래시 메모리(22) 또는 ReRAM(24)에 기록하는 것을 요구하는 기록 요구 신호와 기록 데이터와 기록 데이터를 기억하는 장소를 나타내는 논리 페이지 어드레스와 논리 섹터 어드레스로 이루어지는 논리 어드레스가 입력되었을 때에 실행된다.
기록 요구 신호가 입력되면, 메모리 컨트롤러(30)의 제어 처리 회로(32)는 이용 섹터 플래그 테이블(USFT)을 작성하고(단계 S100), 이용 섹터 플래그 테이블(USFT)에 의거하여 논리 페이지 어드레스마다 데이터의 기억에 이용되어 있는 섹터의 비율인 페이지 이용률(R)을 연산한다(단계 S110).
도 4는, 이용 섹터 플래그 테이블(USFT)과 페이지 이용률(R)의 일례를 나타내는 설명도이다. 이용 섹터 플래그 테이블(USFT)은, 섹터의 수만큼 플래그가 준비되어 있고, 데이터의 기억에 이용되어 있지 않은 섹터에 대해서는 플래그에 값 0이 설정되며, 데이터의 기억에 이용되어 있는 섹터에 대해서는 플래그에 값 1이 설정되어 있다. 지금, 1페이지는 8개의 섹터로 이루어지기 때문에, 1페이지마다 8개의 플래그가 설정된다. 페이지 이용률(R)은, 1페이지에 포함되는 값 1의 플래그의 개수를 1페이지의 플래그의 개수인 값 8로 나눔으로써 연산되는 것으로 했다. 따라서, 1페이지에 포함되는 값 1의 플래그의 개수가 3개일 때에는 페이지 이용률(R)은 값 0.375(=3/8)가 되고, 1페이지에 포함되는 값 1의 플래그의 개수가 6개일 때에는 페이지 이용률(R)은 값 0.75(=6/8)가 된다.
이용 섹터 플래그 테이블(USFT)의 생성은(단계 S100), 기록 데이터의 기억에 이용되어 있는 섹터에 대해서는 플래그에 값 1이 설정되고 다른 플래그가 값 1로 설정된 기록 데이터 섹터 플래그 테이블(WSFT)과, 이미 기억되어 있는 이용 섹터 플래그 테이블(USFT)의 논리합(OR)을 연산함으로써 행하여진다. 예를 들면, 도 5에 나타내는 바와 같이, 이미 기억되어 있는 이용 섹터 플래그 테이블(USFT)이 「01111100」이고 기록 데이터 섹터 플래그 테이블(WSFT)이 「11000000」일 때에는 「11111100」의 이용 섹터 플래그 테이블(USFT)이 생성된다. 또한, 이 경우의 페이지 이용률(R)은 값 0.75가 된다.
이렇게 하여 페이지 이용률(R)을 연산하면, 페이지 이용률(R)이 문턱값(Rth1) 이상인지의 여부를 판정함과 함께(단계 S120), 기록 데이터가 개서 빈도가 비교적 높은 고(高)빈도 개서 데이터인지의 여부를 판정한다(단계 S130). 여기서, 문턱값(Rth1)은, ReRAM(24)에 기억되어 있는 데이터의 사이즈가 커질수록 작아지도록 설정되는 것으로 했다. 또, 기록 데이터가 고빈도 개서 데이터인지의 여부의 판정은, 페이지 이용률(R)이 문턱값(Rth1) 이상이 되었을 때의 최근의 논리 어드레스를 1000개 기억 테이블에 기억해 두고, 기록 데이터의 논리 어드레스가 기억 테이블 내에 소정 개수(예를 들면, 100개) 이상 있으면 기록 데이터가 고빈도 개서 데이터라고 판단하는 것으로 했다.
페이지 이용률(R)이 문턱값(Rth1) 이상으로서, 기록 데이터가 고빈도 개서 데이터가 아닐 때에는(단계 S120, S130), 상술한 기록 동작에 의해 기록 데이터가 플래시 메모리(22)에 기억되도록 플래시 메모리(22)를 제어한다(단계 S140). 이러한 처리에 의해, 플래시 메모리(22)에 데이터를 기억시킬 수 있다.
도 6에 예시하는 바와 같이, 페이지 이용률(R)이 문턱값(Rth1) 미만일 때, 즉, 페이지 내에 이용되어 있지 않은 섹터가 비교적 많이 있을 때나(단계 S120), 페이지 이용률(R)이 문턱값(Rth1) 이상이더라도 기록 데이터가 고빈도 개서 데이터일 때에는(단계 S130), 플래시 메모리(22)에 데이터를 기억시키면 플래시 메모리(22)의 열화를 촉진시킨다고 판단하여, ReRAM(24)에 데이터를 기록하는 기록 동작을 실행한다(단계 S150∼S170). 페이지 내에 이용되어 있지 않은 섹터가 비교적 많이 있을 때에 플래시 메모리(22)에 데이터를 기억시키면 플래시 메모리(22)의 열화를 촉진시킨다고 판단하는 것은, 플래시 메모리(22)에 데이터를 기록하고자 하면, 본래대로라면 데이터의 기억에 이용할 필요없는 기억 영역에 기록 동작이 실행되어 플래시 메모리(22)가 열화되어 버리는 경우가 있기 때문이다. 여기서, 문턱값(Rth1)을 ReRAM(24)에 기억되어 있는 데이터의 사이즈가 커질수록 작아지도록 설정함으로써, ReRAM(24)의 기억 영역에 빈 영역이 적어졌을 때에 ReRAM(24)에 기록 데이터가 기억되는 것을 억제할 수 있고, 비교적 작은 기억 용량의 ReRAM(24)을 이용했을 때여도 더 적정하게 ReRAM(24)에 데이터를 기억시킬 수 있다.
ReRAM(24)에 데이터를 기록하는 기록 동작은, 먼저, 기록 데이터의 논리 어드레스에 대응하는 데이터가 플래시 메모리(22)에 기억되어 있는지의 여부를 조사한다(단계 S150). 그리고, 플래시 메모리(22)에 데이터가 기억되어 있을 때에는, 기록 데이터의 논리 어드레스에 대응하는 어드레스의 데이터를 플래시 메모리(22)로부터 페이지 단위로 독출하여 독출한 데이터 중 기록 데이터에 대응하는 데이터를 섹터 단위로 기록 데이터로 덮어쓴 결합 데이터를 작성하고(단계 S160), 이러한 결합 데이터가 ReRAM(24)에 기억되도록 ReRAM(24)을 제어하며(단계 S170), 플래시 메모리(22)에 데이터가 기억되어 있지 않을 때에는 기록 데이터가 ReRAM(24)에 기억되도록 ReRAM(24)을 제어한다(단계 S170). 이와 같이, 페이지 이용률(R)이 문턱값(Rth1) 미만일 때나, 페이지 이용률(R)이 문턱값(Rth1) 이상이더라도 기록 데이터가 고빈도 개서 데이터일 때에는, 기록 데이터를 ReRAM(24)에 기억시킴으로써, 플래시 메모리(22)의 열화를 억제할 수 있다. 또, ReRAM(24)의 기록 속도가 플래시 메모리(22)의 기록 속도보다 고속이기 때문에, 이렇게 하여 ReRAM(24)에 기록 데이터를 기억시킴으로써 기록 동작을 더 고속으로 실행할 수 있다.
이렇게 하여 플래시 메모리(22) 또는 ReRAM(24)에 기록 데이터를 기억하면, 계속해서, 페이지 이용률(R)이 문턱값(Rth1)보다 높은 값으로서 미리 정해진 문턱값(Rth2)(예를 들면, 0.85)을 넘고 있는지의 여부를 조사한다(단계 S180). 페이지 이용률(R)이 문턱값(Rth2)보다 높을 때에는 이용 섹터 플래그 테이블(USFT)의 플래그를 전부 값 0으로 설정하는 플래그 리셋 동작을 실행하고(단계 S190), 페이지 이용률(R)이 문턱값(Rth2) 이상일 때에는 이용 섹터 플래그 테이블(USFT)을 변경하지 않고, 본 루틴을 종료한다. 이러한 플래그 리셋 동작을 행하는 것은 이하의 이유에 의거한다.
예를 들면, 도 7에 나타내는 바와 같이, 이미 기억되어 있는 이용 섹터 플래그 테이블(USFT)이 「01111111」(페이지 이용률(R)은 값 0.875)이고 기록 데이터 섹터 플래그 테이블(WSFT)이 「11000000」일 때, 「11111111」의 이용 섹터 플래그 테이블(USFT)이 생성된다. 이와 같이 페이지 이용률(R)이 높아지면, 데이터가 고빈도 개서 데이터가 아닌 경우에는 이 페이지의 데이터는 기록 동작에 의해 항상 플래시 메모리(22)에 기억되어, 플래시 메모리(22)의 열화가 촉진되는 경우가 있다. 페이지 이용률(R)이 문턱값(Rth2)보다 높을 때에는 이용 섹터 플래그 테이블(USFT)의 플래그를 전부 값 0으로 설정하는 플래그 리셋 동작을 실행함으로써(단계 S190), 도 8에 예시하는 바와 같이, 다음으로 단계 S100의 처리가 실행되어 있을 때에, 이미 기억되어 있는 이용 섹터 플래그 테이블(USFT)이 「00000000」(페이지 이용률(R)은 값 0)이 되고, 기록 데이터 섹터 플래그 테이블(WSFT)이 「11000000」일 때에는 「11000000」의 이용 섹터 플래그 테이블(USFT)이 생성되며, 이용 섹터 플래그 테이블(USFT)은, 페이지 이용률(R)이 문턱값(Rth2)보다 높아졌을 때 이후에 데이터의 기억을 위해 이용되고 있는 섹터의 정보를 나타내는 것이 된다. 이때의 페이지 이용률(R)은 값 0.25이기 때문에, ReRAM(24)에 기록되게 된다(단계 S120, S150∼S170). 이러한 처리에 의해, 플래시 메모리(22)에의 데이터의 기록 동작이 억제되어, 플래시 메모리(22)의 열화를 억제할 수 있다.
이상 설명한 실시예의 SSD(20)에 의하면, 페이지 이용률(R)이 문턱값(Rth1) 미만일 때나 페이지 이용률(R)이 문턱값(Rth1) 이상이더라도 기록 데이터가 고빈도 개서 데이터일 때에, 기록 데이터를 ReRAM(24)에 기억시킴으로써, 플래시 메모리(22)의 열화를 억제할 수 있다. 또, ReRAM(24)의 기록 속도가 플래시 메모리(22)의 기록 속도보다 고속이기 때문에, 이렇게 하여 ReRAM(24)에 기록 데이터를 기억시킴으로써 기록 동작을 더 고속으로 할 수 있다. 또, 문턱값(Rth1)을 ReRAM(24)에서 데이터를 기억하고 있는 기억 영역의 사이즈가 커짐에 따라 작게 설정함으로써, ReRAM(24)의 기억 영역에 빈 영역이 적어졌을 때에 ReRAM(24)에 기록 데이터가 기억되는 것을 억제할 수 있어, 비교적 작은 기억 용량의 ReRAM(24)을 이용했을 때여도 더 적정하게 ReRAM(24)에 데이터를 기억시킬 수 있다. 또한, 페이지 이용률(R)이 문턱값(Rth2)보다 높을 때에는 이용 섹터 플래그 테이블(USFT)의 플래그를 전부 값 0으로 설정하는 플래그 리셋 동작을 실행함으로써, 플래시 메모리(22)에의 데이터의 기록 동작이 억제되어, 플래시 메모리(22)의 열화를 억제할 수 있다.
실시예의 SSD(20)에서는, 페이지 이용률(R)이 문턱값(Rth1) 이상이더라도 기록 데이터가 고빈도 개서 데이터일 때에는, 기록 데이터를 ReRAM(24)에 기억시키는 것으로 했지만(단계 S120, S130, S150∼S170), 단계 S130의 처리를 실행하지 않고 페이지 이용률(R)이 문턱값(Rth1) 이상일 때에 기록 데이터를 일률적으로 플래시 메모리(22)에 기억시키는 것으로 해도 된다(단계 S120∼S140).
실시예의 SSD(20)에서는, 문턱값(Rth1)을 ReRAM(24)에서 데이터를 기억하고 있는 기억 영역의 사이즈가 커짐에 따라 작게 설정하는 것으로 했지만, 문턱값(Rth1)을 ReRAM(24)에서 데이터를 기억하고 있는 기억 영역의 사이즈에 관계없이, 동일한 값으로 설정하는 것으로 해도 된다.
실시예의 SSD(20)에서는, 페이지 이용률(R)이 문턱값(Rth2)보다 높을 때에는 이용 섹터 플래그 테이블(USFT)의 플래그를 전부 값 0으로 설정하는 플래그 리셋 동작을 실행하는 것으로 했지만(단계 S180, S190), 이러한 처리를 실행하지 않는 것으로 해도 된다.
실시예의 SSD(20)에서는, 페이지 이용률(R)을 연산하는 범위를 1페이지로 하여, 1페이지에 포함되는 값 1의 플래그의 개수를 1페이지의 플래그의 개수인 값 8로 나눔으로써 연산하는 것으로 했지만, 페이지 이용률(R)을 연산하는 범위는 1섹터보다 크면 어떠한 사이즈로 해도 되고, 예를 들면, 페이지 이용률(R)을 2페이지 이상의 페이지의 범위로 연산하는 것으로 하며, 연산하는 범위에 포함되는 값 1의 플래그의 개수를 연산하는 범위에 있어서의 플래그의 개수로 나눔으로써 연산하는 것으로 해도 된다.
실시예의 SSD(20)에서는, 플래시 메모리(22)를 구비하고 있는 것으로 했지만, 플래시 메모리(22) 대신에, 복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여, 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 다른 메모리를 이용하는 것으로 해도 된다.
실시예의 SSD(20)에서는, ReRAM(24)의 ReRAM 셀을 바이폴러 동작을 행하는 소자로서 형성되어 있는 것으로 했지만, ReRAM 셀을 저항 변화 소자(46)와 다이오드(도시 생략)로 구성함과 함께, 전압(V1)에 전압(V2)보다 높은 전압이 인가되었을 때에 세트(저저항화)되고, 전압(V1)에 전압(V2)보다 높게 ReRAM 셀을 세트하는 전압보다 낮은 전압이 인가되었을 때에 리셋(고저항화)되는 유니폴러(unipolar) 동작을 행하는 소자로서 형성하는 것으로 해도 된다. 이러한 유니폴러 동작을 행하는 ReRAM 셀은, 일반적으로, 바이폴러 동작을 행하는 ReRAM 셀에 비해 작은 셀 사이즈이고 간단한 셀 구성으로 구성하기 때문에, ReRAM 셀을 바이폴러 동작을 행하는 소자로서 형성하는 것에 비해, 동작이 약간 늦어지지만, 면적을 더 작게 할 수 있다.
실시예의 SSD(20)에서는, SSD(20)가 ReRAM(24)을 구비하고 있는 것으로 했지만, ReRAM(24) 대신에 다른 플래시 메모리(22)보다 고속의 데이터의 기록이 가능한 랜덤 액세스 메모리, 예를 들면, 두 개의 전극에 강유전체 재료를 끼워 넣은 커패시터를 갖는 강유전체 랜덤 액세스 메모리나 터널 자기 저항막을 자성체막에 끼워 넣은 구조인 MTJ(Magneto Tunnel Junction) 소자를 갖는 자기 저항 랜덤 액세스 메모리나 두 개의 전극으로 상(相)변화 재료를 끼워 넣은 소자를 갖는 상변화 랜덤 액세스 메모리, 스태틱(static) 랜덤 액세스 메모리, 다이나믹 랜덤 액세스 메모리 등을 구비하는 것으로 해도 된다.
실시예에서는, 본 발명을 SSD에 이용하는 경우를 예시했지만, 데이터를 처리하는 데이터 처리 장치이면 어떠한 것에 이용해도 되고, 예를 들면, USB 메모리 등에 이용하는 것으로 해도 상관없다. 또, 메모리 컨트롤러(30)를 하나의 장치인 SSD(20)에 탑재하는 것에 한정하는 것이 아니고, 플래시 메모리(22), ReRAM(24), 메모리 컨트롤러(30)를 각각 다른 장치에 탑재하는 것으로 해도 되며, 플래시 메모리(22), ReRAM(24)을 동일한 장치에 탑재하고, 메모리 컨트롤러(30)를 플래시 메모리(22, 24)와 다른 장치에 탑재하는 것으로 해도 된다. 또, 이러한 플래시 메모리(22), ReRAM(24)을 제어하는 메모리의 제어 방법의 형태로 해도 상관없다.
실시예의 주요한 요소와 발명의 개요의 란에 기재된 발명의 주요한 요소의 대응 관계에 대해 설명한다. 실시예에서는, 메모리 컨트롤러에 대해서는, 제어 처리 회로(32)가 「제어부」에 상당한다. 메모리 컨트롤러에 대해서는, 제어 처리 회로(32)가 「제어부」에 상당한다. 또, 데이터 기억 장치에 대해서는, 메모리 컨트롤러(30)가 「메모리 컨트롤러」에 상당하고, 플래시 메모리(22)가 「제 1 메모리」에 상당하며, ReRAM(24)이 「제 2 메모리」에 상당한다.
이상, 본 발명을 실시하기 위한 형태에 대해 실시예를 이용하여 설명했지만, 본 발명은 이러한 실시예에 하등 한정되는 것이 아니고, 본 발명의 요지를 일탈하지 않는 범위 내에 있어서, 여러 가지의 형태로 실시할 수 있는 것은 물론이다.
[산업상의 이용 가능성]
본 발명은, 메모리 컨트롤러나 데이터 기억 장치 등의 제조 산업에 이용 가능하다.

Claims (12)

  1. 복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 상기 제 1 메모리보다 고속으로 데이터의 기록이 가능한 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리 컨트롤러에 있어서,
    기록 데이터와 당해 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 상기 기록 데이터를 상기 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 상기 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 상기 입력된 기록 데이터가 상기 기록 동작에 의해 상기 제 1 메모리에 기록되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하고, 상기 데이터 이용률이 상기 소정율 미만일 때에는 상기 입력된 기록 데이터가 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는 제어부
    를 구비하는 메모리 컨트롤러.
  2. 제 1 항에 있어서,
    상기 제 2 메모리에 있어서 데이터가 기억되어 있는 기억 영역의 사이즈가 커짐에 따라 작아지는 경향으로 상기 소정율을 설정하는 비율 설정부
    를 구비하는 메모리 컨트롤러.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제어부는, 상기 데이터 이용률이 상기 소정율 이상일 때에 상기 입력된 기록 데이터가 기록 빈도가 높은 고빈도 기록 데이터일 때에는, 상기 입력된 기록 데이터가 상기 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는
    메모리 컨트롤러.
  4. 제 3 항에 있어서,
    상기 데이터 이용률이 상기 소정율 이상이 되었을 때의 상기 입력된 기록 데이터의 논리 어드레스를 제 1 개수 기억하는 어드레스 정보 기억부를 구비하고,
    상기 제어부는, 상기 입력된 기록 데이터의 논리 어드레스가 상기 논리 어드레스 정보 기억부에 상기 제 1 개수보다 적은 제 2 개수 이상 기억되어 있을 때에는 상기 입력된 기록 데이터가 상기 고빈도 기록 데이터인 것으로 하는
    메모리 컨트롤러.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제어부는, 상기 각 섹터가 데이터를 기억하고 있는지의 여부의 정보인 이용 섹터 정보와 입력된 기록 데이터를 기억할 때에 이용하는 섹터에 의거하여 상기 페이지 이용률을 연산하는
    메모리 컨트롤러.
  6. 제 5 항에 있어서,
    상기 제어부는, 상기 페이지 이용률이 상기 소정율보다 큰 제 2 비율이 되었을 때에는, 상기 페이지 이용률이 상기 제 2 비율이 되었을 때 이후의 상기 각 섹터가 데이터를 기억하고 있는지의 여부의 정보를 상기 이용 섹터 정보로 하는
    메모리 컨트롤러.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 제어부는, 상기 입력된 기록 데이터를 상기 제 2 메모리에 기억시킬 때, 상기 입력된 기록 데이터의 논리 어드레스에 대응하는 데이터가 이미 제 1 메모리의 기억 영역에 기억되어 있을 때에는, 상기 제 1 메모리에 기억되어 있는 데이터를 페이지 단위로 독출하여 당해 독출한 데이터의 섹터 중 기록 데이터에서 기록하는 대상이 되는 섹터를 개서한 후에 페이지 단위로 제 2 메모리에 기억시키는
    메모리 컨트롤러.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 소정 범위는, 상기 기록 데이터의 논리 어드레스에 대응하는 1페이지 분의 데이터의 범위인
    메모리 컨트롤러.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 제 1 메모리는, NAND형 플래시 메모리인
    메모리 컨트롤러.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 제 2 메모리는, 저항 변화형 메모리인
    메모리 컨트롤러.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 기재된 메모리 컨트롤러와,
    상기 제 1 메모리와,
    상기 제 2 메모리
    를 구비하는 데이터 기억 장치.
  12. 복수의 섹터로 이루어지는 페이지 단위로 기억 영역에 기억되어 있는 데이터를 독출하여 당해 독출한 데이터를 섹터 단위로 개서한 후에 페이지 단위로 데이터를 기록하는 기록 동작에 의해 데이터의 기록이 가능한 불휘발성 메모리로서 구성된 제 1 메모리와, 상기 제 1 메모리보다 고속으로 데이터의 기록이 가능한 랜덤 액세스 메모리로서 구성된 제 2 메모리를 제어하는 메모리의 제어 방법에 있어서,
    기록 데이터와 당해 기록 데이터의 기록을 요구하는 기록 요구 신호가 입력되었을 때, 상기 기록 데이터를 상기 제 1 메모리에 기록했을 때에 소정 범위의 기억 영역에 있어서의 데이터를 기억 가능한 영역의 사이즈에 대한 상기 기록 데이터의 기억에 이용되는 섹터의 사이즈의 비율인 데이터 이용률이 소정율 이상일 때에는 상기 입력된 기록 데이터가 상기 기록 동작에 의해 상기 제 1 메모리에 기록되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하고, 상기 데이터 이용률이 상기 소정율 미만일 때에는 상기 입력된 기록 데이터가 제 2 메모리에 기억되도록 상기 제 1 메모리와 상기 제 2 메모리를 제어하는
    메모리의 제어 방법.
KR1020147023531A 2012-02-15 2012-03-30 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법 KR101904270B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012030798A JP5971547B2 (ja) 2012-02-15 2012-02-15 メモリコントローラ,データ記憶装置およびメモリの制御方法
JPJP-P-2012-030798 2012-02-15
PCT/JP2012/058586 WO2013121596A1 (ja) 2012-02-15 2012-03-30 メモリコントローラ,データ記憶装置およびメモリの制御方法

Publications (2)

Publication Number Publication Date
KR20140122730A true KR20140122730A (ko) 2014-10-20
KR101904270B1 KR101904270B1 (ko) 2018-10-04

Family

ID=48983747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147023531A KR101904270B1 (ko) 2012-02-15 2012-03-30 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법

Country Status (6)

Country Link
US (1) US9977733B2 (ko)
JP (1) JP5971547B2 (ko)
KR (1) KR101904270B1 (ko)
CN (1) CN104115131B (ko)
HK (1) HK1203240A1 (ko)
WO (1) WO2013121596A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5995071B2 (ja) * 2012-09-19 2016-09-21 学校法人 中央大学 メモリコントローラ,データ記憶装置およびメモリの制御方法
KR102126760B1 (ko) 2014-04-07 2020-06-25 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
CN106293503B9 (zh) * 2015-06-23 2019-06-28 株式会社东芝 磁盘装置及控制方法
US10276227B2 (en) * 2017-04-28 2019-04-30 Taiwan Semiconductor Manufacturing Company Limited Write algorithm for memory to reduce failure rate of write operations
US20190038040A1 (en) * 2017-08-04 2019-02-07 Technogel Italia S.r.I. Mattress for improved sleep and methods of use thereof
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10705747B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10705963B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
TWI742961B (zh) * 2020-12-10 2021-10-11 旺宏電子股份有限公司 快閃記憶體系統及其快閃記憶體裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836432B1 (en) * 2002-02-11 2004-12-28 Advanced Micro Devices, Inc. Partial page programming of multi level flash
US20060087893A1 (en) * 2004-10-27 2006-04-27 Sony Corporation Storage device and information processing system
US20100312953A1 (en) * 2009-06-03 2010-12-09 Ocz Technology Group, Inc. Method and apparatus for reducing write cycles in nand-based flash memory devices
US20110252187A1 (en) * 2010-04-07 2011-10-13 Avigdor Segal System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
JP2006018591A (ja) 2004-07-01 2006-01-19 Matsushita Electric Ind Co Ltd メモリカード
JP2008134685A (ja) 2006-11-27 2008-06-12 Konica Minolta Business Technologies Inc 不揮発メモリシステム及び不揮発メモリ制御方法
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
KR101472797B1 (ko) 2007-07-16 2014-12-15 삼성전자주식회사 데이터를 읽거나 쓰기 위한 방법 및 장치
KR101553532B1 (ko) 2008-04-17 2015-09-16 삼성전자주식회사 스토리지 장치
TWI389125B (zh) * 2008-07-18 2013-03-11 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
CN101615145B (zh) * 2009-07-24 2011-12-07 中兴通讯股份有限公司 一种提高存储器数据缓存可靠性的方法和装置
CN101645846B (zh) * 2009-09-02 2011-10-26 中兴通讯股份有限公司 一种路由交换设备及其数据缓存的方法
TWI423024B (zh) * 2009-11-23 2014-01-11 Phison Electronics Corp 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
US20110167197A1 (en) * 2010-01-05 2011-07-07 Mark Leinwander Nonvolatile Storage with Disparate Memory Types
JP2012008651A (ja) * 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
JP2012008747A (ja) * 2010-06-24 2012-01-12 Nec Corp 集積装置、メモリ割り当て方法、および、プログラム
US20130103889A1 (en) * 2011-10-25 2013-04-25 Ocz Technology Group Inc. Page-buffer management of non-volatile memory-based mass storage devices
JP5995071B2 (ja) * 2012-09-19 2016-09-21 学校法人 中央大学 メモリコントローラ,データ記憶装置およびメモリの制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836432B1 (en) * 2002-02-11 2004-12-28 Advanced Micro Devices, Inc. Partial page programming of multi level flash
US20060087893A1 (en) * 2004-10-27 2006-04-27 Sony Corporation Storage device and information processing system
US20100312953A1 (en) * 2009-06-03 2010-12-09 Ocz Technology Group, Inc. Method and apparatus for reducing write cycles in nand-based flash memory devices
US20110252187A1 (en) * 2010-04-07 2011-10-13 Avigdor Segal System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory

Also Published As

Publication number Publication date
CN104115131B (zh) 2017-07-21
WO2013121596A1 (ja) 2013-08-22
JP5971547B2 (ja) 2016-08-17
KR101904270B1 (ko) 2018-10-04
CN104115131A (zh) 2014-10-22
HK1203240A1 (en) 2015-10-23
US20150006796A1 (en) 2015-01-01
US9977733B2 (en) 2018-05-22
JP2013168015A (ja) 2013-08-29

Similar Documents

Publication Publication Date Title
KR101904270B1 (ko) 메모리 컨트롤러, 데이터 기억 장치 및 메모리의 제어 방법
KR101687502B1 (ko) 메모리 제어기, 데이터 기억 장치 및 메모리 제어 방법
US8635511B2 (en) Data processing apparatus, control device and data storage device
US8140742B2 (en) System for accessing non volatile memory
US9619174B2 (en) Write mechanism for storage class memory
US9286160B2 (en) System and method for phase change memory with erase flag cells
KR20140104189A (ko) 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
US11342013B2 (en) Memory system and operating method to set target command delay time to merge and process read commands
US20100030953A1 (en) High-speed solid state storage system having a non-volatile ram for rapidly storing address mapping information
KR20150095360A (ko) 저항성 메모리 장치 및 동작 방법
CN105489242B (zh) 数据储存器件及其操作方法
US11204698B2 (en) Memory controller to set operating environment of memory device, method of operating the same and storage device including the same
US20140301132A1 (en) Storage control device, storage device, information processing system, and processing method thereof
US11656777B2 (en) Memory system and operating method thereof
JP4988054B2 (ja) メモリシステム
US20210407607A1 (en) Memory system, memory controller, and method of operating memory system
KR102460860B1 (ko) 센티넬 셀을 기초로 한 데이터 무결성 결정
US20140013031A1 (en) Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
JP5483378B1 (ja) フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラム
US10290342B2 (en) Methods and apparatus for memory programming
US20240134802A1 (en) Memory device having cache storing cache data and scrub data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant