KR20100130007A - 데이터 저장 장치 - Google Patents

데이터 저장 장치 Download PDF

Info

Publication number
KR20100130007A
KR20100130007A KR1020090048650A KR20090048650A KR20100130007A KR 20100130007 A KR20100130007 A KR 20100130007A KR 1020090048650 A KR1020090048650 A KR 1020090048650A KR 20090048650 A KR20090048650 A KR 20090048650A KR 20100130007 A KR20100130007 A KR 20100130007A
Authority
KR
South Korea
Prior art keywords
memory
data
stored
blocks
control unit
Prior art date
Application number
KR1020090048650A
Other languages
English (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 KR1020090048650A priority Critical patent/KR20100130007A/ko
Priority to US12/661,352 priority patent/US20100306491A1/en
Publication of KR20100130007A publication Critical patent/KR20100130007A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

읽기 및 쓰기 성능을 향상시키는 데이터 저장 장치가 개시된다. 상기 데이터 저장 장치는 데이터가 저장되는 복수의 블록들 및 제어부를 포함하고, 동일한 채널을 통하여 호스트와 통신하는 적어도 하나의 메모리 칩 및 상기 메모리 칩에서 출력하는 데이터를 저장할 수 있는 메모리를 구비할 수 있다. 상기 제어부는 상기 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 순차적으로 리드하여 연속적인 물리 어드레스를 가지도록 상기 메모리에 저장할 수 있다.

Description

데이터 저장 장치{Data storage device}
본 발명은 데이터 저장 장치에 관한 것으로, 특히 읽기 및 쓰기 성능을 향상시키는 데이터 저장 장치에 관한 것이다.
비휘발성 메모리 장치들은 데이터 보존성이 우수하기 때문에, 메모리 시스템에서 저장 매체로 사용된다. 비휘발성 메모리 장치들은 기존의 하드 디스크 또는 플로피 디스크를 대체할 만한 고집적 대용량 소자로서 주목받고 있다. 현재 비휘발성 메모리 장치들은 휴대폰, 디지털 카메라, MP3 플레이어, SSD(Solid State Drive) 등에서 저장 매체로 사용되고 있다.
본 발명이 해결하고자 하는 과제는 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 효율적으로 병합(merge)할 수 있는 데이터 저장 장치를 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 데이터 저장 장치는 데이터가 저장되는 복수의 블록들 및 제어부를 포함하고, 동일한 채널을 통하여 호스트와 통신하는 적어도 하나의 메모리 칩 및 상기 메모리 칩에서 출력하는 데이터를 저장할 수 있는 메모리를 구비할 수 있다. 상기 제어부는 상기 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 순차적으로 리드하여 연속적인 물리 어드레스를 가지도록 상기 메모리에 저장할 수 있다.
상기 제어부는 상기 채널이 사용되지 않는 유휴 시간(idle time)동안 상기 메모리에 저장된 데이터를 대응하는 메모리 칩의 대응하는 블록에 저장할 수 있다.
상기 제어부는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장된 블록들을 선택하는 선택부, 상기 선택된 블록들의 데이터 중 연속적인 논리 어드레스를 가지는 데이터를 순차적으로 리드하여 상기 메모리로 출력하는 전송부, 상기 메모리에 저장되는 데이터의 논리 어드레스와 물리 어드레스 사이의 맵핑 정보를 관리하는 맵핑 정보 관리부 및 상기 연속적인 논리 어드레 스를 가지는 데이터가 모두 상기 메모리에 저장된 경우, 상기 블록들에서 상기 연속적인 논리 어드레스를 가지는 데이터를 삭제(erase)하는 블록 제어부를 구비할 수 있다.
상기 반도체 메모리 장치는 상기 데이터가 저장되는 비휘발성 메모리를 더 구비하며, 상기 제어부는 상기 메모리에 상기 연속적인 논리 어드레스를 가지는 데이터가 모두 저장된 경우 상기 저장된 데이터를 상기 메모리에서 상기 비휘발성 메모리로 전송하도록 제어할 수 있다.
상기 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 데이터 저장 장치는 데이터가 저장되는 복수의 블록들 및 제어부를 포함하고, 동일한 채널을 통하여 호스트와 통신하는 적어도 하나의 메모리 칩, 상기 호스트와 상기 메모리 칩 사이에서 상기 채널을 통하여 신호 및 상기 데이터를 전송하는 제 1 메모리 및 상기 제 1 메모리에서 출력하는 데이터를 저장할 수 있는 제 2 메모리를 구비할 수 있다. 상기 제어부는 상기 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 순차적으로 리드하여 연속적인 물리 어드레스를 가지도록 상기 제 1 메모리로 전송하여 상기 제 2 메모리에 저장할 수 있다.
상기 제 2 메모리는 비휘발성 메모리이고, 상기 제어부는 상기 연속적인 논리 어드레스를 가지는 데이터 중 일부의 데이터가 상기 제 1 메모리로 전송되어 저장될 때마다 상기 저장된 일부의 데이터를 상기 제 1 메모리에서 상기 제 2 메모리로 전송하도록 제어할 수 있다.
본 발명에 따른 데이터 저장 장치는 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 효율적으로 병합(merge)함으로서 데이터의 읽기 및 쓰기 성능을 향상시킬 수 있는 장점이 있다. 또한, 호스트의 요청과 상기 병합 동작을 병렬적으로 처리할 수 있으며, 종래보다 상기 병합 동작을 수행하는 횟수를 감소시킬 수 있는 장점이 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 데이터 저장 장치(100)의 블록도이다.
도 1을 참조하면, 데이터 저장 장치(100)는 복수의 메모리 칩들(CHIP1, CHIP2, CHIP3, CHIP4) 및 제 1 메모리(ME_1)를 구비할 수 있다. 도 1 에서는 데이터 저장 장치(100)가 제 1 내지 제 4 메모리 칩(CHIP1, CHIP2, CHIP3, CHIP4)을 구비하는 경우에 대하여 도시하고 있으나, 본 발명이 이 경우에 한정되는 것은 아니며 다른 개수의 메모리 칩을 구비하는 경우에도 본 발명과 동일한 효과를 얻을 수 있다. 제 1 메모리(ME_1)는 호스트와 제 1 내지 제 4 메모리 칩(CHIP1, CHIP2, CHIP3, CHIP4) 사이에서 채널(CH)을 통하여 신호 및 데이터를 전송할 수 있다. 제 1 메모리(ME_1)는 휘발성 메모리, 예를 들어, DRAM(Dynamic Random Access Memory)일 수 있다. 다만, 본 발명이 이 경우로 한정되는 것은 아니다.
데이터 저장 장치(100)는 제 2 메모리(ME_2)를 더 구비할 수 있다. 제 2 메모리(ME_2)는 제 1 메모리(ME_1)에 저장되어 있는 데이터가 저장될 수 있다. 제 2 메모리(ME_2)는 비휘발성 메모리, 예를 들어, PRAM(Phase-change Random Access Memory)일 수 있다. 다만, 본 발명이 이 경우로 한정되는 것은 아니다. 이하에서는 데이터 저장 장치(100)의 동작에 대하여 보다 상세하게 설명한다.
도 2는 도 1의 데이터 저장 장치(100)의 일 실시예에 따른 블록도이다.
도 2에서는 설명의 편의상 도 1의 제 1 메모리 칩(CHIP_1)과 관련하여서만 설명한다. 다만, 도 1의 나머지 메모리 칩(CHIP2, CHIP3, CHIP4)도 동일한 구성을 가질 수 있다.
도 2를 참조하면, 제 1 메모리 칩(CHIP1)은 데이터가 저장될 수 있는 복수의 블록들(BLOCK1, BLOCK2, BLOCK3, BLOCK4)을 포함하는 데이터 저장 매체(210) 및 제어부(250)를 구비할 수 있다. 데이터 저장 매체(210)는 플래쉬 메모리 장치일 수 있다. 플래쉬 메모리 장치는 복수개의 블록들, 예컨대 1024 블록, 2048 블록 등으로 이루어질 수 있다. 하나의 블록은 복수개의 페이지들, 예컨대 16 페이지, 32 페이지 또는 64 페이지 등으로 이루어질 수 있다. 도 2에서는 설명의 편의상 데이터 저장 매체(210)가 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)을 포함하는 경우에 대하여 도시하고 있으나, 본 발명이 이 경우에 한정되는 것은 아니며 데 이터 저장 매체(210)가 다른 개수의 블록들을 포함하는 경우에도 본 발명과 동일한 효과를 얻을 수 있다.
제어부(250)는 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에 저장되어 있는 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지도록 재배치하는 병합 동작(merge operation)을 수행할 수 있다.
본 발명의 제 1 실시예에 따라 상기 병합 동작을 수행하는 경우, 제어부(250)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에서 순차적으로 리드하여 제 1 메모리(ME_1)로 전송한다. 제 1 메모리(ME_1)에는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지도록 저장된다. 제 1 메모리(ME_1)에 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지면서 모두 저장된 경우, 제어부(250)는 제 1 메모리(ME_1)에 저장된 상기 데이터를 제 2 메모리(ME_2)로 전송하여 제 2 메모리(ME_2)에 저장할 수 있다. 다만, 상기 제 1 메모리(ME_1)에 저장된 상기 데이터를 제 2 메모리(ME_2)로 전송할 것인지는 선택적으로 할 수 있다. 예를 들어, 제 1 메모리(ME_1)가 휘발성 메모리이고 제 2 메모리(ME_2)가 불휘발성 메모리인 경우 전원이 차단되어도 데이터가 삭제되지 않도록 하기 위하여 제어부(250)는 제 1 메모리(ME_1)에 저장된 데이터를 제 2 메모리(ME_2)로 전송하여 저장할 수 있다. 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2) 에 저장된 데이터는 호스트의 요청에 따라 호출되어 호스트에서 사용될 수도 있고, 채널(CH)이 사용되지 않는 유휴 시간(idle time)동안 대응하는 메모리 칩의 대응하는 블록에 저장할 수 있다. 따라서, 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에 저장되어 있던 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지면서 대응하는 블록에 저장될 수 있다. 상기 제 1 실시예에 관하여는 도 4a 내지 도 4d를 참조하여 보다 상세하게 설명한다.
본 발명의 제 2 실시예에 따른 상기 병합 동작을 수행하는 경우, 제어부(250)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에서 순차적으로 리드하여 제 1 메모리(ME_1)로 전송한다. 제 1 메모리(ME_1)에 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터 중 일부의 데이터가 저장된 경우, 제어부(250)는 상기 저장된 일부의 데이터를 제 1 메모리(ME_1)에서 제 2 메모리(ME_2)로 전송하도록 제어할 수 있다. 즉, 제 1 메모리(ME_1)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 메모리 칩(CHIP1)에서 제 2 메모리(ME_2)로 전송하여 주는 역할을 수행할 수 있다. 예를 들어, 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)이 복수의 페이지를 포함하는 경우, 제어부(250)는 페이지 단위를 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 메모리(ME_1)에 저장한 후 제 2 메모리(ME_2)로 전송하도록 제어할 수 있다. 상기와 같은 동작을 상기 연속적인 논 리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터 모두에 대하여 수행한 경우, 제 2 메모리(ME_2)에는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지도록 저장된다. 제 2 메모리(ME_2)에 저장된 데이터는 호스트의 요청에 따라 호출되어 호스트에서 사용될 수도 있고, 채널(CH)이 사용되지 않는 유휴 시간(idle time)동안 대응하는 메모리 칩의 대응하는 블록에 저장할 수 있다. 따라서, 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에 저장되어 있던 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지면서 대응하는 블록에 저장될 수 있다. 상기 제 2 실시예에 관하여는 도 5a 내지 도 5d를 참조하여 보다 상세하게 설명한다.
도 3은 도 1의 데이터 저장 장치(100)의 다른 일 실시예에 따른 블록도이다.
도 3에서는 도 2에서와 마찬가지로 설명의 편의상 도 1의 제 1 메모리 칩(CHIP_1)과 관련하여서만 설명한다. 다만, 도 1의 나머지 메모리 칩(CHIP2, CHIP3, CHIP4)도 동일한 구성을 가질 수 있다.
도 3를 참조하면, 제 1 메모리 칩(CHIP1)은 데이터가 저장될 수 있는 복수의 블록들(BLOCK1, BLOCK2, BLOCK3, BLOCK4)을 포함하는 데이터 저장 매체(210), 제어부(250) 및 제 2 메모리(ME_2)를 구비할 수 있다. 즉, 도 1 및 도 2에 도시된 제 2 메모리(ME_2)는 각각의 메모리 칩에 포함될 수 있다. 제 2 메모리(ME_2)가 각각의 메모리 칩에 포함되는 것을 제외하고는 데이터 저장 장치(100)가 도 2와 동일하게 구성되고 동작하므로 이하에서 상세한 설명은 생략한다. 제어부(250)도 도 2와 관 련하여 설명한 제 1 실시예 및 제 2 실시예에 따른 상기 병합 동작을 앞서 설명한 것과 동일한 방법으로 수행할 수 있다.
도 4a 내지 도 4d는 상기 제 1 실시예에 따른 병합 동작을 설명하기 위하여 데이터 저장 매체(210), 제 1 메모리(ME_1) 및 제 2 메모리(ME_2)에 저장되어 있는 데이터를 도시한 도면이다.
도 2 내지 도 4d를 참조하여 이하에서 상기 제 1 실시예에 따른 병합 동작을 설명한다. 도 4a는 데이터 저장 매체(210)에 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장되어 있는 모습을 도시한 도면이다. 제 1 내지 제 3 블록(BLOCK1, BLOCK2, BLOCK3)에 빗금으로 표시한 부분이 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터이다. 제 1 내지 제 4 블록(BLOCK1, BLOCK2, BLOCK3, BLOCK4)은 각각 5개의 페이지를 가지는 경우를 예를 들어 도시하였다. 다만, 본 발명이 이 경우로 한정되는 것은 아니며, 각각의 블록은 다른 개수의 페이지를 가지는 경우에도 본 발명과 동일한 효과를 얻을 수 있다.
제어부(250)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 내지 제 3 블록(BLOCK1, BLOCK2, BLOCK3)에서 순차적으로 리드하여 제 1 메모리(ME_1)로 전송한다. 그러므로, 도 4b와 같이 제 1 메모리(ME_1)에는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 연속적인 물리 어드레스를 가지도록 저장된다. 이후에, 제어부(250)는 선택적으로 제 1 메모리(ME_1)에 저장된 상기 데이터를 제 2 메모리(ME_2)로 전송하여 제 2 메모리(ME_2)에 저장할 수 있다. 즉, 도 4c에서는 상기 제 1 메모리(ME_1)에 저장 되어 있던 데이터가 제 2 메모리(ME_1)에 저장된 상태를 도시하고 있다. 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2)에 저장된 데이터는 채널(CH)이 사용되지 않는 유휴 시간(idle time)동안 대응하는 메모리 칩의 대응하는 블록에 저장할 수 있다. 도 4d에서는 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2)에 저장되어 있는 데이터가 제 3 블록(BLOCK3)에 연속적인 물리 어드레스를 가지면서 저장되는 경우를 도시하고 있다.
도 5a 내지 도 5d는 상기 제 2 실시예에 따른 병합 동작을 설명하기 위하여 데이터 저장 매체(210), 제 1 메모리(ME_1) 및 제 2 메모리(ME_2)에 저장되어 있는 데이터를 도시한 도면이다.
도 2, 도 3 및 도 5a 내지 도 5d를 참조하여 이하에서 상기 제 2 실시예에 따른 병합 동작을 설명한다. 도 5a는 데이터 저장 매체(210)에 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장되어 있는 모습을 도시한 도면으로서, 도 4a와 동일하게 데이터가 저장되어 있는 경우를 가정하고 있다.
제어부(250)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 제 1 내지 제 3 블록(BLOCK1, BLOCK2, BLOCK3)에서 순차적으로 리드하여 제 1 메모리(ME_1)로 전송한다. 제어부(250)는 제 1 메모리(ME_1)에 저장된 데이터를 페이지 단위로 제 2 메모리(ME_2)로 전송한다고 가정한다. 즉, 도 5b에서 제어부(250)는 제 1 블록(BLOCK1)의 첫 번째 페이지를 제 1 메모리(ME_1)에 저장한 후 제 2 메모리(ME_2)로 전송하여 저장한다. 그리고, 제어부(250)는 제 1 블록(BLOCK1)의 두 번째 페이지를 제 1 메모리(ME_1)에 저장한 후 제 2 메모리(ME_2) 로 전송하여 저장한다. 동일한 방법으로 제어부(250)는 제 2 블록(BLOCK2)의 네 번째 페이지 및 제 3 블록(BLOCK3)의 두 번째 페이지를 제 1 메모리(ME_1)에 저장한 후 제 2 메모리(ME_2)로 전송하여 저장한다. 상기 제 3 블록(BLCOK3)의 두 번째 페이지까지 제 2 메모리(ME_2)로 전송된 경우 도 5c와 같이 제 2 메모리(ME_2)에는 네 개의 페이지가 연속적인 물리 어드레스를 가지면서 저장된다. 제 2 메모리(ME_2)에 저장된 데이터는 채널(CH)이 사용되지 않는 유휴 시간(idle time)동안 대응하는 메모리 칩의 대응하는 블록에 저장될 수 있다. 도 5d에서는 제 2 메모리(ME_2)에 저장되어 있는 데이터가 제 2 블록(BLOCK2)에 연속적인 물리 어드레스를 가지면서 저장되는 경우를 도시하고 있다.
제 1 실시예에서는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 모두 제 1 메모리(ME_1)에 저장된 후 상기 저장된 모든 데이터가 제 2 메모리(ME_2)로 전송된다. 그러나, 제 2 실시예에서는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터 중 일부의 데이터가 제 1 메모리(ME_1)에 저장된 후 상기 저장된 일부의 데이터가 제 2 메모리(ME_2)로 전송된다.
제어부(250)는 채널(CH)의 현재 상태에 대응하여 상기 제 1 실시예에 따른 병합 동작 또는 제 2 실시예에 따른 병합 동작을 수행할 것인지 여부를 결정할 수 있다. 예를 들어, 상기 병합 동작을 수행하려고 할 때 상기 호스트 요청에 따라 채널을 계속 사용하는 경우, 상기 제 1 실시예 또는 상기 제 2 실시예에 따른 병합 동작을 수행함으로서 상기 호스트의 요청을 수행할 수 있다. 만약, 상기 병합 동작 을 수행하려고 할 때 상기 채널이 유휴 상태인 경우, 상기 제 1 실시예 또는 상기 제 2 실시예에 따른 병합 동작을 수행할 수도 있고 또는 데이터가 저장되어 있지 않은 프리 블록(free block)을 이용하여 병합 동작을 수행할 수도 있다. 예를 들어, 도 4a와 같이 데이터가 저장되어 있고 제 4 블록에는 데이터가 저장되어 있지 않은 경우, 도 4b 또는 도 5b와 같이 제 1 메모리(ME_1)에 저장되어 있는 데이터를 제 2 메모리(ME_2)로 전송하지 않고 제 4 블록(BLOCK_4)에 연속적인 물리 어드레스를 가지도록 데이터를 저장할 수 있다.
도 6은 도 2 또는 도 3의 제 1 메모리 칩(CHIP1)을 도시한 블록도이다.
이하에서는 설명의 편의상 제 1 메모리 칩(CHIP1)의 구성에 대하여 상세하게 설명한다. 다만, 도 1의 다른 메모리 칩들(CHIP2, CHIP3, CHIP4)도 도 6과 동일한 구성을 가질 수 있다.
도 6을 참조하면, 제 1 메모리 칩(CHIP1)은 데이터 저장 매체(210) 및 제어부(250)를 구비할 수 있다. 데이터 저장 매체(210)의 구성에 대하여는 도 2 및 도 3에서 설명하였으므로 이하 상세한 설명은 생략한다.
제어부(250)는 선택부(610), 전송부(620), 맵핑 정보 관리부(630) 및 블록 제어부(640)를 구비할 수 있다. 선택부(610)는 상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장된 블록들을 선택한다. 전송부(620)는 상기 선택된 블록들의 데이터 중 연속적인 논리 어드레스를 가지는 데이터를 순차적으로 리드하여 제 1 메모리(ME_1)로 출력한다. 맵핑 정보 관리부(630)는 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2)에 저장되는 데이터의 논리 어드레스 와 물리 어드레스 사이의 맵핑 정보를 관리한다. 블록 제어부(640)는 상기 연속적인 논리 어드레스를 가지는 데이터가 모두 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2)에 저장된 경우, 상기 선택된 블록들에서 상기 연속적인 논리 어드레스를 가지는 데이터를 삭제(erase)한다.
예를 들어, 도 4a를 참조하여 설명하면, 선택부(610)는 제 1 내지 제 3 블록(BLOCK1, BLOCK2, BLOCK3)을 선택하고, 전송부(620)는 제 1 내지 제 3 블록(BLOCK1, BLOCK2, BLOCK3)의 데이터 중 연속적인 논리 어드레스를 가지는 데이터(도 4a에서 빗금으로 표시한 부분)를 제 1 메모리(ME_1)를 출력한다. 블록 제어부(640)는 상기 연속적인 논리 어드레스를 가지는 데이터(도 4a에서 빗금으로 표시한 부분)가 모두 제 1 메모리(ME_1) 또는 제 2 메모리(ME_2)에 저장된 경우, 상기 선택된 블록들에서 상기 연속적인 논리 어드레스를 가지는 데이터(도 4a에서 빗금으로 표시한 부분)를 삭제(erase)한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 데이터 저장 장치의 블록도이다.
도 2는 도 1의 데이터 저장 장치의 일 실시예에 따른 블록도이다.
도 3은 도 1의 데이터 저장 장치의 다른 일 실시예에 따른 블록도이다.
도 4a 내지 도 4d는 상기 제 1 실시예에 따른 병합 동작을 설명하기 위하여 데이터 저장 매체, 제 1 메모리 및 제 2 메모리에 저장되어 있는 데이터를 도시한 도면이다.
도 5a 내지 도 5d는 상기 제 2 실시예에 따른 병합 동작을 설명하기 위하여 데이터 저장 매체, 제 1 메모리 및 제 2 메모리에 저장되어 있는 데이터를 도시한 도면이다.
도 6은 도 2 또는 도 3의 제 1 메모리 칩을 도시한 블록도이다.

