KR20100062190A - Extensible flash memory device and control method thereof - Google Patents
Extensible flash memory device and control method thereof Download PDFInfo
- Publication number
- KR20100062190A KR20100062190A KR1020080120656A KR20080120656A KR20100062190A KR 20100062190 A KR20100062190 A KR 20100062190A KR 1020080120656 A KR1020080120656 A KR 1020080120656A KR 20080120656 A KR20080120656 A KR 20080120656A KR 20100062190 A KR20100062190 A KR 20100062190A
- Authority
- KR
- South Korea
- Prior art keywords
- mapping table
- memory module
- memory
- host
- partial
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
본 발명은 확장형 플래시 메모리장치, 및 그 제어방법에 대한 것이다. The present invention relates to an extended flash memory device and a control method thereof.
통상 SSD(Solid State Disk)는 다수의 메모리 칩이 기판에 솔더링 되어 형성되며, 저장 용량이 증감하지 않는다. 이는 마치 80GB 용량의 기계식 하드디스크가 그 수명이 다 할 때까지 표기 용량대로 사용되는 것과 유사하다. 그러나, 반도체 메모리 칩은 기계식 하드의 플래터(flatter)와는 달리 기판에 슬롯이나 소켓 형태의 접속장치를 형성할 경우 추가적인 용량을 더 부가할 수 있다. 현재의 SSD는 이와 같은 반도체 메모리 칩의 특징을 간과하고 있다.In general, a solid state disk (SSD) is formed by soldering a plurality of memory chips to a substrate, and storage capacity does not increase or decrease. This is similar to using a 80GB mechanical hard disk at its stated capacity until the end of its life. However, unlike a mechanical hard platter, a semiconductor memory chip may add additional capacity when a slot or socket type connection device is formed on a substrate. Current SSDs overlook this feature of semiconductor memory chips.
현재의 SSD의 구조적 특성 상, 기판에 별도의 접속장치를 형성한다 하더라도 SSD를 구성하는 플래시 타입의 메모리 칩에 대해 정상적인 매핑 테이블을 제공하기 어렵다. 매핑 테이블은 플래시 타입의 메모리 칩에 대한 마모도 평준화를 위해 마련되는 것으로, 현재의 SSD는 전체 매핑 테이블을 각 메모리 칩에 균분하여 저장하므로, 추가적인 메모리 칩을 장착한다 하더라도, 새로 추가된 메모리 칩에 매핑 테이블을 할당하기가 용이하지 않다. Due to the structural characteristics of the current SSD, even if a separate connection device is formed on the substrate, it is difficult to provide a normal mapping table for the flash type memory chip constituting the SSD. The mapping table is provided to level out wear of the flash type memory chip. Since the current SSD stores the entire mapping table evenly in each memory chip, even if an additional memory chip is installed, the mapping table is mapped to the newly added memory chip. It is not easy to allocate a table.
본 발명의 목적은 사용자의 필요에 따라 저장용량을 확장할 수 있도록 하는 확장형 플래시 메모리장치, 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an expandable flash memory device and a method of controlling the same, which can expand a storage capacity according to a user's needs.
본 발명의 다른 목적은 사용자의 필요에 따라 저장용량을 가변할 때, 저장장치의 매핑 테이블에 대해 큰 변경을 요구하지 않는 확장형 플래시 메모리장치, 및 그 제어방법을 제공함에 있다.Another object of the present invention is to provide an extended flash memory device which does not require a large change to a mapping table of a storage device when the storage capacity is changed according to a user's need, and a control method thereof.
상기한 목적은 본 발명에 따라, 적어도 하나의 메모리 모듈을 장착 가능한 접속부를 구비하는 기판, 및 상기 접속부에 메모리 모듈이 장착될 때, 상기 장착된 메모리 모듈에 대한 부분 매핑 테이블을 형성하고, 형성된 부분 매핑 테이블을 상기 장착된 메모리 모듈에 할당하는 제어부에 의해 달성된다.The above object is, according to the present invention, a substrate having a connection portion for mounting at least one memory module, and when the memory module is mounted to the connection portion, forming a partial mapping table for the mounted memory module, the formed portion This is accomplished by a control unit which assigns a mapping table to the mounted memory module.
상기한 목적은 본 발명에 따라, 기판에 장착되는 복수의 메모리 모듈 각각에 대한 부분 매핑 테이블을 형성하는 단계, 및 상기 각 부분 매핑 테이블을 해당하는 메모리 모듈에 대응하여 저장하는 단계에 의해 달성된다.According to the present invention, the above object is achieved by forming a partial mapping table for each of a plurality of memory modules mounted on a substrate, and storing the partial mapping table corresponding to the corresponding memory module.
본 발명은 비 휘발성 메모리를 이용하는 저장장치에서 새로운 메모리 모듈을 추가하거나 삭제할 수 있다.The present invention can add or delete new memory modules in a storage device using a nonvolatile memory.
본 발명은 저장장치를 구성하는 각 메모리 모듈 각각에 매핑 테이블을 할당함으로써 저장장치를 구성하는 메모리 모듈을 장착, 또는 탈착하더라도 전체 메모 리 모듈에 대한 매핑 테이블을 새로 작성할 필요가 없다.The present invention does not need to newly create a mapping table for the entire memory module even if the memory module constituting the storage device is attached or detached by allocating a mapping table to each memory module constituting the storage device.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 기술되는 확장형 플래시 메모리장치는 NAND 게이트, 또는 NOR 게이트를 이용하는 플래시 메모리장치일 수 있다. 또한, 본 발명에서 기술되는 확장형 플래시 메모리 장치는 SLC(Single Level Cell) 방식, 또는 MLC(Multi Level Cell) 방식에 따른 칩으로 구성될 수 있다.The extended flash memory device described herein may be a flash memory device using a NAND gate or a NOR gate. In addition, the extended flash memory device described in the present invention may be configured as a chip according to an SLC (Single Level Cell) method or a MLC (Multi Level Cell) method.
본 발명은, 어떤 종류의 메모리 칩을 이용하는가에 따라 그 기술적 사상이 영향을 받지 않는다. 따라서, 본 발명에서 언급되는 메모리 모듈은 NAND 게이트나 NOR 게이트 방식의 플래시 메모리 칩을 이용할 수 있으며, 마찬가지로, SLC 방식에 따른 메모리 칩이거나, MLC 방식에 따른 칩이 적용되어도 무방하므로 따로 구분하여 설명하지 않는다. The present invention is not affected by the type of memory chip used. Therefore, the memory module referred to in the present invention may use a flash memory chip of a NAND gate or a NOR gate method, and likewise, a memory chip according to the SLC method or a chip according to the MLC method may be applied. Do not.
또한, 이하의 설명에서는 메모리 모듈을 제어하는 컨트롤러를 제어부라 하고, 제어부를 구성하는 구성요소에 대한 접미사로서 "모듈", 또는 "부"가 사용될 수 있다. In addition, in the following description, a controller for controlling a memory module is referred to as a controller, and a "module" or a "unit" may be used as a suffix to components constituting the controller.
본 명세서에서 사용되는 구성요소, 및 그에 대한 접미사는 본 명세서 작성의 용이함만을 고려하여 부여되는 것으로, 상기 "모듈", 및 "부"는 상호 혼용되어 사용될 수 있다.Components used in the present specification, and suffixes thereof are given only in consideration of ease of preparation of the present specification, and the "module" and "unit" may be used interchangeably.
본 명세서에서 기술되는 "확장형 플래시 메모리장치"는 SSD(Solid State Disk)로 구현되거나, 임베디드 장치에서 비 휘발성 저장매체의 역할을 수행할 수 있다. 따라서, 본 명세서에서 기술되는 확장형 플래시 메모리장치는 퍼스널 컴퓨터, 서버, 노트북, PDA, PMP(Personal Media Player), 비디오 게임기, 휴대단말기(mobile phone), 및 기타 데이터 저장을 위한 다양한 장치에 적용될 수 있다.The "expandable flash memory device" described in the present specification may be implemented as a solid state disk (SSD) or may serve as a nonvolatile storage medium in an embedded device. Accordingly, the expandable flash memory device described herein may be applied to various devices for storing personal computers, servers, notebooks, PDAs, personal media players (PMPs), video game machines, mobile phones, and other data. .
도 1은 본 발명에 따른 확장형 플래시 메모리장치와 호스트의 접속관계에 대한 개념도를 도시한다.1 is a conceptual diagram illustrating a connection relationship between an extended flash memory device and a host according to the present invention.
도 1을 참조하면, 본 발명에 따른 확장형 플래시 메모리장치(100)는 호스트(30)에 접속되어 사용되며, 호스트(30)가 부팅될 때, 호스트(30)와 데이터 전송을 위한 주소체계를 협의하고, 협의된 주소체계에 따라 상호 데이터 전송을 처리한다.Referring to FIG. 1, an extended
먼저, 호스트(30)가 부팅(또는 리셋)될 때, 프로세서(CPU)(31)는 바이오스(BIOS)(32)를 통해 확장형 플래시 메모리장치(SSD)(100)에 대한 장치 정보를 획득한다. 바이오스(32)는 호스트(30)에 장착되는 각종 하드웨어 장치에 대한 장치 정보를 구비하며, 호스트(30)가 부팅될 때, 각종 하드웨어 장치 정보를 프로세서(31)로 전송한다. 다음으로, 프로세서(31)는 확장형 플래시 메모리장치(100)의 존재를 인식하고, 확장형 플래시 메모리장치(100)가 사용 가능한지를 확인한다(S1). 확장형 플래시 메모리장치(100)의 제어부(120)는 호스트(30)에 대해 사용 가능함을 응답하며(S2), 호스트(30)와 데이터 전송을 위한 주소 체계를 협의한다(S3). CHS 주소 체계는 바이오스(32)가 하드디스크 드라이브의 실린더(Cylinder), 헤드(Head), 섹터(Sector)정보를 저장해두고, 호스트(30) 측 프로세 서(31)가 CHS 정보를 이용하여 하드디스크 드라이브와 데이터 통신을 수행하는 주소 체계를 의미한다.First, when the
LBA(Logical Block Addressing) 주소 체계는 하드디스크 드라이브의 첫 번째 섹터에 일렬번호를 매긴 뒤, 그 다음번 일련번호를 그 다음번 섹터에 할당하여 주소를 형성하는 주소 체계를 의미한다. 현재, LBA 주소 체계는 기계식 하드디스크 드라이브 이외에, 플래시 메모리장치에도 적용되어 사용되고 있다. 본 명세서는 현재 가장 널리 이용되는 LBA 주소 체계를 기준으로 설명을 진행하도록 한다.Logical Block Addressing (LBA) addressing refers to an addressing system that assigns a serial number to the first sector of a hard disk drive and then assigns the next serial number to the next sector to form an address. Currently, the LBA addressing system is applied to not only a mechanical hard disk drive but also a flash memory device. This specification will be described based on the currently widely used LBA address system.
호스트(30)와 확장형 플래시 메모리장치(100)의 제어부(120)가 상호 인식하고, 데이터 전송을 위한 주소 체계에 대한 협의가 종료되면, 호스트(30)는 확장형 플래시 메모리장치(100)로 데이터 읽기, 쓰기, 삭제, 및 기타 다양한 제어 명령어(command)를 전송할 수 있으며(S4), 확장형 플래시 메모리장치(100)는 호스트(30)의 제어 명령어(command)에 대한 응답(response)을 수행한다(S5). 확장형 플래시 메모리장치(100)의 응답은 호스트(30)가 원하는 데이터를 읽거나, 쓰거나, 삭제했을 때, 호스트(30)로 데이터를 전송하거나, 호스트(30)의 제어 명령어(commnand)에 대한 처리 결과를 호스트(30)로 전송하는 것 중 하나에 해당한다.When the
한편, 확장형 플래시 메모리장치(100)는 호스트(30)가 제어 명령어(command)를 전송하기 전, 메모리 모듈(160a ∼ 160c) 각각에 대한 전체 매핑 테이블을 형성해야 한다.On the other hand, the extended
전체 매핑 테이블은 기판(150)에 장착된 각 메모리 모듈(160a ∼ 160c)에 대한 부분 매핑 테이블을 하나의 매핑 테이블로 형성한 것을 의미한다. 본 발명에 서, 부분 매핑 테이블은 각 메모리 모듈(160a ∼ 160c)에 마련된다. 각 메모리 모듈(160a ∼ 160c)은 기판(150)에 장착되거나 탈거될 수 있으므로, 제어부(120)는 기판(150)에 장착된 메모리 모듈(160a ∼ 160c)의 존재 여부를 먼저 확인한다. 제어부(120)는 기판(150)에 신규로 장착된 메모리 모듈이 존재할 경우, 이미 존재하는 메모리 모듈(160a ∼ 160c)을 통해 전체 매핑 테이블을 형성 후, 사용되지 않는 논리 주소를 신규로 장착된 메모리 모듈에 할당하여 전체 매핑 테이블을 작성한다.The entire mapping table means that the partial mapping table for each
이때, 제어부(120)는 신규로 장착된 메모리 모듈에 부분 매핑 테이블을 기록한다.At this time, the
여기서, 각 메모리 모듈에 할당되는 부분 매핑 테이블은 통상의 플래시 메모리장치에 할당되는 부분 매핑 테이블과 중요한 차이점을 갖는다.Here, the partial mapping table allocated to each memory module has an important difference from the partial mapping table allocated to a general flash memory device.
통상의 플래시 메모리장치는 메모리 모듈을 장착하거나 탈거할 수 없도록 만들어지므로, 전체 플레시 메모리를 복수의 블록으로 나누고, 각 블록에 부분 매핑 테이블을 저장해둔다. 이때, 각 블록에 저장되는 부분 매핑 테이블은 저장된 블록과 연관성이 없다.Since a typical flash memory device cannot be mounted or removed from a memory module, the whole flash memory is divided into a plurality of blocks, and a partial mapping table is stored in each block. At this time, the partial mapping table stored in each block is not associated with the stored block.
반면, 본 발명에 따른 부분 매핑 테이블은 각 메모리 모듈(160a ∼ 160c)과 직접 연관된 것이 각 메모리 모듈(160a ∼ 160c)별로 저장된다.On the other hand, the partial mapping table according to the present invention is directly associated with each
본 발명은 각 메모리 모듈(160a ∼ 160c)이 자신과 연관된 부분 매핑 테이블을 가지도록 한다. 따라서, 각 메모리 모듈(160a ∼ 160c) 중 어느 하나가 제거될 경우, 제거된 메모리 모듈(160a ∼ 160c 중 어느 하나)에 해당하는 부분 매핑 테이블은 제거된다. The present invention allows each
새로운 메모리 모듈이 기판(150)에 장착될 경우에, 제어부(120)는 각 메모리 모듈(160a ∼ 160c)에 의해 형성되는 전체 매핑 테이블에서 사용되지 않는, 어드레스 영역을 신규로 장착된 메모리 모듈에 할당함으로써 전체 매핑 테이블을 간단히 구축할 수 있다. When a new memory module is mounted on the
도 1을 참조하면, 기판(150)은 3개의 메모리 모듈(160a ∼ 160c)을 구비하며, 접속부(140d ∼ 140n)는 비어있는 것을 볼 수 있다.Referring to FIG. 1, the
비어있는 접속부(140d ∼ 140n)는 추후 사용자가 신규 메모리 모듈을 장착하여 확장형 플래시 메모리장치의 저장 용량을 증설할 수 있도록하며, 소켓, 및 슬롯의 형태로 구현될 수 있다.The empty connection portions 140d to 140n may allow a user to later install a new memory module to increase the storage capacity of the extended flash memory device, and may be implemented in the form of a socket and a slot.
마찬가지로, 메모리 모듈(160a ∼ 160c) 중 어느 하나는 사용자의 필요에 따라 제거될 수 있다. 즉, 본 발명은 확장형 플래시 메모리장치(100)의 용량을 증감할 수 있으며, 노후된 메모리 모듈(160a ∼ 160c 중 어느 하나)은 필요에 따라 제거될 수 있다.Similarly, any one of the
각 메모리 모듈(160a ∼ 160c)은 복수의 블록으로 구성된다.Each
각 메모리 모듈(160a ∼ 160c)에 대한 블록들은 기계식 하드디스크 드라이브와는 달리 실린더, 헤더, 및 섹터의 기준으로 구획되지 않는다. 따라서, 현재도 널리 사용되는 하드디스크 드라이브를 대신하여 확장형 플래시 메모리장치(100)가 호스트(30)와 데이터 통신을 수행하기 위해서는 각 물리적인 블록을 호스트(30)의 논리 주소체계와 대응시켜야 하며, 호스트의 논리 주소와, 각 블록들의 물리 주소를 매핑하기 위한 전체 매핑 테이블을 이용하여야 한다.The blocks for each
제어부(120)는 각 메모리 모듈(160a ∼ 160c)에 분산되어 저장되는 부분 매핑 테이블을 모아 하나의 전체 매핑 테이블을 형성하며, 형성된 전체 매핑 테이블은 메모리(150)에 저장한다. 이후, 제어부(120)는 호스트(30)가 논리 주소를 이용하여 읽기, 쓰기, 삭제, 및 포멧등의 제어 명령어(command)를 전송할 때, 전체 매핑 테이블을 이용하여 해당하는 블록을 대응시킨다.The
도 2는 본 발명의 일 실시예에 따른 확장형 플래시 메모리장치의 블록개념도를 나타낸다.2 is a block diagram illustrating an extended flash memory device according to an embodiment of the present invention.
도 2를 참조하면, 본 발명에 따른 확장형 플래시 메모리장치는 호스트 인터페이스부(110), 제어부(120), 메모리 인터페이스부(130), 메모리 모듈(160a ∼ 160c)및 메모리 모듈(160a ∼ 160c)을 장착, 및 탈착하는 접속부(140)를 포함한다.Referring to FIG. 2, an extended flash memory device according to the present invention may include a
메모리 모듈(160a ∼ 160c)은 기록, 재기록, 및 삭제가 가능한 하나, 또는 복수의 플래시 메모리 칩으로 구성된다. 또한, 각 메모리 모듈(160a ∼ 160c)은 복수의 블록으로 구획된다. 각 메모리 모듈(160a ∼ 160c)은 데이터를 읽고 기록할 수 있는 데이터 저장 영역을 여러개의 블록으로 구획하고, 블록 단위로 호스트(30)의 데이터 읽기, 쓰기, 및 재 기록을 수행한다.The
각 메모리 모듈(160a ∼ 160c)은 전체 저장용량 중 각자의 용량에 해당하는 부분 매핑 테이블을 구비한다. 부분 매핑 테이블은 호스트(30)가 자신의 논리 주소를 통해 데이터를 읽거나 쓰고자 할 때, 호스트(30)의 논리 주소를 메모리 모듈(160a ∼ 160c)의 어느 블록에 매핑할 것인지를 결정한다. Each
본 실시예에서, 매핑 테이블은 기판(150)에 장착되는 각 메모리 모듈(160a ∼ 160c)에 마련된다. 각 메모리 모듈(160a ∼ 160c)은 스스로에 대한 매핑 테이블(부분 매핑 테이블이)을 구비한다. In the present embodiment, the mapping table is provided in each
통상의 매핑 테이블은 전체 메모리 모듈(160a ∼ 160c)에 대한 부분 매핑 테이블을 각 메모리 모듈(160a ∼ 160c)과 무관하게 단순히 분할 저장하였으나, 본 실시예는 메모리 모듈(160a ∼ 160c)이 스스로에 해당하는 부분 매핑 테이블만을 구비한다. In the conventional mapping table, the partial mapping table for the
이러한 특징은 외부 메모리 모듈(141)을 기판(150)에 추가 장착할 때, 그 특징이 두두러진다. 예를들어, 외부 메모리 모듈(141)이 DDR2 방식의 범용 컴퓨터 메모리와 같은 형태를 가지며, 기판(150)에는 외부 메모리 모듈(141)과 접속 가능한 슬롯이 마련된다고 가정할 때, 외부 메모리 모듈(141)이 슬롯에 장착되면 제어부(120)는 호스트(30)의 논리 주소 들 중 메모리 모듈(160a ∼ 160c)에 할당되지 않은 논리 주소의 범위를 새로 장착되는 외부 메모리 모듈(141)에 할당하고, 외부 메모리 모듈(141)에 저장함으로써 전체 매핑 테이블, 및 부분 매핑 테이블 작성이 완료된다. This feature is enhanced when the
접속부(140)는 하나, 또는 복수이며, 슬롯, 또는 소켓의 형태를 가질 수 있다. 접속부(140)는 슬롯, 또는 소켓을 통해 외부 메모리 모듈(141)을 장착, 또는 탈착한다. 접속부(140)는 확장형 플래시 메모리장치(100)의 기판(150)에 형성되며, 사용자가 저장 용량을 증가시키기 위해 외부 메모리 모듈(141)을 추가하거나, 불필요한 메모리 모듈(160a ∼ 160c 중 어느 하나)을 손쉽게 제거할 수 있도록 한다. The
제어부(120)는 접속부(140)에 마련되는 슬롯(또는 소켓)에 새로운 외부 메모리모듈(141)이 장착되었는지를 검출하며 새로운 외부 메모리 모듈(141)이 슬롯에 장착되었을 경우, 새로 장착된 외부 메모리 모듈(141)에 대한 부분 매핑 테이블을 생성하고, 생성된 부분 매핑 테이블을 새로 장착된 외부 메모리 모듈(141)에 기록한다.The
또한, 제어부(120)는 새로 장착된 외부 메모리 모듈(141)의 부분 매핑 테이블을 제어부(120)가 구비하는 전체 매핑 테이블에 추가하여 전체 매핑 테이블을 형성한다.In addition, the
여기서, 전체 매핑 테이블은 메모리(150)에 저장된다. 전체 매핑 테이블은 각 메모리 모듈(160a ∼ 160c)에 저장된 부분 매핑 테이블을 합한 것이다. 따라서, 제어부(120)는 접속부(140)를 구성하는 슬롯(또는 소켓)에 장착되어 있던 메모리 모듈(160a ∼ 160c 중 어느 하나)이 슬롯(또는 소켓)에서 탈착될 경우, 전체 매핑 테이블에서 탈착된 메모리 모듈(160a ∼ 160c 중 어느 하나)에 해당하는 정보를 삭제하여 전체 매핑 테이블을 재 구성한다. 또한, 외부 메모리 모듈(141)이 슬롯(또는 소켓)에 추가로 장착될 경우, 호스트(30)의 논리 주소 중 일부를 신규 장착된 외부 메모리 모듈(141)에 할당하여 부분 매핑 테이블을 생성하고, 생성한 부분 매핑 테이블을 신규 장착되는 외부 메모리 모듈(141)의 저장 영역에 기록한다. 이때, 제어부(120)는 신규 장착된 외부 메모리 모듈(141)에 대한 부분 매핑 테이블을 전체 매핑 테이블에 반영하여 전체 매핑 테이블을 갱신한다.Here, the entire mapping table is stored in the
한편, 슬롯(또는 소켓)에 장착되는 메모리 모듈(또는 외부 메모리 모듈)은 복수의 블록으로 구획되어 호스트(30)의 데이터 입출력 요구에 대해 블록 단위로 대응한다. Meanwhile, a memory module (or an external memory module) mounted in a slot (or socket) is divided into a plurality of blocks to correspond to data input / output requests of the
바람직하게는, 제어부(120)는 FTL 처리부(121)를 구비하며, FTL 처리부(121)는 호스트(30)에서 특정 메모리 모듈에 포함되는 블록에 읽기 명령을 내릴경우, 호스트(30)에서 제공되는 논리 주소(LBA)에 해당하는 블록의 물리주소(PBA)를 대응시킨다. Preferably, the
각 메모리 모듈(160a ∼ 160c)은 각 메모리 모듈(160a ∼ 160c)에 대한 블록 단위로 기록, 재기록, 및 삭제를 수행하며, 제어부(120)는 각 메모리 모듈(160a ∼ 160c)을 구성하는 블록들 중 특정 블록에 대한 기록, 삭제, 및 재 기록이 집중되어 마모되지 않도록 마모도 평준화(wear-leveling)를 수행한다. Each
호스트 인터페이스부(110)는 호스트(30)와 제어부(120) 사이에 전송되는 데이터의 형태를 변환한다. 예를들어, 호스트(30)가 SATA(Serial-ATA) 방식의 인터페이스를 통해 확장형 플래시 메모리장치(100)와 인터페이스를 수행할 경우, 호스트 인터페이스부(110)는 제어부(120)에서 전송되는 데이터를 SATA 방식에 따라 변환하여 호스트(30)로 제공한다. 호스트 인터페이스부(110)는 호스트(30)의 인터페이스 방식에 따라 SATA1, SATA2, SCSI, 및 IDE 인터페이스 등을 지원할 수 있으며, 이 외에도, 호스트(30)가 필요로 하는 인터페이스에 따라 다양한 인터페이스가 적용될 수 있다.The
또한, 호스트 인터페이스부(110)는 호스트(30)가 전송하는 명령어를 수신하고, 수신된 명령어를 제어부(120)로 제공한다. 호스트(30)가 전송하는 명령어는 읽기, 쓰기 명령이 주류를 이루나, 레이드 지원을 위한 명령어, 및 기타 데이터 기록장치에 대한 상태정보를 요청하는 명령어가 될 수 있다. In addition, the
제어부(120)는 호스트 인터페이스부(110)를 통해 호스트(30)의 각종 명령어를 수신하고, 수신된 명령어를 수행한다. 또한, 제어부(120)는 호스트 인터페이스부(110)를 통해 수신된 명령어의 처리 결과를 호스트(30)로 리턴하며, 호스트(30)가 데이터를 요청할 경우, 메모리 모듈(160a ∼ 160c)에서 데이터를 독출하고, 호스트 인터페이스부(110)를 통해 독출된 데이터를 호스트(30)로 제공한다.The
메모리 모듈(160a ∼ 160c)은 기록, 재기록, 및 삭제가 가능한 플래시 타입의 메모리칩이 하나, 또는 둘 이상 집적되어 형성되며, 제어부(120)에 의해 복수의 블록으로 구획된다. The
메모리 인터페이스부(130)는 제어부(120)에서 메모리 모듈(160a ∼ 160c)로 제공되는 명령어를 전송하고, 메모리 모듈(160a ∼ 160c)에서 독출된 데이터를 제어부(120)로 제공한다.The
도 3과 도 4는 접속부에 대한 일 예를 나타낸다.3 and 4 show an example of a connection.
먼저, 도 3은 기판(150)에 형성되는 접속부의 제1실시예를 도시한다. First, FIG. 3 shows a first embodiment of a connecting portion formed on the
도 3을 참조하면, 접속부(140)는 기판에 부착되는 슬롯(170a ∼ 170n)을 통해 외부 메모리 모듈(141), 또는 메모리 모듈(160a ∼ 160c)과 인터페이스를 수행한다. 사용자는 슬롯(170a ∼ 170n)에 외부 메모리 모듈(141)을 장착하거나, 장착되어 있던 메모리 모듈(160a ∼ 160c)을 탈착 함으로써 확장형 반도체 메모리장치(100)의 저장 용량을 변경할 수 있다. 이때, 슬롯(170a ∼ 170n)에 장착되는 외 부 메모리 모듈(141)은 복수의 플래시 칩(171a, 171b, 및 171c)으로 구성될 수 있다.Referring to FIG. 3, the
다음으로, 도 4를 참조하면, 접속부(140)는 기판(150)에 부착되는 소켓의 형태를 갖는다. 접속부(140)가 소켓의 형태를 가질 경우, 외부 메모리 모듈(141)은 소켓(180a ∼ 180n)에 마련되는 레버(181a ∼ 181n)에 의해 소켓(180a ∼ 180n)에 체결될 수 있다. 또한, 접속부(140)가 소켓의 형태를 가짐에 따라 외부 메모리 모듈(141)과 기판(150) 사이의 거리가 슬롯 방식에 비해 적어지므로 확장형 플래시 메모리장치의 두께를 감소시키는 부수적인 효과를 얻을 수 있다.Next, referring to FIG. 4, the
도 5는 본 발명에 따른 확장형 플래시 메모리장치의 매핑 테이블 구조를 개념적으로 나타낸다.5 conceptually illustrates a mapping table structure of an extended flash memory device according to the present invention.
도 5를 참조하면, 본 발명에 따른 확장형 플래시 메모리장치(100)는 슬롯(또는 소켓)에 장착되는 각 메모리 모듈(160a ∼ 160c)마다 부분 매핑 테이블을 구비한다. 부분 매핑 테이블은 슬롯(또는 소켓, 이하 생략하도록 한다)에 장착되는 메모리 모듈(160a ∼ 160c)에 대한 매핑 테이블이며, 슬롯에 장착되는 모든 메모리 모듈(160a ∼ 160c)의 부분 매핑 테이블을 더하면 확장형 플래시 메모리장치(100)에 대한 전체 매핑 테이블이 된다. 도면에서, 각 메모리 모듈의 매핑 테이블은 호스트(30)의 논리 주소, 및 각 메모리 모듈을 구성하는 블록의 물리 주소가 대응한다. Referring to FIG. 5, the extended
호스트(30)의 논리 주소와 대응하는 부분 매핑 테이블은 각각이 독립적이므로 슬롯에서 메모리 모듈(160a ∼ 160c 중 어느 하나)이 탈착될 때, 전체 매핑 테 이블을 수정하기가 용이하다. Since the logical address of the
마찬가지로, 외부 메모리 모듈(141)이 슬롯에 장착될 때는 호스트(30) 측 논리 주소(LBA) 중 비어있는 논리 주소를 외부 메모리모듈(141)에 할당하는 것으로 전체 매핑 테이블의 작성, 부분 매핑 테이블의 작성, 및 할당이 완료된다.Similarly, when the
도 6은 메모리 모듈과 제어부 사이의 접속관계를 위한 참조도면이다.6 is a reference diagram for a connection relationship between a memory module and a controller.
도 6을 참조하면, 제어부(120)는 버스(BUS0 ∼ BUSn)를 통해 각 메모리 모듈(160a ∼ 160n)과 접속되며, 각 메모리 모듈(160a ∼ 160n)을 구성하는 플래시 칩은 버스 BUS0 ∼ BUSn 중 어느 하나에 접속한다. Referring to FIG. 6, the
도 6에서, 메모리 모듈(160a ∼ 160n)의 저장 영역중 일부에는 부분 매핑 테이블(예컨대, 메모리 모듈1의 매핑 테이블)이 저장된다. 메모리 모듈(160a)과 메모리 모듈(160n)에 마련되는 부분 매핑 테이블은 상호 독립적이며, 호스트(30)의 논리 주소와 중첩되지 않는다. 따라서, 사용자가 메모리 모듈(160a ∼ 160n)을 제거했을 경우에도, 메모리 모듈(160a ∼ 160n)의 부분 매핑 테이블(메모리 모듈2의 매핑 테이블)에는 아무 영향이 없으며, 메모리 모듈(160a ∼ 160n)에 대한 부분 매핑 테이블을 변경할 필요가 없다. 이는 본 발명에 따른 매핑 테이블과 통상의 플래시 메모리장치에 대한 매핑 테이블 사이의 가장 중요한 차이점에 해당한다. 이는 도 7과 도 8을 함께 참조하여 비교 설명하도록 한다. In FIG. 6, a partial mapping table (eg, a mapping table of memory module 1) is stored in some of the storage areas of the
도 7과 도 8은 본 발명과 비교되는 통상적인 매핑 테이블을 구성하는 방법을 개념적으로 나타낸다.7 and 8 conceptually illustrate a method of constructing a conventional mapping table compared to the present invention.
먼저, 도 7을 참조하면, 통상의 매핑 테이블은 전체 매핑 테이블을 작성한 후, 이를 분할하여 부분 매핑 테이블(51a ∼ 53a)을 형성하고, 각 메모리 모듈(51 ∼ 53)에 할당한다. 이때, 각 메모리 모듈(51 ∼ 53)에 할당되는 부분 매핑 테이블은 각 메모리 모듈(51 ∼ 53)과 직접적인 연관성은 없다. First, referring to FIG. 7, the general mapping table creates the entire mapping table, divides it, forms partial mapping tables 51a to 53a, and assigns them to each
다음으로, 도 8을 참조하면, 도 7의 메모리 모듈(52)을 임의로 탈착했을 때, 메모리 모듈(52)에 저장된 부분 매핑 테이블(52a)은 메모리 모듈(52)에 대한 것이 아니라, 전체 매핑 테이블을 구성하는 부분 매핑 테이블 중 하나에 해당하므로 전체 매핑 테이블을 재 작성해야 한다.Next, referring to FIG. 8, when the
도 9는 본 발명의 확장형 플래시 메모리장치의 제어방법에서 매핑 테이블을 구성하는 방법에 대한 흐름도를 나타낸다.9 is a flowchart illustrating a method of configuring a mapping table in a control method of an extended flash memory device according to the present invention.
먼저, 제어부(120)는 슬롯(170a ∼ 170n)을 스캔하여 슬롯(170a ∼ 170n)에 추가되는 외부 메모리 모듈(141)이 존재하는지를 판단한다(S301). 판단 결과, 슬롯(170a ∼ 170n)에 추가된 외부 메모리 모듈(141)이 존재할 경우, 제어부(120)는 추가된 외부 메모리 모듈(141)에 대한 부분 매핑 테이블을 생성한다(S302). 외부 메모리 모듈(141)에 대한 부분 매핑 테이블은 호스트(30)의 논리 주소를 외부 메모리 모듈의 물리 주소에 대응하여 형성한다. 형성된 부분 매핑 테이블은 추가된 외부 메모리 모듈(141)에 저장한다(S304). 따라서, 외부 메모리 모듈(141)은 기판(150)에 장착되는 타 메모리 모듈(160a ∼ 160c)의 매핑 테이블과는 독립적인 부분 매핑 테이블을 구비한다.First, the
다음으로, 제어부(120)는 기판(150)에 장착된 메모리 모듈(160a ∼ 160c)과 외부 메모리 모듈에 대한 부분 매핑 테이블을 이용하여 전체 매핑 테이블을 형성한 다(S304). 전체 매핑 테이블은 메모리(150), 또는 제어부(120)와 접속되는 별도의 메모리에 저장될 수 있다.Next, the
다음으로, 제어부(120)는 슬롯(170a ∼ 170n)에서 제거된 메모리 모듈(또는 외부 메모리 모듈)이 존재하는지를 판단한다(S305). 본 발명에서, 메모리 모듈(또는 외부 메모리 모듈)은 사용자에 의해 슬롯(170a ∼ 170n)에 추가되거나 슬롯(170a ∼ 170n)에서 제거될 수 있다.Next, the
만일, 슬롯(170a ∼ 170n)에서 제거된 메모리 모듈(또는 외부 메모리 모듈)이 존재할 경우, 제어부(120)는 전체 매핑 테이블에서 제거된 메모리 모듈(또는 외부 메모리 모듈)의 부분 매핑 테이블을 삭제한다. 이때, 제어부(120)는 삭제된 부분 매핑 테이블 이외에 전체 매핑 테이블을 새로 작성할 필요는 없다.If the memory module (or external memory module) removed from the
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the specific embodiments described above, but the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
도 1은 본 발명에 따른 확장형 플래시 메모리장치와 호스트의 접속관계에 대한 개념도,1 is a conceptual diagram of a connection relationship between an extended flash memory device and a host according to the present invention;
도 2는 본 발명의 일 실시예에 따른 확장형 플래시 메모리장치의 블록개념도,2 is a block diagram of an extended flash memory device according to an embodiment of the present invention;
도 3과 도 4는 접속부에 대한 일 예를 나타내는 도면,3 and 4 are views illustrating an example of a connection unit;
도 5는 본 발명에 따른 확장형 플래시 메모리장치의 매핑 테이블 구조를 개념적으로 나타내는 도면,FIG. 5 conceptually illustrates a mapping table structure of an extended flash memory device according to the present invention; FIG.
도 6은 메모리 모듈과 제어부 사이의 접속관계를 위한 참조도면,6 is a reference diagram for a connection relationship between a memory module and a controller;
도 7과 도 8은 본 발명과 비교되는 통상적인 매핑 테이블을 구성하는 방법을 개념적으로 나타내는 도면, 그리고7 and 8 conceptually illustrate a method of constructing a conventional mapping table compared with the present invention; and
도 9는 본 발명의 확장형 플래시 메모리장치의 제어방법에서 매핑 테이블을 구성하는 방법에 대한 흐름도를 나타낸다.9 is a flowchart illustrating a method of configuring a mapping table in a control method of an extended flash memory device according to the present invention.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
110 : 호스트 인터페이스부 120 : 제어부110: host interface unit 120: control unit
130: 메모리 인터페이스부 150 : 접속부130: memory interface unit 150: connection unit
160a ∼ 160c : 메모리 모듈160a to 160c: memory module
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080120656A KR20100062190A (en) | 2008-12-01 | 2008-12-01 | Extensible flash memory device and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080120656A KR20100062190A (en) | 2008-12-01 | 2008-12-01 | Extensible flash memory device and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100062190A true KR20100062190A (en) | 2010-06-10 |
Family
ID=42362504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080120656A KR20100062190A (en) | 2008-12-01 | 2008-12-01 | Extensible flash memory device and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100062190A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101155542B1 (en) * | 2010-10-11 | 2012-06-18 | 성균관대학교산학협력단 | Method for managing mapping table of ssd device |
US9070443B2 (en) | 2012-02-10 | 2015-06-30 | Samsung Electronics Co., Ltd. | Embedded solid state disk as a controller of a solid state disk |
-
2008
- 2008-12-01 KR KR1020080120656A patent/KR20100062190A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101155542B1 (en) * | 2010-10-11 | 2012-06-18 | 성균관대학교산학협력단 | Method for managing mapping table of ssd device |
US9070443B2 (en) | 2012-02-10 | 2015-06-30 | Samsung Electronics Co., Ltd. | Embedded solid state disk as a controller of a solid state disk |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10126959B2 (en) | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage | |
KR100823171B1 (en) | Computer system having a partitioned flash translation layer and flash translation layer partition method thereof | |
JP5580311B2 (en) | Multi-performance mode memory system | |
JP5143730B2 (en) | Method and system for managing partitions in a storage device | |
US8166233B2 (en) | Garbage collection for solid state disks | |
KR100923990B1 (en) | Computing system based on characteristcs of flash storage | |
US8489803B2 (en) | Efficient use of flash memory in flash drives | |
JP5646633B2 (en) | Storage device | |
US20060020744A1 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
CN106681932B (en) | Memory management method, memory control circuit unit and memory storage device | |
EP2704015A1 (en) | Non-volatile semiconductor storage system | |
JP2012515954A (en) | Logical address offset | |
US20140075097A1 (en) | Semiconductor storage device and method for controlling nonvolatile semiconductor memory | |
JPWO2009096180A1 (en) | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
JP4561246B2 (en) | Memory device | |
JP5942037B2 (en) | Storage system having data management mechanism and operation method thereof | |
KR20080033649A (en) | Flash memory system and managing method for the system capable of merging data less frequently | |
JP5594647B2 (en) | Storage apparatus and control method thereof | |
KR20100062190A (en) | Extensible flash memory device and control method thereof | |
JP2013114650A (en) | Address space conversion device, address space conversion method of the same, and computer program | |
JP5694212B2 (en) | Management information generation method and memory system | |
KR20110096829A (en) | Semiconductor storage device and control method of the same | |
JP2010257250A (en) | Electronic device, storage area allocation method for file system, and storage area allocation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |