KR20080075618A - 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법 - Google Patents

플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법 Download PDF

Info

Publication number
KR20080075618A
KR20080075618A KR1020070014740A KR20070014740A KR20080075618A KR 20080075618 A KR20080075618 A KR 20080075618A KR 1020070014740 A KR1020070014740 A KR 1020070014740A KR 20070014740 A KR20070014740 A KR 20070014740A KR 20080075618 A KR20080075618 A KR 20080075618A
Authority
KR
South Korea
Prior art keywords
mapping table
random access
data
search
access memory
Prior art date
Application number
KR1020070014740A
Other languages
English (en)
Other versions
KR100881052B1 (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 KR1020070014740A priority Critical patent/KR100881052B1/ko
Priority to US12/026,837 priority patent/US7991944B2/en
Publication of KR20080075618A publication Critical patent/KR20080075618A/ko
Application granted granted Critical
Publication of KR100881052B1 publication Critical patent/KR100881052B1/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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

본 발명은 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법에 관한 것으로, 본 발명에 따른 플래시 메모리의 매핑 테이블 검색 시스템은, 상기 플래시 메모리에 저장되어 있는 매핑 테이블을 로딩하여 저장하기 위한 적어도 하나 이상의 랜덤액세스 메모리와; 상기 랜덤액세스 메모리에 로딩된 매핑테이블의 데이터를 하드웨어적으로 검색하기 위한 적어도 하나 이상의 서치엔진을 구비한다. 본 발명에 따르면, 플래시 메모리 매핑테이블의 검색 효율 및 시스템 퍼포먼스를 향상시킬 수 있다.
Figure P1020070014740
플래시, 매핑, 서치, 검색, 하드웨어,

Description

플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법{System for searching mapping table of flash memory and method for searching therefore}
도 1은 종래의 플래시 메모리를 이용한 시스템의 블록도이고,
도 2는 본 발명의 일 실시예에 따른 매핑테이블 검색시스템의 블록도이고,
도 3은 도 2의 서치엔진의 블록도이고,
도 4는 도 3의 서치엔진에 구비되는 레지스터들의 예이고,
도 5는 도 2의 매핑테이블 로딩 동작 설명을 위한 블록도이고,
도 6은 도 2의 서치 동작 설명을 위한 블록도이고,
도 7은 매핑테이블을 중요도, 용량, 검색빈도수에 따라 나누어 로딩하는 경우의 예를 나타낸 블록도이고,
도 8은 본 발명의 다른 실시예에 따른 매핑테이블 검색시스템의 블록도이다.
*도면의 주요 부분에 대한 부호의 설명*
110 : 제어부 120 : 제1랜덤액세스 메모리
130 : 제2랜덤액세스 메모리 140 : 제1서치엔진
150 : 제2서치엔진 160 : 플래시 컨트롤러
300 : 플래시 메모리 DB,AHB,APB : 데이터 전송버스
본 발명은 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법에 관한 것으로, 더욱 구체적으로는, 플래시 메모리의 매핑테이블 검색을 하드웨어로 수행하는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법에 관한 것이다.
플래시 메모리는 데이터의 기록 및 삭제가 자유로운 램(RAM:Random Access Memory)의 장점과 전원 공급 없이도 저장된 데이터를 보존하는 롬(ROM:Read Only Memory)의 장점을 동시에 지니고 있어, 최근 디지털 카메라, PDA, MP3 플레이어와 같은 휴대용 전자기기 등의 내장형 시스템(Embedded System)이나 이동식 시스템(Mobile System) 등의 응용에서 많이 사용되고 있다.
플래시 메모리는 하드웨어 특성상 전원 공급이 중단된 이후에도 영구적으로 데이터를 저장하는 비휘발성을 가진다. 또한 하드디스크와 달리 이미 데이터가 있는 섹터에 중첩해서 쓰기(Overwrite)를 할 수 없는 특성을 가진다. 이 특성으로 인하여, 데이터를 쓰기 전에 해당 섹터가 포함된 전체 블록을 지워야 하는(Erase Before Write) 연산을 필요로 한다. 이러한 플래시 메모리의 쓰기 전 지우기(Erase Before Write) 연산을 위해서 논리 블록(Logical Block)과 물리 블록(Physical Block) 개념이 도입되었다. 즉 호스트 단에서 요청되는 논리 주소에 대한 읽기 및 쓰기 연산은 여러 종류의 매핑 알고리즘에 의하여 실제 플래시 메모리의 물리주소에 대한 읽기 및 쓰기 연산으로 변경된다. 이때 물리적인 플래시 메모리의 상태를 고려하기 때문에 성능을 최대화 할 수 있다.
도 1은 종래의 플래시 메모리를 이용한 시스템의 블록도이다.
도 1에 도시된 바와 같이, 종래의 시스템은 외부의 호스트(10), 호스트 인터페이스(26), 데이터가 저장되는 플래시 메모리(30), 플래시 메모리의 동작을 제어하는 플래시 컨트롤러(24), 전반적인 시스템 동작을 제어하는 CPU(22), 주기억 장치의 역할을 하는 워크 메모리(27), 및 버퍼메모리(28)를 구비한다. 상기 워크 메모리(27) 및 버퍼메모리(28)에는 DRAM 또는 SRAM이 구비될 수 있다.
상술한 바와 같은 종래의 시스템에서는 상기 호스트(10)에서 또는 상기 CPU(22)서 플래시 메모리에 정보를 요청한다고 할 때, 필요한 데이터가 플래시 메모리의 어느 위치에 있는지를 알 수 있어야 한다. 이를 위해 매핑 테이블이 구비된다. 상기 매핑 테이블은 상기 플래시 메모리의 논리-물리 매핑테이블(Logical to Physical mapping table), 페이지(page) 매핑테이블, 섹터 매핑 테이블, 및 배드 블록(bad block) 매핑테이블 등을 포함할 수 있다.
상기 매핑 테이블 데이터는 상기 CPU(22)에 의하여 상기 시스템 부팅시 또는 상기 플래시 메모리의 매핑 테이블 변경시에 상기 워크 메모리(27)에 로딩되어 저장된다. 이에 따라 상기 매핑 테이블을 바탕으로 하여 원하는 데이터의 어드레스를 알아내 상기 플래시 메모리에서 데이터를 가져오게 된다. 상기 매핑테이블의 검색은 상기 워크 메모리에 저장되어 있는 검색 소프트웨어(S/W)를 통해 수행되어 왔다.
그러나, 플래시 메모리의 용량이 커짐에 따라 상기 매핑테이블의 용량도 커지게 되고 상기 매핑테이블 검색시간도 늘어나게 된다. 이는 시스템 전체의 성능을 떨어뜨리는 결과를 가져온다. 특히 플래시 메모리 카드나 SSD 등의 대용량 플래시 메모리를 이용한 응용이 지속적으로 개발됨에 따라 상기 매핑테이블 검색시간을 줄이는 문제가 중요한 이슈로 대두되고 있는 실정에 있다.
따라서, 본 발명의 목적은 상기한 종래의 문제점을 극복할 수 있는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법을 제공하는 데 있다.
본 발명의 다른 목적은 플래시 메모리의 매핑테이블 검색을 하드웨어로 수행하는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 플래시 메모리의 용량이 커지더라도 매핑테이블 검색을 빠르게 하여 검색 시간을 줄일 수 있는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 시스템 퍼포먼스를 향상시킬 수 있는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 검색 효율을 향상시킬 수 있는 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른 검색방법을 제공하는 데 있다.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 구체화에 따라, 본 발명에 따른 플래시 메모리의 매핑 테이블 검색 시스템은, 상기 플래시 메모리에 저장되어 있는 매핑 테이블을 로딩하여 저장하기 위한 적어도 하나 이상의 랜덤액세스 메모리와; 상기 랜덤액세스 메모리에 로딩된 매핑테이블의 데이터를 하드웨어적으로 검색하기 위한 적어도 하나 이상의 서치엔진을 구비한다.
상기 매핑테이블 검색시스템은, 상기 랜덤액세스 메모리에의 매핑테이블 로딩 및 상기 서치엔진의 제어를 위한 제어부(CPU)를 구비할 수 있다. 또한, 상기 서치엔진은 상기 제어부로부터 입력되는 어드레스, 상기 서치엔진의 컨트롤 커맨드들을 저장하기 위한 다수의 레지스터들을 구비할 수 있다. 그리고, 상기 서치엔진은, 상기 제어부로부터 입력되는 시작 어드레스, 종료 어드레스, 및 검색 대상 데이터 값을 입력받아 상기 시작어드레스 내지 상기 종료어드레스 범위 내에서 상기 검색대상 데이터를 검색하고, 검색된 데이터의 대응되는 히트 어드레스를 출력할 수 있다. 상기 서치엔진은 상기 히트 어드레스 외에 검색 대상 데이터와 검색된 데이터의 매칭값을 더 출력할 수 있다.
상기 매핑테이블 검색시스템은, 액세스 속도 및 인터페이스 속도가 상대적으로 빠른 제1랜덤액세스 메모리 및 상기 제1랜덤 액세스 메모리보다 액세스속도 및 인터페이스 속도가 상대적으로 느린 제2랜덤메모리를 구비할 수 있으며, 상기 제1랜덤액세스 메모리는 SRAM이며, 상기 제2랜덤액세스 메모리는 DRAM일 수 있다.
상기 제어부는, 상기 제1랜덤액세스 메모리에는 상기 매핑테이블 데이터 중 중요도가 크거나, 용량이 적거나, 검색빈도수가 많은 제1메핑테이블 데이터를 로딩하고, 상기 제2랜덤액세스 메모리에는 상기 매핑테이블 데이터 중 중요도가 작거나, 용량이 많거나, 검색빈도수가 적은 제2메핑테이블 데이터를 로딩하는 구성을 가질 수 있다.
상기 매핑테이블 검색시스템은, 상기 제1랜덤액세스 메모리에 로딩된 상기 제1매핑테이블 데이터를 검색하기 위한 제1서치엔진과; 상기 제2랜덤액세스 메모리에 로딩된 상기 제2메핑테이블 데이터를 검색하기위한 제2서치엔진을 구비할 수 있으며, 상기 제1서치엔진 및 상기 제2서치엔진은 서로 독립적으로 동작될 수 있다.상기 제1매핑테이블 데이터 및 제2매핑테이블 데이터는 하나의 공통된 데이터 버스를 통하여 전송되어 상기 제1랜덤액세스 메모리 및 상기 제2랜덤액세스 메모리에 로딩될 수 있다. 또는, 상기 제1매핑테이블 데이터는 고속전송이 가능한 제1데이터버스를 통하여 전송되어 상기 제1랜덤액세스 메모리에 로딩되며, 상기 제2매핑테이블 데이터는 상기 제1데이터버스보다는 저속으로 데이터를 전송하는 제2데이터 버스를 통하여 전송되어 상기 제2랜덤액세스 메모리에 로딩될 수 있다.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 다른 구체화에 따라, 본 발명에 따른 플래시 메모리를 이용한 시스템에서의 플래시 메모리의 매핑테이블 검색방법은, 제어를 통하여 상기 플래시 메모리의 매핑테이블을 액세스속도 및 인터페이스 속도의 차이가 있는 두 가지 종류의 랜덤액세스 메모리들에 매핑 테이블 데이터를 로딩하는 단계와; 상기 랜덤액세스 메모리들에 로딩된 매핑 테이블 데이터의 검색을 위한 어드레스 범위 및 검색대상 데이터를, 하드웨어적으로 구성되며 서로 독립적으로 동작하는 적어도 두 개의 서치엔진들에 입력하는 단계와; 상기 서치엔진들을 통하여 상기 랜덤액세스 메모리들에 로딩된 매핑테이블 데이터들 중에서 검색대상 데이터를 검색하고, 검색된 데이터에 대응되는 히트 어드레스를 출력하는 단계를 구비한다.
상기 매핑테이블의 로딩은, 중요도, 용량 및 검색빈도수에 따라 상기 매핑테이블 데이터를 구분하여 상기 랜덤액세스 메모리들에 나누어서 로딩할 수 있으며, 상기 매핑테이블 데이터 중 중요도가 크거나, 용량이 적거나, 검색빈도수가 많은 매핑테이블 데이터는 상대적으로 액세스 속도 및 인터페이스 속도가 빠른 제1랜덤액세스 메모리에 로딩하여 저장하고, 상기 매핑테이블 데이터 중 중요도가 작거나, 용량이 많거나, 검색빈도수가 적은 매핑테이블 데이터는 상대적으로 액세스 속도 및 인터페이스 속도가 느린 제2랜덤액세스 메모리에 로딩하여 저장할 수 있다.
상기 서치엔진들은 상기 제1랜덤액세스 메모리에 로딩된 매핑테이블 검색을 위한 제1서치엔진과, 상기 제2랜덤액세스 메모리에 로딩된 매핑테이블 검색을 위한 제2서치엔진을 구비하며, 상기 제1 및 상기 제2서치엔진들은 서로 독립적으로 동작 또는 제어될 수 있다.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 또 다른 구체화에 따라, 본 발명에 따른 플래시 메모리를 이용한 시스템에서의 플래시 메모리의 매핑테이블 검색방법은, 상기 매핑테이블의 검색을 하드웨어적으로 별도로 구비되는 적어도 하나의 서치엔진을 통하여 수행함을 특징으로 한다.
상기 방법은 상기 매핑테이블의 데이터를 중요도, 검색빈도수, 및 용량에 따라 분리하여 적어도 두 개 이상의 랜덤액세스 메모리들에 나누어 로딩하고, 상기 랜덤액세스 메모리들 각각에 대응하여 구비되는 적어도 두 개 이상의 서치엔진들을 통하여, 로딩된 상기 매핑 테이블 데이터를 검색하는 것을 특징으로 할 수 있다.
상기한 구성에 따르면, 플래시 메모리 매핑테이블의 검색 효율 및 시스템 퍼포먼스를 향상시킬 수 있다.
이하에서는 본 발명의 바람직한 실시예가, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 철저한 이해를 제공할 의도 외에는 다른 의도 없이, 첨부한 도면들을 참조로 하여 상세히 설명될 것이다.
도 2는 본 발명의 일 실시예에 따른 플래시 메모리의 매핑테이블 검색시스템(100)의 블록도를 나타낸 것이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 플래시 메모리의 매핑테이블 검색시스템(100)은 적어도 하나 이상의 랜덤액세스 메모리(120,130), 및 적어도 하나 이상의 서치엔진(search engine)(140,150)을 구비한다. 또한 상기 랜덤액세스 메모리(120,130) 및 상기 서치엔진(140,150)의 제어를 위한 제어부(CPU)(110)가 구비될 수 있다. 그리고 검색대상이 되는 플래시 메모리(300)가 구비된다. 또한 상기 플래시 메모리(300)의 컨트롤을 수행하는 플래시 컨트롤러(160)이 구비될 수 있다.
상기 랜덤액세스 메모리(120,130)는 SRAM이나 DRAM 등을 포함하며, 상기 플래시 메모리(300)의 매핑 테이블(mapping table)을 로딩하기 위한 것이다. 상기 랜덤액세스 메모리(120,130)는 SRAM이나 DRAM 중 어느 하나가 구비되어 상기 매핑 테이블을 로딩하는 것도 가능하며, SRAM 및 DRAM을 하나씩 구비하여 상기 매핑테이블 데이터를 분리하여 로딩하는 것도 가능할 수 있다. 매핑테이블 데이터는 하나의 공통된 데이터 버스(DB)를 통하여 전송되어 상기 랜덤액세스 메모리(120,130)에 로딩되는 구조를 가질 수 있다.
상기 랜덤액세스 메모리(120,130)가 하나로 구비되는 경우에는 상기 플래시 메모리(300)의 매핑테이블이 하나의 랜덤액세스 메모리에 모두 로딩되게 되고, 상기 랜덤액세스 메모리(120,130)가 두 개로 구비되는 경우는 상기 매핑테이블 데이터를 분리하여 로딩하는 것이 가능하다.
두 개의 랜덤액세스 메모리들(120,130)이 구비되는 경우에, 상기 랜덤액세스 메모리들(120,130)은, 액세스 속도 및 인터페이스 속도가 상대적으로 빠른 제1랜덤액세스 메모리(예를 들면, SRAM)(120) 및 상기 제1랜덤 액세스 메모리(120)보다 액세스속도 및 인터페이스 속도가 상대적으로 느린 제2랜덤메모리(예를 들면, DRAM)(130)로 구분될 수 있다. 상기 DRAM과 SRAM은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 그 구성, 동작, 및 특성이 잘 알려져 있으므로 자세한 설명은 생략하고 간단히 설명하면 다음과 같다.
DRAM은 PC의 주기억장치와 그래픽 카드의 메모리로 주로 사용이 되고 있는데, 일정한 주기로 리프레쉬(Refresh)라는 동작을 수행하여 데이터를 보존해 주어 야 하기 때문에 소모 전력이 큰 단점이 있지만 FLASH에 비해서 동작속도가 빠르고 SRAM에 비해서 집적도가 크기 때문에 현재 메모리들 중에서 시장이 가장 크고 널리 쓰이고 있다.
SRAM은 가장 먼저 개발이 된 메모리로서 일반적으로 DRAM보다는 속도가 빠른 것으로 알려져 있으며, 속도와 소모 전력에 따라서 저전력 SRAM(Low Power SRAM)과 고속도 SRAM(High Speed SRAM)으로 구분이 된다. 저전력 SRAM(Low Power SRAM)은 동적 속도는 좀 느리지만 기기가 동작을 하지 않는 대기모드(Standby Mode)에서 소모 전류를 극소화해서 주로 모바일 기기의 주기억장치로 쓰이고 있다. 고속도 SRAM(High Speed SRAM)이 쓰이는 곳은 빠른 연산속도를 필요로 하는 중대형 이상의 컴퓨터들(예를 들면 슈퍼 컴퓨터)의 주기억 장치로 사용이 된다.
상기 서치엔진(140,150)은 상기 랜덤액세스 메모리(120,130)에 로딩된 매핑테이블의 데이터를 하드웨어적으로 검색하기 위한 것으로, 소프트웨어가 아닌 하드웨어로 구성되며 상기 랜덤액세스 메모리(120,130)에 대응하여 구비될 수 있다.
즉, 상기 랜덤액세스 메모리(120,130)가 하나만 구비되는 경우에는 상기 서치엔진(140,150)도 하나가 구비되며, 상기 랜덤 액세스 메모리(120,130)가 두 개가 구비되면 이에 대응하여 두 개가 구비될 수 있다. 이 때 상기 서치엔진(140,150)은 두 개가 구비됨이 없이 하나의 서치엔진만을 구비하여 두 개의 랜덤액세스 메모리(120,130)를 서치하는 것도 가능하다.
상기 서치엔진은 상기 제1랜덤액세스 메모리(120)에 로딩된 상기 매핑테이블 데이터를 검색하기 위한 제1서치엔진(140)과, 상기 제2랜덤액세스 메모리(130)에 로딩된 매핑테이블 데이터를 검색하기위한 제2서치엔진(150)으로 구분될 수 있다. 상기 서치엔진(140,150)의 동작 및 그 구성은 도 3 및 도 4에서 설명한다.
상기 제어부(110)는 상기 랜덤액세스 메모리(120,130)에의 상기 매핑테이블 로딩 및 상기 서치엔진(140,150)의 제어를 위해 구비된다. 상기 제어부(110)는 상기 랜덤액세스 메모리(120,130) 및 상기 서치엔진(140,150)의 전반적인 동작을 제어하며, 상기 매핑 테이블 검색시스템(100) 전반을 제어한다. 특히 상기 서치엔진(140,150)의 검색동작을 위해 시작어드레스, 엔딩어드레스, 및 검색대상 데이터 값 등을 상기 서치엔진(140,150)에 인가한다.
상기 플래시 컨트롤러(160)는 상기 플래시 메모리(300)를 컨트롤하기 위해 구비되며, 상기 제어부(110)에 의해 제어되거나 또는 독립적으로 상기 플래시 메모리(300)를 컨트롤 한다.
도 3은 도 2의 서치엔진(140,150)의 블록도를 나타낸 것이다.
도 3에 도시된 바와 같이, 상기 서치엔진(140 or150)은 상기 제어부(110)로부터 입력되는 어드레스(SA,EA), 상기 서치엔진(140or150)의 컨트롤 커맨드들을 저장하기 위한 다수의 레지스터들을 구비하여 하드웨어적으로 구성된다.
상기 서치엔진(140 or150)은 상기 제어부로부터 입력되는 시작 어드레스(SA;Start Address), 종료 어드레스(EA;Ending Address), 및 검색 대상 데이터값(SV;Search Value)을 입력받아 상기 시작어드레스(SA) 내지 상기 종료어드레스(EA) 범위 내에서 상기 검색대상 데이터값(SV)을 검색하고, 검색된 데이터값(MV;Matching Value)에 대응되는 히트 어드레스(HA;Hit Addrass)를 출력한다. 여 기서 상기 서치엔진(140or150)은 상기 히트 어드레스(HA) 출력시에 상기 검색된 데이터값(MV)을 함께 출력하는 구성을 가질 수 있다.
상기 시작어드레스(SA)는 검색이 시작되는 어드레스이며, 상기 종료어드레스(EA)는 검색이 종료되는 어드레스를 의미할 수 있다. 또한 검색대상 데이터값(SV)은 검색하고자 하는 데이터의 값를 의미하며, 상기 히트어드레스(HA)는 상기 검색된 데이터값(MV)이 저장된 어드레스를 의미하며, 상기 검색된 데이터값(MV)은 상기 검색 대상 데이터값(SV)과 일치하는 데이터값을 의미한다.
도 4는 도 3의 서치엔진에 구비되는 레지스터들을 나타낸 것이다.
도 4에 도시된 바와 같이, 상기 서치엔진(140or150)은 시작어드레스(SA) 저장용 레지스터(SAR), 상기 종료어드레스(EA) 저장용 레지스터(EAR), 상기 검색대상 데이터값(SV) 저장용 레지스터(SVR), 상기 히트어드레스(HA) 저장용 레지스터(HAR), 검색된 데이터 값(MV) 저장용 레지스터(MVR), 및 상기 서치엔진의 컨트롤 커맨드 등 제어관련 데이터를 저장하기 위한 컨트롤 레지스터(CR)를 구비할 수 있다.
도 5 및 도 6은 도 3에서의 상기 랜덤액세스 메모리(120,130)에 매핑테이블(122,132)이 로딩되는 동작 및 로딩된 후의 서치동작을 설명하기 위한 블록도이다.
도 5에 도시된 바와 같이, 상기 플래시메모리(300)에 저장되어 있는 매핑테이블의 일부는 하나의 공통 데이터버스(DB)를 통하여 상기 제1랜덤액세스 메모리(120)에 로딩되고, 나머지는 상기 제2랜덤액세스 메모리(130)에 로딩된다.
도 6에 도시된 바와 같이, 상기 제1랜덤액세스 메모리(120)에 로딩되어 있는 매핑테이블 데이터(122)는 제1검색패스(SPA1)를 통하여 상기 제1서치엔진(140)에 의해 검색되고, 상기 제2랜덤액세스 메모리(130)에 로딩되어 있는 매핑 테이블 데이터(132)는 제2검색패스(SPA2)를 통하여 상기 제2서치엔진(150)에 의해 검색될 수 있다.
상술한 바와 같이, 매핑테이블의 검색을 하드웨어로 처리함에 따라, 소프트 웨어를 이용함에 따른 오버헤드(overhead)를 줄이고 매핑 테이블 검색 속도를 빠르게 할 수 있게 된다.
상기 플래시메모리(300)의 용량이 커짐에 따라 이에 따른 매핑테이블의 용량도 커지고 있다. 이에 따라, 상술한 도 2 내지 도 6에서와 같이 하드웨어 서치엔진(140,150)을 이용하여 상기 매핑 테이블의 검색을 수행한다하더라도 많은 시간이 소요되는 경우가 있다. 특히, 데이터 블록 매핑 테이블의 경우에 상기 플래시 메모리(300)의 전체 용량이 증가함에 따라 상기 매핑테이블의 용량이 커진다. 최근 플래시 메모리(300)가 하드디스크(HDD)를 대체하고 있는 상황에서 상기 플래시 메모리 용량증가에 따른 매핑테이블 검색시간의 증가는 시스템 성능에 큰 영향을 끼치게 된다. 이런 경우, 상기 데이터 블록 매핑 테이블 또는 전체 매핑 테이블을 두 부분으로 나누어서, 각각을 상기 제1랜덤액세스 메모리(120) 및 상기 제2랜덤액세스 메모리(130)에 분리 로딩하고, 독립적으로 동작하는 서치엔진들을 이용하면 훨씬 빠른 속도로 매핑 테이블 검색을 수행하는 것이 가능해진다. 예를 들면, 빠른 응답이 요구되거나, 용량이 상대적으로 작은 매핑테이블 데이터와 빠른 응답이 요 구되지 않거나 용량이 상대적으로 큰 매핑 테이블 데이터를 분리하여 로딩할 수 있다. 이는 도 7에서 설명한다.
도 7은 매핑테이블을 중요도, 용량, 검색빈도수에 따라 나누어 로딩하는 경우의 예를 나타낸 블록도이다.
도 7에 도시된 바와 같이, 상기 제1랜덤액세스 메모리(120)에는 상기 매핑테이블 데이터 중 중요도가 크거나, 용량이 적거나, 검색빈도수가 많은 제1메핑테이블 데이터, 예를 들면, 페이지 매핑 테이블(page mapping table) 데이터(122a)를 로딩할 수 있다.
또한, 상기 제2랜덤액세스 메모리(130)에는 상기 매핑테이블 데이터 중 중요도가 작거나, 용량이 많거나, 검색빈도수가 적은 제2매핑테이블 데이터, 예를 들면, 배드블록 매핑테이블(bad block mapping table) 데이터(132b), 논리-물리 매핑테이블(Logical to Physical mapping table)데이터(132a)를 로딩할 수 있다. 상기 제1랜덤액세스 메모리(120)에의 상기 제1매핑테이블 데이터의 로딩 및 상기 제2랜덤액세스 메모리(130)에의 상기 제2매핑 테이블 데이터의 로딩은 상기 제어부(110)의 제어에 의해 수행될 수 있다.
그리고 상기 제1매핑 테이블 데이터(122a)는 상기 제1서치엔진(140)을 통하여 검색동작을 수행하고, 상기 제2매핑 테이블 데이터(132a,132b)는 상기 제2서치엔진을 통하여 검색을 수행하면, 하드웨어 병렬서치(parallel search)가 가능하여 검색시간단축으로 전체 시스템의 성능을 향상시킬 수 있다.
도 8은 본 발명의 다른 실시예에 따른 매핑 테이블 검색시스템의 블록도로써 도 2 내지 도 7에서 설명한 매핑테이블 검색시스템과 달리 두개의 데이터 전송버스를 구비하는 경우를 나타낸 것이다.
도 8에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 매핑 테이블 검색시스템은 상기 매핑 테이블 데이터의 전송을 위해 두개의 데이터 버스(AHB,APB)를 구비한다.
상기 두개의 데이터 버스들(AHP,APB) 중 하나인 제1데이터버스(AHB)는 고속전송을 위한 데이터 버스이며, 나머지인 제2데이터버스(APB)는 저속 전송을 위한 데이터 버스일 수 있다.
이때 상기 제1매핑테이블 데이터(122a)는 고속전송이 가능한 제1데이터버스(AHB)를 통하여 전송되어 상기 제1랜덤액세스 메모리(120)에 로딩되게 되며, 상기 제2매핑테이블 데이터(132a,132b)는 상기 제1데이터버스(AHB)보다는 저속으로 데이터를 전송하는 제2데이터 버스(APB)를 통하여 전송되어 상기 제2랜덤액세스 메모리(130)에 로딩되는 구조를 가질 수 있다.
상기 데이터 버스구조를 제외한 나머지 구성 및 그 동작은 도 2 내지 도 7에서 설명한 바와 동일하므로 그 설명을 생략한다.
상술한 바와 같이, 매핑테이블의 검색을 하드웨어로 처리함에 따라, 소프트 웨어를 이용함에 따른 오버헤드(overhead)를 줄이고 매핑 테이블 검색 속도를 빠르게 할 수 있게 된다. 매핑테이블을 두가지 종류로 구분하여 로딩함에 따라 하드웨어 병렬서치(parallel search)가 가능하여 검색시간단축으로 전체 시스템의 성능을 향상시킬 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.
이상 설명한 바와 같이, 본 발명에 따르면 매핑테이블의 검색을 하드웨어로 처리함에 따라, 소프트 웨어를 이용함에 따른 오버헤드(overhead)를 줄이고 매핑 테이블 검색 속도를 빠르게 할 수 있게 되고, 검색효율을 향상시킬 수 있게 된다. 매핑테이블을 두가지 종류로 구분하여 로딩함에 따라 하드웨어 병렬서치가 가능하여 검색시간단축으로 전체 시스템의 성능을 향상시킬 수 있다.

Claims (19)

  1. 플래시 메모리의 매핑 테이블 검색 시스템에 있어서:
    상기 플래시 메모리에 저장되어 있는 매핑 테이블을 로딩하여 저장하기 위한 적어도 하나 이상의 랜덤액세스 메모리와;
    상기 랜덤액세스 메모리에 로딩된 매핑테이블의 데이터를 하드웨어적으로 검색하기 위한 적어도 하나 이상의 서치엔진을 구비함을 특징으로 하는 매핑 테이블 검색시스템.
  2. 제1항에 있어서, 상기 매핑테이블 검색시스템은,
    상기 랜덤액세스 메모리에의 매핑테이블 로딩 및 상기 서치엔진의 제어를 위한 제어부(CPU)를 구비함을 특징으로 하는 매핑 테이블 검색시스템.
  3. 제2항에 있어서,
    상기 서치엔진은 상기 제어부로부터 입력되는 어드레스, 상기 서치엔진의 컨트롤 커맨드들을 저장하기 위한 다수의 레지스터들을 구비함을 특징으로 하는 매핑 테이블 검색시스템.
  4. 제3항에 있어서,
    상기 서치엔진은, 상기 제어부로부터 입력되는 시작 어드레스, 종료 어드레스, 및 검색 대상 데이터 값을 입력받아 상기 시작어드레스 내지 상기 종료어드레스 범위 내에서 상기 검색대상 데이터를 검색하고, 검색된 데이터의 대응되는 히트 어드레스를 출력함을 특징으로 하는 매핑 테이블 검색시스템.
  5. 제4항에 있어서,
    상기 서치엔진은 상기 히트 어드레스 외에 검색 대상 데이터와 검색된 데이터의 매칭값을 더 출력함을 특징으로 하는 매핑 테이블 검색시스템.
  6. 제4항에 있어서, 상기 매핑테이블 검색시스템은,
    액세스 속도 및 인터페이스 속도가 상대적으로 빠른 제1랜덤액세스 메모리 및 상기 제1랜덤 액세스 메모리보다 액세스속도 및 인터페이스 속도가 상대적으로 느린 제2랜덤메모리를 구비함을 특징으로 하는 매핑 테이블 검색시스템.
  7. 제6항에 있어서,
    상기 제1랜덤액세스 메모리는 SRAM이며, 상기 제2랜덤액세스 메모리는 DRAM임을 특징으로 하는 매핑 테이블 검색시스템.
  8. 제6항에 있어서, 상기 제어부는,
    상기 제1랜덤액세스 메모리에는 상기 매핑테이블 데이터 중 중요도가 크거나, 용량이 적거나, 검색빈도수가 많은 제1메핑테이블 데이터를 로딩하고,
    상기 제2랜덤액세스 메모리에는 상기 매핑테이블 데이터 중 중요도가 작거나, 용량이 많거나, 검색빈도수가 적은 제2메핑테이블 데이터를 로딩함을 특징으로 하는 매핑 테이블 검색시스템.
  9. 제8항에 있어서, 상기 매핑테이블 검색시스템은,
    상기 제1랜덤액세스 메모리에 로딩된 상기 제1매핑테이블 데이터를 검색하기 위한 제1서치엔진과;
    상기 제2랜덤액세스 메모리에 로딩된 상기 제2메핑테이블 데이터를 검색하기위한 제2서치엔진을 구비함을 특징으로 하는 매핑테이블 검색시스템.
  10. 제9항에 있어서,
    상기 제1서치엔진 및 상기 제2서치엔진은 서로 독립적으로 동작됨을 특징으로 하는 매핑테이블 검색시스템.
  11. 제9항에 있어서,
    상기 제1매핑테이블 데이터 및 제2매핑테이블 데이터는 하나의 공통된 데이터 버스를 통하여 전송되어 상기 제1랜덤액세스 메모리 및 상기 제2랜덤액세스 메모리에 로딩됨을 특징으로 하는 매핑테이블 검색시스템.
  12. 제9항에 있어서,
    상기 제1매핑테이블 데이터는 고속전송이 가능한 제1데이터버스를 통하여 전송되어 상기 제1랜덤액세스 메모리에 로딩되며, 상기 제2매핑테이블 데이터는 상기 제1데이터버스보다는 저속으로 데이터를 전송하는 제2데이터 버스를 통하여 전송되어 상기 제2랜덤액세스 메모리에 로딩됨을 특징으로 하는 매핑테이블 검색시스템.
  13. 플래시 메모리를 이용한 시스템에서의 플래시 메모리의 매핑테이블 검색방법에 있어서:
    상기 플래시 메모리의 매핑테이블을 액세스속도 및 인터페이스 속도의 차이 가 있는 두 가지 종류의 랜덤액세스 메모리들에 매핑 테이블 데이터를 로딩하는 단계와;
    상기 랜덤액세스 메모리들에 로딩된 매핑 테이블 데이터의 검색을 위한 어드레스 범위 및 검색대상 데이터를, 하드웨어적으로 구성되며 서로 독립적으로 동작하는 적어도 두 개의 서치엔진들에 입력하는 단계와;
    상기 서치엔진들을 통하여 상기 랜덤액세스 메모리들에 로딩된 매핑테이블 데이터들 중에서 검색대상 데이터를 검색하고, 검색된 데이터에 대응되는 히트 어드레스를 출력하는 단계를 구비함을 특징으로 하는 매핑테이블 검색방법.
  14. 제13항에 있어서,
    상기 매핑테이블의 로딩은, 중요도, 용량 및 검색빈도수에 따라 상기 매핑테이블 데이터를 구분하여 상기 랜덤액세스 메모리들에 나누어서 로딩함을 특징으로 하는 매핑테이블 검색방법.
  15. 제14항에 있어서,
    상기 매핑테이블 데이터 중 중요도가 크거나, 용량이 적거나, 검색빈도수가 많은 매핑테이블 데이터는 상대적으로 액세스 속도 및 인터페이스 속도가 빠른 제1랜덤액세스 메모리에 로딩하고, 상기 매핑테이블 데이터 중 중요도가 작거나, 용량 이 많거나, 검색빈도수가 적은 매핑테이블 데이터는 상대적으로 액세스 속도 및 인터페이스 속도가 느린 제2랜덤액세스 메모리에 로딩함을 특징으로 하는 매핑테이블 검색방법.
  16. 제15항에 있어서,
    상기 제1랜덤액세스 메모리는 SRAM이며, 상기 제2랜덤액세스 메모리는 DRAM임을 특징으로 하는 매핑테이블 검색방법.
  17. 제15항에 있어서,
    상기 서치엔진들은 상기 제1랜덤액세스 메모리에 로딩된 매핑테이블 검색을 위한 제1서치엔진과, 상기 제2랜덤액세스 메모리에 로딩된 매핑테이블 검색을 위한 제2서치엔진을 구비하며, 상기 제1 및 상기 제2서치엔진들은 서로 독립적으로 동작 또는 제어됨을 특징으로 하는 매핑테이블 검색방법.
  18. 플래시 메모리를 이용한 시스템에서의 플래시 메모리의 매핑테이블 검색방법에 있어서:
    상기 매핑테이블의 검색을 하드웨어적으로 별도로 구비되는 적어도 하나의 서치엔진을 통하여 수행함을 특징으로 하는 매핑테이블 검색방법.
  19. 제18항에 있어서,
    상기 매핑테이블의 데이터를 중요도, 검색빈도수, 및 용량에 따라 분리하여 적어도 두 개 이상의 랜덤액세스 메모리들에 나누어 로딩하고, 상기 랜덤액세스 메모리들 각각에 대응하여 구비되는 적어도 두 개 이상의 서치엔진들을 통하여, 로딩된 상기 매핑 테이블 데이터를 검색하는 것을 특징으로 하는 매핑테이블 검색방법.
KR1020070014740A 2007-02-13 2007-02-13 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법 KR100881052B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070014740A KR100881052B1 (ko) 2007-02-13 2007-02-13 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US12/026,837 US7991944B2 (en) 2007-02-13 2008-02-06 System and method for searching mapping table of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070014740A KR100881052B1 (ko) 2007-02-13 2007-02-13 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법

Publications (2)

Publication Number Publication Date
KR20080075618A true KR20080075618A (ko) 2008-08-19
KR100881052B1 KR100881052B1 (ko) 2009-01-30

Family

ID=39686842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070014740A KR100881052B1 (ko) 2007-02-13 2007-02-13 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법

Country Status (2)

Country Link
US (1) US7991944B2 (ko)
KR (1) KR100881052B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386000B2 (en) 2020-04-28 2022-07-12 SK Hynix Inc. Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7855916B2 (en) 2007-10-24 2010-12-21 Rao G R Mohan Nonvolatile memory systems with embedded fast read and write memories
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8838876B2 (en) 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
US8234242B2 (en) * 2009-01-22 2012-07-31 International Business Machines Corporation Maintaining a data structure with data set names and pointers to a plurality of catalogs
US8327040B2 (en) * 2009-01-26 2012-12-04 Micron Technology, Inc. Host controller
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8285920B2 (en) 2010-07-09 2012-10-09 Nokia Corporation Memory device with dynamic controllable physical logical mapping table loading
US8793419B1 (en) * 2010-11-22 2014-07-29 Sk Hynix Memory Solutions Inc. Interface between multiple controllers
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
US9235502B2 (en) 2011-09-16 2016-01-12 Apple Inc. Systems and methods for configuring non-volatile memory
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
CN103488580A (zh) * 2012-06-14 2014-01-01 建兴电子科技股份有限公司 固态储存装置的地址对应表建立方法
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
CN103227751A (zh) * 2013-05-14 2013-07-31 盛科网络(苏州)有限公司 提高转发表项空间使用率的方法和装置
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
CN105353995A (zh) * 2015-12-15 2016-02-24 上海新储集成电路有限公司 非挥发内容可寻址的存储方法及系统
US9946744B2 (en) * 2016-01-06 2018-04-17 General Motors Llc Customer vehicle data security method
TWI646460B (zh) * 2016-06-20 2019-01-01 慧榮科技股份有限公司 資料處理電路與資料處理方法
US10762137B1 (en) * 2017-11-15 2020-09-01 Amazon Technologies, Inc. Page table search engine
US10810133B1 (en) 2017-11-15 2020-10-20 Amazon Technologies, Inc. Address translation and address translation memory for storage class memory
US10754789B1 (en) 2017-11-15 2020-08-25 Amazon Technologies, Inc. Address translation for storage class memory in a system that includes virtual machines
KR20190090635A (ko) 2018-01-25 2019-08-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
KR20210151372A (ko) * 2020-06-05 2021-12-14 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813031A (en) * 1994-09-21 1998-09-22 Industrial Technology Research Institute Caching tag for a large scale cache computer memory system
US6212602B1 (en) * 1997-12-17 2001-04-03 Sun Microsystems, Inc. Cache tag caching
US7610438B2 (en) * 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
JP2002025281A (ja) 2000-07-10 2002-01-25 Matsushita Electric Ind Co Ltd 不揮発性メモリ管理方法および不揮発性メモリ管理装置
US7185196B1 (en) * 2000-09-15 2007-02-27 Atheros Communications, Inc. Key caching system
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
KR100457812B1 (ko) * 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
US20040109376A1 (en) * 2002-12-09 2004-06-10 Jin-Shin Lin Method for detecting logical address of flash memory
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
TWI240863B (en) * 2003-09-05 2005-10-01 Megawin Technology Co Ltd Method for efficiently controlling flash memory read/write
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
US7581059B2 (en) * 2005-07-27 2009-08-25 Netlogic Microsystems, Inc. Controlling a searchable range within a network search engine
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386000B2 (en) 2020-04-28 2022-07-12 SK Hynix Inc. Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines

Also Published As

Publication number Publication date
US7991944B2 (en) 2011-08-02
KR100881052B1 (ko) 2009-01-30
US20080195802A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR100881052B1 (ko) 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US11055230B2 (en) Logical to physical mapping
KR101495975B1 (ko) 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템
US7076598B2 (en) Pipeline accessing method to a large block memory
JP5752989B2 (ja) プロセッサ・メインメモリのための持続性メモリ
US20110231598A1 (en) Memory system and controller
US20130159617A1 (en) Memory system, and a method of controlling an operation thereof
JP2021530028A (ja) 記憶システムをメインメモリとして使用するための方法および装置
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
CN110543433B (zh) 一种混合内存的数据迁移方法及装置
JP4113524B2 (ja) キャッシュ・メモリ・システムとその制御方法
JP5259257B2 (ja) 記憶装置
US20220121379A1 (en) Storage device and method of operating the same
KR101436442B1 (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
US11630780B2 (en) Flash memory controller mechanism capable of generating host-based cache information or flash-memory-based cache information to build and optimize binary tree with fewer nodes when cache stores data from host
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
CN114764307A (zh) 计算机系统及其数据管理方法

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
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 12