Claims (10)

  1. 데이터가 저장되는 복수의 블록들 및 제어부를 포함하고, 동일한 채널을 통하여 호스트와 통신하는 적어도 하나의 메모리 칩; 및
    상기 메모리 칩에서 출력하는 데이터를 저장할 수 있는 메모리를 구비하고,
    상기 제어부는,
    상기 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 순차적으로 리드하여 연속적인 물리 어드레스를 가지도록 상기 메모리에 저장하는 것을 특징으로 하는 데이터 저장 장치.
  2. 제1항에 있어서, 상기 제어부는,
    상기 채널이 사용되지 않는 유휴 시간(idle time)동안 상기 메모리에 저장된 데이터를 대응하는 메모리 칩의 대응하는 블록에 저장하는 것을 특징으로 하는 데이터 저장 장치.
  3. 제1항에 있어서, 상기 제어부는,
    상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장된 블록들을 선택하는 선택부;
    상기 선택된 블록들의 데이터 중 연속적인 논리 어드레스를 가지는 데이터를 순차적으로 리드하여 상기 메모리로 출력하는 전송부;
    상기 메모리에 저장되는 데이터의 논리 어드레스와 물리 어드레스 사이의 맵핑 정보를 관리하는 맵핑 정보 관리부; 및
    상기 연속적인 논리 어드레스를 가지는 데이터가 모두 상기 메모리에 저장된 경우, 상기 블록들에서 상기 연속적인 논리 어드레스를 가지는 데이터를 삭제(erase)하는 블록 제어부를 구비하는 것을 특징으로 하는 데이터 저장 장치.
  4. 제1항에 있어서, 상기 반도체 메모리 장치는,
    상기 데이터가 저장되는 비휘발성 메모리를 더 구비하며,
    상기 제어부는,
    상기 메모리에 상기 연속적인 논리 어드레스를 가지는 데이터가 모두 저장된 경우, 상기 저장된 데이터를 상기 메모리에서 상기 비휘발성 메모리로 전송하도록 제어하는 것을 특징으로 하는 데이터 저장 장치.
  5. 제4항에 있어서, 상기 메모리 칩은,
    상기 비휘발성 메모리를 포함하는 것을 특징으로 하는 데이터 저장 장치.
  6. 데이터가 저장되는 복수의 블록들 및 제어부를 포함하고, 동일한 채널을 통하여 호스트와 통신하는 적어도 하나의 메모리 칩;
    상기 호스트와 상기 메모리 칩 사이에서 상기 채널을 통하여 신호 및 상기 데이터를 전송하는 제 1 메모리; 및
    상기 제 1 메모리에서 출력하는 데이터를 저장할 수 있는 제 2 메모리를 구비하고,
    상기 제어부는,
    상기 블록들에 저장된 데이터 중 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터를 순차적으로 리드하여 연속적인 물리 어드레스를 가지도록 상기 제 1 메모리로 전송하여 상기 제 2 메모리에 저장하는 것을 특징으로 하는 데이터 저장 장치.
  7. 제6항에 있어서, 상기 제어부는,
    상기 채널이 사용되지 않는 유휴 시간(idle time)동안 상기 제 2 메모리에 저장된 데이터를 연속적인 물리 어드레스를 가지도록 대응하는 메모리 칩의 대응하는 블록에 저장하는 것을 특징으로 하는 데이터 저장 장치.
  8. 제6항에 있어서, 상기 제 2 메모리는,
    비휘발성 메모리이고,
    상기 제어부는,
    상기 연속적인 논리 어드레스를 가지는 데이터 중 일부의 데이터가 상기 제 1 메모리로 전송되어 저장될 때마다 상기 저장된 일부의 데이터를 상기 제 1 메모리에서 상기 제 2 메모리로 전송하도록 제어하는 것을 특징으로 하는 데이터 저장 장치.
  9. 제6항에 있어서, 상기 제어부는,
    상기 연속적인 논리 어드레스 및 불연속적인 물리 어드레스를 가지는 데이터가 저장된 블록들을 선택하는 선택부;
    상기 선택된 블록들의 데이터 중 연속적인 논리 어드레스를 가지는 데이터를 순차적으로 리드하여 상기 제 1 메모리로 출력하는 전송부;
    상기 제 1 메모리 또는 제 2 메모리에 저장되는 데이터의 논리 어드레스와 물리 어드레스사이의 맵핑 정보를 관리하는 맵핑 정보 관리부; 및
    상기 연속적인 논리 어드레스를 가지는 데이터가 모두 상기 제 1 메모리 또는 제 2 메모리에 저장된 경우, 상기 블록들에서 상기 연속적인 논리 어드레스를 가지는 데이터를 삭제(erase)하는 블록 제어부를 구비하는 것을 특징으로 하는 데이터 저장 장치.
  10. 제6항에 있어서, 상기 메모리 칩은,
    상기 제 2 메모리를 포함하는 것을 특징으로 하는 데이터 저장 장치.
