KR102349999B1 - 반도체 장치 및 그 동작 방법 - Google Patents

반도체 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102349999B1
KR102349999B1 KR1020150028785A KR20150028785A KR102349999B1 KR 102349999 B1 KR102349999 B1 KR 102349999B1 KR 1020150028785 A KR1020150028785 A KR 1020150028785A KR 20150028785 A KR20150028785 A KR 20150028785A KR 102349999 B1 KR102349999 B1 KR 102349999B1
Authority
KR
South Korea
Prior art keywords
extent
region
logical address
offset
index
Prior art date
Application number
KR1020150028785A
Other languages
English (en)
Other versions
KR20160106240A (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 KR1020150028785A priority Critical patent/KR102349999B1/ko
Priority to US14/724,612 priority patent/US9892034B2/en
Publication of KR20160106240A publication Critical patent/KR20160106240A/ko
Application granted granted Critical
Publication of KR102349999B1 publication Critical patent/KR102349999B1/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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • 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

본 기술에 의한 반도체 장치는 영역 단위로 분할되는 논리 주소와 익스텐트 단위로 분할되는 물리 주소 사이의 대응 관계를 저장하되 하나의 영역에는 익스텐트가 하나 또는 둘 이상 동적으로 할당되는 매핑 테이블을 포함한다.

Description

반도체 장치 및 그 동작 방법{SEMICONDUCTOR DEVICE AND OPERATING METHOD THEREOF}
본 발명은 반도체 장치 및 그 동작 방법에 관한 것으로서 보다 구체적으로는 호스트로부터 요청되는 논리 주소와 메모리 장치 내부의 물리 주소 사이의 매핑을 제어하는 반도체 장치 및 그 동작 방법에 관한 것이다.
도 1은 일반적인 메모리 시스템을 나타낸 블록도이다.
호스트(1)는 논리 주소를 지정하여 메모리 장치(2)에 읽기/쓰기를 요청한다. 제어부(3)는 매핑 테이블(30)을 참조하여 논리 주소에 대응하는 물리 주소를 찾고 메모리 셀 어레이(4)의 물리 주소를 이용하여 읽기/쓰기 요청을 수행한다.
메모리 장치(2)가 낸드 플래시 메모리인 경우를 예로 들면 논리 주소와 물리 주소 사이의 매핑 방식으로 페이지 매핑, 블록 매핑 등의 종래 기술이 존재한다.
도 2는 종래의 페이지 매핑 기술을 설명하는 도면이다.
페이지 매핑 기술에서 매핑 테이블(30)은 호스트(1)에서 관리하는 논리 페이지 주소(11)와 메모리 장치(2)에서 관리하는 물리 페이지 주소(21)의 대응 관계를 저장한다.
이를 위하여 매핑 테이블(30)은 적어도 논리 페이지의 개수(P)만큼의 저장 영역(31)을 가져야 한다. 또한 각 저장 영역(31)의 크기는 물리 페이지 각각을 식별할 수 있을 정도의 데이터 폭을 가져야 한다.
예를 들어 물리 페이지의 총 개수가 2N인 경우 각 저장 영역의 데이터의 폭은 N이 되므로 매핑 테이블(30)의 크기는 P x N이 된다.
이와 같이 페이지 매핑 기술의 경우 저장 공간의 크기가 커짐에 따라 매핑 테이블(30)의 크기가 과도하게 증가하는 문제가 있다.
도 3은 종래의 블록 매핑 기술을 설명하는 도면이다.
블록 매핑 기술에서 논리 페이지 주소를 블록 주소(11)와 옵셋(12)으로 계층화하여 관리한다. 도 3은 하나의 블록에 두 개의 페이지가 포함되는 예를 나타낸다.
논리 페이지 주소의 옵셋(12)과 물리 페이지 주소의 옵셋(22)은 동일하게 대응한다. 이에 따라 매핑 테이블(30)은 논리 블록(11)과 물리 블록(21) 사이의 대응 관계를 저장하는 것으로 충분하다.
도 3에서 논리 블록(11)의 개수(B)는 페이지 개수의 1/2이므로 블록 매핑 기술에 사용되는 매핑 테이블의 저장 영역(31)의 개수는 페이지 매핑을 적용하는 경우에 비하여 1/2로 줄어든다.
또한 물리 블록(21)의 개수 역시 물리 페이지 개수의 1/2이므로 매핑 테이블의 저장 영역(21)의 데이터 폭 역시 줄어들게 된다. 예를 들어 물리 페이지 개수가 2N인 경우 물리 블록의 개수는 2N-1이 되어 저장 영역(31)의 데이터 폭은 (N-1)로 줄어든다.
블록 매핑 기술을 적용하는 경우 페이지 매핑 기술을 적용하는 경우에 비하여 매핑 테이블의 크기는 줄어든다.
그러나 물리 블록(11)의 옵셋(12)과 논리 블록(21)의 옵셋(22)의 대응 관계가 고정되므로 동일한 논리 주소에 대하여 빈번한 쓰기 요청이 발생하는 경우 잦은 지우기가 발생하는 문제가 있다.
도 4는 종래의 파티션 인지 매핑 기술을 설명하는 도면이다.
파티션 인지 매핑 기술에서 페이지 주소는 파티션 번호와 옵셋 번호로 계층화된다.
호스트(1)에서 관리하는 파티션 번호(13)는 메모리 장치(2) 내의 파티션 번호(23)와 1:1 대응한다. 도 3은 두 개의 파티션이 포함되는 실시예를 개시한다.
매핑 테이블(30)은 파티션의 개수에 대응하는 2개의 하위 매핑 테이블(31, 32)로 분할된다.
하위 매핑 테이블(31)은 0번 논리 파티션에 속하는 페이지의 옵셋(14)과 0번 물리 파티션에 속하는 페이지의 옵셋(24) 사이의 대응 관계를 페이지 매핑 기술에 따라 저장한다.
하위 매핑 테이블(32)은 1번 논리 파티션에 속하는 페이지의 옵셋(14)과 1번 물리 파티션에 속하는 페이지의 옵셋(24) 사이의 대응 관계를 페이지 매핑 기술에 따라 저장한다.
파티션 인지 매핑 기술에서 매핑 테이블의 저장 영역의 개수는 일반 페이지 매핑의 경우와 동일하나 각 저장 영역의 크기는 줄어들게 되어 결과적으로 파티션 인지 매핑 기술에서의 매핑 테이블의 크기는 페이지 매핑 기술에서의 매핑 테이블의 크기보다 줄어든다.
그러나 파티션 인지 매핑 기술 역시 특정 파티션에 요청이 집중하는 경우 해당 파티션이 다른 파티션에 비하여 빠르게 소모되어 전체적인 저장 공간의 이용 효율성이 저하되는 문제가 있다.
본 기술은 매핑 테이블의 크기를 줄이는 동시에 특정 논리 주소 영역에 대하여 요청이 집중되는 경우에 동적으로 해당 논리 주소 영역에 대응하는 물리 주소 영역을 확장함으로써 소거 동작, 쓰기 동작 및 가비지 콜렉션 횟수를 줄일 수 있는 주소 매핑 장치 및 그 동작 방법을 제공한다.
본 발명의 일 실시예에 의한 반도체 장치는 영역 단위로 분할되는 논리 주소와 익스텐트 단위로 분할되는 물리 주소 사이의 대응 관계를 저장하되 하나의 영역에는 익스텐트가 하나 또는 둘 이상 동적으로 할당되는 매핑 테이블을 포함한다.
본 발명의 일 실시예에 의한 반도체 장치의 동작 방법은 영역 번호와 영역 옵셋을 포함하는 논리 주소와 익스텐트 번호와 익스텐트 옵셋을 포함하는 물리 주소 사이의 대응 관계를 저장하되 논리 주소에 대응하는 제 1 인덱스 위치에 익스텐트 번호 인덱스 및 익스텐트 옵셋을 저장하는 제 1 테이블; 영역 번호 및 상기 익스텐트 번호 인덱스에 의해 연산되는 제 2 인덱스 위치에 상기 익스텐트 번호를 저장하는 제 2 테이블을 이용한 반도체 장치의 동작 방법으로서 제 1 테이블 및 상기 제 2 테이블을 조회하여 읽기 요청된 논리 주소에 대응하는 물리 주소를 확인하는 읽기 단계 및 쓰기 요청에 따라 제 1 테이블 또는 제 2 테이블을 갱신하는 쓰기 단계를 포함한다.
본 기술에 의한 주소 매핑 장치 및 그 동작 방법을 적용함으로써 매핑 테이블의 크기를 줄이는 동시에 특정 논리 주소 영역에 대하여 요청이 집중되는 경우에 동적으로 해당 논리 주소 영역에 대응하는 물리 주소 영역을 확장함으로써 소거 동작, 쓰기 동작 및 가비지 콜렉션 횟수를 줄일 수 있다.
이에 따라 모바일 장치와 같이 저장 공간이 제한되는 경우에 주소 매핑 테이블의 크기 증가로 인한 저장 공간의 낭비를 줄이며 잦은 백그라운드 동작으로 인한 성능 저하를 방지할 수 있다.
도 1은 메모리 시스템을 나타낸 블록도.
도 2 내지 도 4는 종래의 주소 매핑 기술을 설명하는 도면.
도 5는 본 발명의 일 실시예에 의한 주소 매핑 기술을 설명하는 도면.
도 6은 본 발명의 일 실시예에 의한 주소 매핑 기술을 이용하는 경우의 읽기 동작을 나타낸 순서도.
도 7은 본 발명의 일 실시예에 의한 주소 매핑 기술을 이용하는 경우의 쓰기 동작을 나타낸 순서도.
도 8은 도 7의 익스텐트 할당 동작을 나타낸 순서도.
도 9는 도 8의 쓰기 동작 실행을 나타낸 순서도.
도 10은 본 발명의 효과를 나타낸 그래프.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예에 대해서 상세히 설명한다. 이하의 설명에서 동일한 참조 부호는 실질적으로 동일한 대상을 지시한다.
도 5는 본 발명의 일 실시예에 의한 매핑 기술을 설명하는 도면이다.
본 발명에서 호스트(1)에서 관리하는 논리 주소(100)는 영역 번호(110)와 영역 옵셋(120)으로 계층화되고, 메모리 장치(2)에서 관리하는 물리 주소(200)는 익스텐트 번호(210)와 익스텐트 옵셋(220)으로 계층화된다. 이하의 개시에서 주소는 페이지 주소를 의미한다.
본 발명에서 매핑 테이블(300)은 제 1 테이블(310)과 제 2 테이블(320)을 포함한다.
제 2 테이블(320)은 영역 번호(110)와 익스텐트 번호(321) 사이의 대응 관계를 저장한다. 본 실시예에서 제 2 테이블(320)의 인덱스(제 2 인덱스)는 영역에 할당될 수 있는 익스텐트의 최대 개수 단위로 분할된다.
이에 따라 영역 번호를 알면 해당 영역에 할당될 수 있는 익스텐트의 범위가 결정된다. 이하에서 개시하는 바와 같이 익스텐트의 영역에 대한 할당은 동적으로 제어될 수 있다.
논리 주소를 이용하여 영역 번호(110)에 대응하는 익스텐트 번호(210)를 확인하기 위해서는 영역 번호(110) 외에 익스텐트 번호 인덱스(311)를 필요로 한다. 익스텐트 번호 인덱스(311)는 영역 번호(110)와 연관될 수 있는 범위 내에서 실제 익스텐트의 상대적인 위치를 나타낸다.
예를 들어 영역 번호(110)의 값이 A(비트수는 l), 영역에 할당될 수 있는 익스텐트 개수의 최대값이 N(=2i)이고 익스텐트 번호 인덱스의 값이 E이면 이에 대응하는 제 2 인덱스는 A x 2i+ E로 계산될 수 있다.
익스텐트 번호 인덱스(311)는 제 1 테이블(310)에 저장된다. 제 1 테이블(310)은 논리 주소 각각에 대응하는 제 1 인덱스에 따른 익스텐트 번호 인덱스(311)와 익스텐트 옵셋(312)을 저장한다.
영역 번호(110)의 값이 A(비트수는 l)이고, 영역 옵셋(120)의 값이 B(비트수는 k)이면 이에 대응하는 제 1 인덱스는 A x 2k+ B로 계산될 수 있다.
논리 주소(100)에 대응하는 물리 주소(200)의 익스텐트 옵셋(210)은 제 1 테이블(310)만을 참조함으로써 알 수 있으나 물리 주소(200)의 익스텐트 번호(210)는 제 1 테이블(310)과 제 2 테이블(320)을 함께 참조하여야 알 수 있다.
도 6은 본 발명의 일 실시예에 의한 주소 매핑 기술을 이용하는 경우의 읽기 동작을 순서도이다.
먼저 읽기 요청된 논리 주소에서 영역 번호와 영역 옵셋을 계산한다(S110).
다음으로 영역 번호와 영역 옵셋으로부터 계산되는 제 1 인덱스를 이용하여 제 1 테이블(310)을 조회하고 익스텐트 번호 인덱스와 익스텐트 옵셋을 결정한다(S120).
다음으로 영역 번호와 영역에 할당될 수 있는 최대 익스텐트 개수 및 익스텐트 번호 인덱스로부터 계산되는 제 2 인덱스를 이용하여 제 2 테이블(320)을 조회하여 익스텐트 번호를 결정한다(S130).
마지막으로 익스텐트 번호와 익스텐트 옵셋으로부터 물리 주소를 결정하고 해당 주소의 데이터를 읽는다(S140).
도 7은 본 발명의 일 실시예에 의한 주소 매핑 기술을 이용하는 경우의 쓰기 동작을 나타낸 순서도이다.
먼저 쓰기 요청된 논리 주소를 저장하기 위하여 새로운 프리 페이지가 필요한지 판단한다(S210).
새로운 프리 페이지가 필요하지 않은 경우 기존에 존재하는 프리 페이지 중 선택된 프리 페이지에 대하여 쓰기 동작을 수행한다(S400).
새로운 프리 페이지가 필요한 경우 영역에 할당된 익스텐트의 크기가 임계점 미만인지 판단한다(S220). 본 실시예에서 임계점의 값은 영역에 할당될 수 있는 익스텐트의 최대 크기인데 본 실시예에서는 영역의 크기의 두 배이다.
영역에 할당된 익스텐트의 크기가 임계점 미만이면 해당 영역에 할당될 수 있는 여유 익스텐트가 존재하는지 판단하고(S230) 그렇지 않으면 가비지 콜렉션 동작을 수행한다(S500).
단계(S230)의 판단 결과 여유 익스텐트가 존재하는 경우 여유 익스텐트를 해당 영역에 할당하고(S300), 쓰기 동작을 수행한다(S400). 이때 쓰기 동작은 영역에 새로 할당된 익스텐트에 존재하는 프리 페이지에 대해서 수행된다.
단계(S230)의 판단 결과 여유 익스텐트가 존재하지 않으면 가비지 콜렉션을 수행한다(S500).
본 실시예에서는 임계점이 영역에 할당될 수 있는 최대 익스텐트 개수와 동일하므로 단계(S220)에서 예로 판단되는 경우 단계(S230)에서도 예로 판단되고 단계(S220)에서 아니오로 판단되는 경우 단계(S230)에서도 아니오로 판단된다.
가비지 콜렉션(S500) 동작은 유효 페이지의 개수가 최소인 익스텐트를 선택하여 수행할 수 있다. 가비지 콜렉션(S500)은 유효 페이지를 선택된 익스텐트의 다른 페이지 또는 동일 영역 번호에 대응하는 다른 익스텐트 내의 다른 페이지로 이동하여 저장하고 무효 페이지만을 포함하는 블록을 지움으로써 수행될 수 있다.
가비지 콜렉션 수행시에도 매핑 테이블의 정보를 갱신해야 한다. 가비지 콜렉션 시 수행할 매핑 테이블의 갱신 동작은 이하에서 개시할 쓰기 동작시의 매핑 테이블 갱신 동작으로부터 용이하게 알 수 있다.
익스텐트를 할당하는 동작(S300) 및 쓰기 동작을 수행하는 경우(S400)에는 매핑 테이블(300)에서 정보를 갱신하는 작업이 수행되어야 한다. 이에 대해서는 각각 도 8, 9를 참조하여 개시한다.
도 8은 도 7의 익스텐트 할당 동작을 구체적으로 나타낸 순서도이다.
먼저 쓰기 요청된 논리 주소의 영역 번호에서 할당될 수 있는 여분의 익스텐트들 중 하나를 선택하고 제 2 테이블(310)에서 선택된 익스텐트 번호에 대응하는 제 2 인덱스를 확인한다(S310).
다음으로 확인된 제 2 인덱스, 영역 번호, 영역당 할당될 수 있는 최대 익스텐트 개수로부터 익스텐트 번호 인덱스를 계산하고, 영역 번호 및 영역 옵셋에 대응하는 제 1 인덱스를 이용하여 제 1 테이블(310)에서 익스텐트 번호 인덱스 값을 갱신한다.
도 9는 도 8의 쓰기 동작 실행을 나타낸 순서도이다.
쓰기 동작을 위해 프리 페이지가 선택되면 프리 페이지에 대응하는 익스텐트 옵셋으로 영역 번호 및 영역 옵셋에 대응하는 제 1 인덱스를 산출하고 이를 이용하여 제 1 테이블에서 익스텐트 옵셋 값을 갱신한다(S410).
프리 페이지는 쓰기 요청된 영역에 대응하는 익스텐트 중에서 선택되었으므로 익스텐트 번호는 이미 쓰기 요청된 영역에 대응하도록 설정된 상태이다.
이후 프리 페이지에 쓰기 요청된 데이터를 기록한다(S420).
도 10은 본 발명의 효과를 나타낸 그래프이다.
도 10의 실험은 32GB 용량의 eMMC를 이용하여 수행된 것으로서 페이지의 크기는 16KB, 블록의 크기는 2MB, 익스텐트 크기는 16MB, 영역의 크기는 128 MB이다.
실험에서는 동일한 읽기/쓰기 동작을 페이지 매핑 기술을 적용한 경우 및 본 발명에 의한 매핑 기술을 적용한 경우 각각에 대해서 수행하였다.
실험 결과 종래의 페이지 매핑 기술을 적용한 경우에는 지우기 횟수가 19444번 수행되었으나 본 발명에 의한 매핑 기술을 적용한 경우에는 지우기 횟수가 13990번으로 줄어들었다.
지우기 동작은 가비지 콜렉션 동작 시 수행되는 것으로서 가비지 콜렉션 횟수가 줄어들수록 동작 성능이 향상되는 것을 나타낸다.
실험에서 물리 페이지의 개수는 2M( = 32GB/16KB = 214)이므로 전체 논리 주소의 개수를 L이라고 하면 매핑 테이블의 크기는 14 x L 비트가 된다.
실험에서 익스텐트의 개수는 2K(=32G/16M), 익스텐트 번호의 비트수는 11(=log2 2K), 익스텐트 옵셋의 비트수는 3(= 14-11), 익스텐트 옵셋 인덱스의 최대값은 16( = 2 x 128MB / 16MB), 익스텐트 번호 인덱스의 비트 수는 4이다.
이에 따라 제 1 테이블(310)의 크기는 7 x L 비트이고 제 2 테이블(320)의 크기는 (영역 개수) x 11 비트가 된다. 논리 페이지 주소와 물리 페이지 주소의 전체 비트 수가 동일한 경우 영역 개수(=32GB/128MB)는 전체 논리 주소의 개수(=32G/16KB)에 비하여 현저하게 작은 수가 된다.
결과적으로 본 발명의 경우 페이지 매핑 기술을 적용한 경우에 비하여 매핑 테이블의 크기가 약 1/2 정도로 줄어든다.
이상에서 도면을 참조하여 본 발명의 실시예를 개시하였다. 이상의 개시는 설명을 위한 것으로서 본 발명의 권리범위를 한정하는 것은 아니며, 본 발명의 권리범위는 이하의 특허청구범위에 문언적으로 기재된 범위와 그 균등범위에 의해 정해진다.
1: 호스트
10: 논리 페이지 주소
11: 논리 블록 주소
13: 논리 파티션 번호
20: 물리 페이지 주소
21: 물리 블록 주소
23: 물리 파티션 번호
24: 물리 파티션 옵셋
2: 메모리 장치
3: 제어부
4: 메모리 셀 어레이
30: 매핑 테이블
100: 논리 주소
110: 영역 번호
120: 영역 옵셋
200: 물리 주소
210, 321: 익스텐트 번호
220, 312: 익스텐트 옵셋
300: 매핑 테이블
310: 제 1 테이블
320: 제 2 테이블
311: 익스텐트 번호 인덱스

Claims (15)

  1. 영역 단위로 분할되는 논리 주소와 익스텐트 단위로 분할되는 물리 주소 사이의 대응 관계를 저장하되 하나의 영역에는 익스텐트가 하나 또는 둘 이상 동적으로 할당되는 매핑 테이블을 포함하되,
    상기 논리 주소는 상기 논리 주소가 속하는 상기 영역의 영역 번호와 상기 논리 주소가 속하는 상기 영역 내에서 상기 논리 주소의 상대적 위치를 나타내는 영역 옵셋을 포함하고, 상기 물리 주소는 상기 물리 주소가 속하는 상기 익스텐트의 익스텐트 번호와 상기 물리 주소가 속하는 상기 익스텐트 내에서 상기 물리 주소의 상대적 위치를 나타내는 익스텐트 옵셋을 포함하며,
    상기 매핑 테이블은 상기 논리 주소에 대응하는 제 1 인덱스 위치에 익스텐트 번호 인덱스 및 상기 익스텐트 옵셋을 저장하는 제 1 테이블; 및 상기 영역 번호와 상기 익스텐트 번호 인덱스로 연산되는 제 2 인덱스 위치에 상기 익스텐트 번호를 저장하는 제 2 테이블을 포함하는 반도체 장치.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서, 상기 하나의 영역에 할당되는 상기 익스텐트의 개수의 최대값은 고정되어 있고, 상기 제 2 인덱스는 상기 영역 번호와 상기 최대값의 곱과 상기 익스텐트 번호 인덱스의 합으로 연산되는 반도체 장치.
  5. 청구항 1에 있어서,
    상기 물리 주소를 이용하여 접근 가능한 메모리 셀 어레이; 및
    상기 매핑 테이블을 참조하여 상기 논리 주소와 상기 물리 주소 사이의 변환을 수행하고 읽기 또는 쓰기 요청을 처리하는 제어부
    를 더 포함하는 반도체 장치.
  6. 청구항 5에 있어서, 상기 제어부는 상기 쓰기 요청된 논리 주소에 대응하는 상기 익스텐트 내에 제 1 데이터 저장 공간이 존재하는 경우 상기 제 1 데이터 저장 공간에 상기 쓰기 요청된 데이터를 저장하는 반도체 장치.
  7. 청구항 6에 있어서, 상기 제어부는 상기 논리 주소와 상기 제 1 데이터 저장 공간이 연관되도록 상기 제 1 데이터 저장 공간에 대응하는 상기 익스텐트 옵셋으로 상기 제 1 테이블을 갱신하는 반도체 장치.
  8. 청구항 6에 있어서, 상기 제어부는 상기 제 1 데이터 저장 공간이 없는 경우 상기 쓰기 요청된 논리 주소가 속하는 상기 영역에 새로운 상기 익스텐트를 할당하고 상기 새로운 익스텐트에 연관된 제 2 데이터 저장 공간에 상기 쓰기 요청된 데이터를 저장하는 반도체 장치.
  9. 청구항 8에 있어서, 상기 제어부는 상기 새로운 익스텐트가 상기 쓰기 요청된 논리 주소의 상기 영역과 연관되도록 상기 제 2 테이블을 갱신하고, 상기 쓰기 요청된 논리 주소와 상기 제 2 데이터 저장 공간이 연관되도록 상기 제 2 테이블에서 확인되는 상기 새로운 익스텐트에 대응하는 상기 익스텐트 번호 인덱스와 상기 제 2 데이터 저장 공간에 대응하는 상기 익스텐트 옵셋으로 상기 제 1 테이블을 갱신하는 반도체 장치.
  10. 청구항 8에 있어서, 상기 제어부는 상기 영역에 추가로 할당할 상기 익스텐트가 없는 경우 상기 영역에 대응하는 상기 익스텐트 중에서 가비지 콜렉션을 수행하는 반도체 장치.
  11. 영역 번호와 영역 옵셋을 포함하는 논리 주소와 익스텐트 번호와 익스텐트 옵셋을 포함하는 물리 주소 사이의 대응 관계를 저장하되 상기 논리 주소에 대응하는 제 1 인덱스 위치에 익스텐트 번호 인덱스 및 상기 익스텐트 옵셋을 저장하는 제 1 테이블; 상기 영역 번호 및 상기 익스텐트 번호 인덱스에 의해 연산되는 제 2 인덱스 위치에 상기 익스텐트 번호를 저장하는 제 2 테이블을 이용한 반도체 장치의 동작 방법으로서
    상기 제 1 테이블 및 상기 제 2 테이블을 조회하여 읽기 요청된 상기 논리 주소에 대응하는 상기 물리 주소를 확인하는 읽기 단계 및
    쓰기 요청에 따라 상기 제 1 테이블 또는 상기 제 2 테이블을 갱신하는 쓰기 단계
    를 포함하는 반도체 장치의 동작 방법.
  12. 청구항 11에 있어서 상기 읽기 단계는
    읽기 요청된 상기 논리 주소의 상기 영역 번호와 상기 영역 옵셋을 확인하는 단계;
    상기 논리 주소에 대응하는 제 1 인덱스에 따라 제 1 테이블을 조회하여 상기 익스텐트 번호 인덱스와 상기 익스텐트 옵셋을 확인하는 단계;
    상기 영역 번호와 상기 익스텐트 옵셋을 조합한 제 2 인덱스에 따라 제 2 테이블을 조회하여 상기 논리 주소에 대응하는 상기 익스텐트 번호를 확인하는 단계; 및
    상기 익스텐트 번호와 상기 익스텐트 옵셋을 조합하여 상기 읽기 요청된 논리 주소에 대응하는 물리 주소를 확인하는 단계
    를 포함하는 반도체 장치의 동작 방법.
  13. 청구항 11에 있어서, 상기 쓰기 단계는
    쓰기 요청된 논리 주소의 영역 번호와 영역 옵셋을 확인하는 단계;
    상기 영역 번호에 대응하는 익스텐트 내에 제 1 데이터 저장 공간이 있는지 확인하는 단계;
    상기 제 1 데이터 저장 공간이 존재하면 상기 제 1 데이터 저장 공간의 익스텐트 옵셋으로 상기 제 1 테이블을 갱신하는 단계;
    상기 제 1 데이터 저장 공간이 존재하지 않으면 상기 영역에 할당할 수 있는 여유 익스텐트 중에서 선택된 익스텐트의 상기 익스텐트 번호로 상기 제 2 테이블을 갱신하는 단계; 및
    상기 익스텐트 번호에 대응하는 상기 익스텐트 번호 인덱스와 상기 선택된 익스텐트 내의 제 2 데이터 저장 공간의 익스텐트 옵셋으로 상기 제 1 테이블을 갱신하는 단계;
    를 포함하는 반도체 장치의 동작 방법.
  14. 청구항 13에 있어서, 상기 영역에 할당할 수 있는 상기 여유 익스텐트가 존재하지 않는 경우 상기 영역 번호에 대응하는 상기 익스텐트 내에서 가비지 콜렉션을 수행하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  15. 청구항 13에 있어서, 상기 제 1 데이터 저장 공간이 존재하지 않는 경우 상기 영역에 할당된 상기 익스텐트의 개수가 임계점 이상이면 상기 영역에 할당된 익스텐트 중 가비지 콜렉션을 수행하는 단계를 더 포함하는 반도체 장치의 동작 방법.
KR1020150028785A 2015-03-02 2015-03-02 반도체 장치 및 그 동작 방법 KR102349999B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150028785A KR102349999B1 (ko) 2015-03-02 2015-03-02 반도체 장치 및 그 동작 방법
US14/724,612 US9892034B2 (en) 2015-03-02 2015-05-28 Semiconductor device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150028785A KR102349999B1 (ko) 2015-03-02 2015-03-02 반도체 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20160106240A KR20160106240A (ko) 2016-09-12
KR102349999B1 true KR102349999B1 (ko) 2022-01-10

Family

ID=56850587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150028785A KR102349999B1 (ko) 2015-03-02 2015-03-02 반도체 장치 및 그 동작 방법

Country Status (2)

Country Link
US (1) US9892034B2 (ko)
KR (1) KR102349999B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210004322A (ko) 2019-07-04 2021-01-13 에스케이하이닉스 주식회사 메모리 시스템에서 맵정보 및 리드카운트를 전송하는 장치 및 방법
KR20200139433A (ko) 2019-06-04 2020-12-14 에스케이하이닉스 주식회사 컨트롤러의 동작 방법 및 메모리 시스템
KR20200123684A (ko) 2019-04-22 2020-10-30 에스케이하이닉스 주식회사 메모리 시스템에서 맵 정보를 전송하는 장치
KR20200137181A (ko) 2019-05-29 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템에서 맵정보를 전송하는 장치
US11422942B2 (en) 2019-04-02 2022-08-23 SK Hynix Inc. Memory system for utilizing a memory included in an external device
US11416408B2 (en) * 2019-07-05 2022-08-16 SK Hynix Inc. Memory system, memory controller and method for operating memory system
DE102020120488A1 (de) 2019-12-20 2021-06-24 Taiwan Semiconductor Manufacturing Co. Ltd. Verfahren zur nachschlagtabellenfreien speicherreperatur
US11367500B2 (en) 2019-12-20 2022-06-21 Taiwan Semiconductor Manufacturing Company, Ltd. Method for LUT-free memory repair
CN115617707B (zh) * 2022-12-07 2023-03-10 摩尔线程智能科技(北京)有限责任公司 用于管理存储空间的装置及方法、计算设备、芯片

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
KR20100055565A (ko) 2008-11-18 2010-05-27 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR101565975B1 (ko) 2009-02-27 2015-11-04 삼성전자주식회사 인덱스를 저장하는 플래시 메모리를 포함하는 사용자 장치 및 그것의 인덱스 액세스 방법
KR101907059B1 (ko) * 2011-12-21 2018-10-12 삼성전자 주식회사 비휘발성 메모리 장치의 블록 관리 방법 및 블록 관리 시스템
JP5962621B2 (ja) * 2013-09-19 2016-08-03 日本電気株式会社 ストレージ装置及びその制御方法、並びにストレージ制御プログラム

Also Published As

Publication number Publication date
KR20160106240A (ko) 2016-09-12
US9892034B2 (en) 2018-02-13
US20160259723A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
KR102349999B1 (ko) 반도체 장치 및 그 동작 방법
US11709597B2 (en) Memory system and method for controlling nonvolatile memory
CN112433956B (zh) 逻辑到物理表高速缓存中基于顺序写入的分区
US9990277B2 (en) System and method for efficient address translation of flash memory device
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US7788441B2 (en) Method for initializing and operating flash memory file system and computer-readable medium storing related program
US9678676B2 (en) Method for storage devices to achieve low write amplification with low over provision
US20190087327A1 (en) Memory system and method for controlling nonvolatile memory
KR20110117099A (ko) 메모리 장치에서 맵핑 어드레스 테이블을 유지관리하는 방법
JP2019020788A (ja) メモリシステムおよび制御方法
KR20090081657A (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
US20120311238A1 (en) Memory apparatus
US11347412B2 (en) Memory system and method of controlling nonvolatile memory
US20140331024A1 (en) Method of Dynamically Adjusting Mapping Manner in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
CN110727395A (zh) 闪存控制器、方法及存储装置
KR100845552B1 (ko) Ftl의 어드레스 매핑 방법
US20100318726A1 (en) Memory system and memory system managing method
US20170255636A1 (en) Method and system for storing metadata of log-structured file system
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
US20230333988A1 (en) Namespace level valid translation unit count
KR20150139383A (ko) 반도체 장치
KR100970537B1 (ko) Ssd 관리 장치 및 방법
US20240103733A1 (en) Data processing method for efficiently processing data stored in the memory device by splitting data flow and the associated data storage device
US20240103757A1 (en) Data processing method for efficiently processing data stored in the memory device by splitting data flow and the associated data storage device

Legal Events

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