KR1020090048650A 2009-06-02 2009-06-02 데이터 저장 장치 KR20100130007A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090048650A KR20100130007A (ko) 2009-06-02 2009-06-02 데이터 저장 장치
US12/661,352 US20100306491A1 (en) 2009-06-02 2010-03-16 Data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090048650A KR20100130007A (ko) 2009-06-02 2009-06-02 데이터 저장 장치

Publications (1)

Publication Number Publication Date
KR20100130007A true KR20100130007A (ko) 2010-12-10

Family

ID=43221589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090048650A KR20100130007A (ko) 2009-06-02 2009-06-02 데이터 저장 장치

Country Status (2)

Country Link
US (1) US20100306491A1 (ko)
KR (1) KR20100130007A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477612B2 (en) 2014-12-19 2016-10-25 SK Hynix Inc. Memory system for reliable predicted sequential read operation

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101649357B1 (ko) * 2010-05-10 2016-08-19 삼성전자주식회사 데이터 저장 장치, 그것의 동작 방법, 그리고 그것을 포함한 스토리지 서버
CN113885778B (zh) 2020-07-02 2024-03-08 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113961140B (zh) * 2020-07-02 2024-06-11 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113885779B (zh) * 2020-07-02 2024-03-12 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69024086T2 (de) * 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
US7415576B2 (en) * 2002-09-30 2008-08-19 Renesas Technology Corp. Data processor with block transfer control
US7650472B2 (en) * 2005-07-12 2010-01-19 Electronics And Telecommunications Research Institute Method for reducing memory power consumption
KR100909902B1 (ko) * 2007-04-27 2009-07-30 삼성전자주식회사 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477612B2 (en) 2014-12-19 2016-10-25 SK Hynix Inc. Memory system for reliable predicted sequential read operation

Also Published As

Publication number Publication date
US20100306491A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
KR101300657B1 (ko) 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법
EP2345037B1 (en) Translation layer in a solid state storage device
KR101014040B1 (ko) 디램 버퍼 관리 장치 및 방법
CN109101434B (zh) 存储装置、存储***及所述存储装置的操作方法
US11630766B2 (en) Memory system and operating method thereof
US8127072B2 (en) Data storage device and method for accessing flash memory
WO2016043923A1 (en) System and method for configuring and controlling non-volatile cache
US20150120988A1 (en) Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same
KR101431205B1 (ko) 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
US8819350B2 (en) Memory system
US20100146194A1 (en) Storage Device And Data Management Method
KR20160024546A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11262928B2 (en) Storage system and method for enabling partial defragmentation prior to reading in burst mode
KR20180054432A (ko) 메모리 장치의 동작 방법, 이를 이용한 메모리 장치 및 그 장치를 포함하는 메모리 시스템
KR20100130007A (ko) 데이터 저장 장치
KR20080078129A (ko) 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치
KR101081948B1 (ko) 불휘발성 메모리 장치 및 그것의 데이터 저장 방법
US20100030947A1 (en) High-speed solid state storage system
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
JP2009175877A (ja) 半導体メモリ
KR20110109418A (ko) 비휘발성 메모리 저장 장치 및 비휘발성 메모리 저장 장치의 성능 향상 방법
KR100685324B1 (ko) 듀얼포트 디램을 이용한 낸드 플래시 메모리의 임의 접근시스템 및 제어장치
KR101165966B1 (ko) 커맨드에 의해 동기 모드 또는 비동기 모드로 액세스 가능한 메모리 시스템
KR20090098276A (ko) 하이브리드 저장 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application