KR20100062190A - Extensible flash memory device and control method thereof - Google Patents

Extensible flash memory device and control method thereof Download PDF

Info

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
Application number
KR1020080120656A
Other languages
Korean (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 KR1020080120656A priority Critical patent/KR20100062190A/en
Publication of KR20100062190A publication Critical patent/KR20100062190A/en

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving 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

PURPOSE: An extension flash memory device and a control method thereof for deleting and adding new memory module are provided to extend the storage capacity according to the need of the user. CONSTITUTION: A board comprises a connection unit equipping one or more memory module. When the memory module installs to the connection unit, a controller(120) forms a partial mapping table about the memory module. The controller assigns the mapping table to the memory module. The controller controls the mapping table part mapping tables about one or more memory module in the connection unit.

Description

확장형 플래시 메모리장치, 및 그 제어방법{Extensible flash memory device and control method thereof}Extensible flash memory device and control method

본 발명은 확장형 플래시 메모리장치, 및 그 제어방법에 대한 것이다. 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 flash memory device 100 according to an exemplary embodiment of the present invention is connected to a host 30 and used, and when the host 30 is booted, it negotiates an address system for data transmission with the host 30. It handles mutual data transmission according to the negotiated address system.

먼저, 호스트(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 host 30 is booted (or reset), the processor 31 obtains device information on the extended flash memory device (SSD) 100 through the BIOS 32. The BIOS 32 includes device information on various hardware devices mounted on the host 30, and transmits various hardware device information to the processor 31 when the host 30 is booted. Next, the processor 31 recognizes the existence of the extended flash memory device 100 and checks whether the extended flash memory device 100 is available (S1). The controller 120 of the extended flash memory device 100 responds to the availability of the host 30 (S2), and negotiates an address system for data transmission with the host 30 (S3). In the CHS addressing system, the BIOS 32 stores cylinder, head, and sector information of the hard disk drive, and the processor 31 of the host 30 uses the CHS information to store the hard disk information. An address system that performs data communication with a disk drive.

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 host 30 and the control unit 120 of the extended flash memory device 100 recognize each other and the negotiation about the address system for data transmission is completed, the host 30 reads data into the extended flash memory device 100. , Write, delete, and various other control commands may be transmitted (S4), and the extended flash memory device 100 may perform a response to a control command of the host 30 (S5). ). The response of the extended flash memory device 100 transmits data to the host 30 when the host 30 reads, writes, or deletes desired data, or processes a control command of the host 30. This corresponds to one of sending the result to the host 30.

한편, 확장형 플래시 메모리장치(100)는 호스트(30)가 제어 명령어(command)를 전송하기 전, 메모리 모듈(160a ∼ 160c) 각각에 대한 전체 매핑 테이블을 형성해야 한다.On the other hand, the extended flash memory device 100 must form an entire mapping table for each of the memory modules 160a to 160c before the host 30 transmits a control command.

전체 매핑 테이블은 기판(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 memory module 160a to 160c mounted on the substrate 150 is formed as one mapping table. In the present invention, the partial mapping table is provided in each memory module 160a to 160c. Since each of the memory modules 160a to 160c may be mounted on or removed from the substrate 150, the controller 120 first checks the existence of the memory modules 160a to 160c mounted on the substrate 150. When a newly installed memory module is present on the substrate 150, the controller 120 forms an entire mapping table through the memory modules 160a to 160c that already exist, and then stores a newly installed memory address. Create a complete mapping table by assigning it to a module.

이때, 제어부(120)는 신규로 장착된 메모리 모듈에 부분 매핑 테이블을 기록한다.At this time, the controller 120 writes the partial mapping table in the newly installed memory module.

여기서, 각 메모리 모듈에 할당되는 부분 매핑 테이블은 통상의 플래시 메모리장치에 할당되는 부분 매핑 테이블과 중요한 차이점을 갖는다.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 memory module 160a to 160c is stored for each memory module (160a to 160c).

본 발명은 각 메모리 모듈(160a ∼ 160c)이 자신과 연관된 부분 매핑 테이블을 가지도록 한다. 따라서, 각 메모리 모듈(160a ∼ 160c) 중 어느 하나가 제거될 경우, 제거된 메모리 모듈(160a ∼ 160c 중 어느 하나)에 해당하는 부분 매핑 테이블은 제거된다. The present invention allows each memory module 160a-160c to have a partial mapping table associated with it. Therefore, when any one of the memory modules 160a to 160c is removed, the partial mapping table corresponding to the removed memory modules 160a to 160c is removed.

새로운 메모리 모듈이 기판(150)에 장착될 경우에, 제어부(120)는 각 메모리 모듈(160a ∼ 160c)에 의해 형성되는 전체 매핑 테이블에서 사용되지 않는, 어드레스 영역을 신규로 장착된 메모리 모듈에 할당함으로써 전체 매핑 테이블을 간단히 구축할 수 있다. When a new memory module is mounted on the substrate 150, the controller 120 assigns an address area to the newly mounted memory module, which is not used in the entire mapping table formed by each memory module 160a to 160c. This makes it easy to build a complete mapping table.

도 1을 참조하면, 기판(150)은 3개의 메모리 모듈(160a ∼ 160c)을 구비하며, 접속부(140d ∼ 140n)는 비어있는 것을 볼 수 있다.Referring to FIG. 1, the substrate 150 may include three memory modules 160a to 160c, and the connection portions 140d to 140n may be empty.

비어있는 접속부(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 memory modules 160a-160c can be removed according to the needs of the user. That is, the present invention can increase or decrease the capacity of the extended flash memory device 100, and the old memory modules 160a to 160c can be removed as necessary.

각 메모리 모듈(160a ∼ 160c)은 복수의 블록으로 구성된다.Each memory module 160a to 160c is composed of a plurality of blocks.

각 메모리 모듈(160a ∼ 160c)에 대한 블록들은 기계식 하드디스크 드라이브와는 달리 실린더, 헤더, 및 섹터의 기준으로 구획되지 않는다. 따라서, 현재도 널리 사용되는 하드디스크 드라이브를 대신하여 확장형 플래시 메모리장치(100)가 호스트(30)와 데이터 통신을 수행하기 위해서는 각 물리적인 블록을 호스트(30)의 논리 주소체계와 대응시켜야 하며, 호스트의 논리 주소와, 각 블록들의 물리 주소를 매핑하기 위한 전체 매핑 테이블을 이용하여야 한다.The blocks for each memory module 160a-160c are not partitioned on the basis of cylinders, headers, and sectors, unlike mechanical hard disk drives. Therefore, in order to perform data communication with the host 30 instead of the hard disk drive that is still widely used, each physical block must correspond to each physical block with the logical address system of the host 30. The entire mapping table must be used to map the logical address of the host and the physical address of each block.

제어부(120)는 각 메모리 모듈(160a ∼ 160c)에 분산되어 저장되는 부분 매핑 테이블을 모아 하나의 전체 매핑 테이블을 형성하며, 형성된 전체 매핑 테이블은 메모리(150)에 저장한다. 이후, 제어부(120)는 호스트(30)가 논리 주소를 이용하여 읽기, 쓰기, 삭제, 및 포멧등의 제어 명령어(command)를 전송할 때, 전체 매핑 테이블을 이용하여 해당하는 블록을 대응시킨다.The controller 120 collects the partial mapping tables distributed and stored in each of the memory modules 160a to 160c to form one entire mapping table, and stores the entire mapping table in the memory 150. Thereafter, when the host 30 transmits a control command such as read, write, delete, and format by using the logical address, the controller 120 associates the corresponding block by using the entire mapping table.

도 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 host interface unit 110, a controller 120, a memory interface unit 130, memory modules 160a-160c, and memory modules 160a-160c. And a connecting portion 140 for mounting and detaching.

메모리 모듈(160a ∼ 160c)은 기록, 재기록, 및 삭제가 가능한 하나, 또는 복수의 플래시 메모리 칩으로 구성된다. 또한, 각 메모리 모듈(160a ∼ 160c)은 복수의 블록으로 구획된다. 각 메모리 모듈(160a ∼ 160c)은 데이터를 읽고 기록할 수 있는 데이터 저장 영역을 여러개의 블록으로 구획하고, 블록 단위로 호스트(30)의 데이터 읽기, 쓰기, 및 재 기록을 수행한다.The memory modules 160a to 160c are composed of one or a plurality of flash memory chips capable of writing, rewriting, and erasing. Each memory module 160a to 160c is divided into a plurality of blocks. Each of the memory modules 160a to 160c divides a data storage area capable of reading and writing data into blocks, and reads, writes, and rewrites data of the host 30 in blocks.

각 메모리 모듈(160a ∼ 160c)은 전체 저장용량 중 각자의 용량에 해당하는 부분 매핑 테이블을 구비한다. 부분 매핑 테이블은 호스트(30)가 자신의 논리 주소를 통해 데이터를 읽거나 쓰고자 할 때, 호스트(30)의 논리 주소를 메모리 모듈(160a ∼ 160c)의 어느 블록에 매핑할 것인지를 결정한다. Each memory module 160a to 160c has a partial mapping table corresponding to its own capacity among the total storage capacities. The partial mapping table determines which block of the memory module 160a to 160c to map the logical address of the host 30 when the host 30 wants to read or write data through its logical address.

본 실시예에서, 매핑 테이블은 기판(150)에 장착되는 각 메모리 모듈(160a ∼ 160c)에 마련된다. 각 메모리 모듈(160a ∼ 160c)은 스스로에 대한 매핑 테이블(부분 매핑 테이블이)을 구비한다. In the present embodiment, the mapping table is provided in each memory module 160a to 160c mounted on the substrate 150. Each memory module 160a to 160c has its own mapping table (partial mapping table).

통상의 매핑 테이블은 전체 메모리 모듈(160a ∼ 160c)에 대한 부분 매핑 테이블을 각 메모리 모듈(160a ∼ 160c)과 무관하게 단순히 분할 저장하였으나, 본 실시예는 메모리 모듈(160a ∼ 160c)이 스스로에 해당하는 부분 매핑 테이블만을 구비한다. In the conventional mapping table, the partial mapping table for the entire memory modules 160a to 160c is simply divided and stored regardless of the memory modules 160a to 160c. However, in the present embodiment, the memory modules 160a to 160c correspond to themselves. Only a partial mapping table is provided.

이러한 특징은 외부 메모리 모듈(141)을 기판(150)에 추가 장착할 때, 그 특징이 두두러진다. 예를들어, 외부 메모리 모듈(141)이 DDR2 방식의 범용 컴퓨터 메모리와 같은 형태를 가지며, 기판(150)에는 외부 메모리 모듈(141)과 접속 가능한 슬롯이 마련된다고 가정할 때, 외부 메모리 모듈(141)이 슬롯에 장착되면 제어부(120)는 호스트(30)의 논리 주소 들 중 메모리 모듈(160a ∼ 160c)에 할당되지 않은 논리 주소의 범위를 새로 장착되는 외부 메모리 모듈(141)에 할당하고, 외부 메모리 모듈(141)에 저장함으로써 전체 매핑 테이블, 및 부분 매핑 테이블 작성이 완료된다. This feature is enhanced when the external memory module 141 is additionally mounted to the substrate 150. For example, assuming that the external memory module 141 has the same form as a general-purpose computer memory of the DDR2 type, and the board 150 is provided with a slot accessible to the external memory module 141, the external memory module 141 is provided. ) Is mounted in the slot, the controller 120 allocates a range of logical addresses not allocated to the memory modules 160a to 160c among the logical addresses of the host 30 to the newly installed external memory module 141, and By storing in the memory module 141, the entire mapping table and the partial mapping table creation are completed.

접속부(140)는 하나, 또는 복수이며, 슬롯, 또는 소켓의 형태를 가질 수 있다. 접속부(140)는 슬롯, 또는 소켓을 통해 외부 메모리 모듈(141)을 장착, 또는 탈착한다. 접속부(140)는 확장형 플래시 메모리장치(100)의 기판(150)에 형성되며, 사용자가 저장 용량을 증가시키기 위해 외부 메모리 모듈(141)을 추가하거나, 불필요한 메모리 모듈(160a ∼ 160c 중 어느 하나)을 손쉽게 제거할 수 있도록 한다. The connection unit 140 may be one or plural and have a slot or socket. The connection unit 140 mounts or detaches the external memory module 141 through a slot or a socket. The connection unit 140 is formed on the substrate 150 of the expandable flash memory device 100, and the user adds an external memory module 141 to increase the storage capacity, or any unnecessary memory modules 160a to 160c. Make it easy to remove.

제어부(120)는 접속부(140)에 마련되는 슬롯(또는 소켓)에 새로운 외부 메모리모듈(141)이 장착되었는지를 검출하며 새로운 외부 메모리 모듈(141)이 슬롯에 장착되었을 경우, 새로 장착된 외부 메모리 모듈(141)에 대한 부분 매핑 테이블을 생성하고, 생성된 부분 매핑 테이블을 새로 장착된 외부 메모리 모듈(141)에 기록한다.The controller 120 detects whether a new external memory module 141 is mounted in the slot (or socket) provided in the connection unit 140. When the new external memory module 141 is mounted in the slot, the newly installed external memory is installed. The partial mapping table for the module 141 is generated and the generated partial mapping table is recorded in the newly mounted external memory module 141.

또한, 제어부(120)는 새로 장착된 외부 메모리 모듈(141)의 부분 매핑 테이블을 제어부(120)가 구비하는 전체 매핑 테이블에 추가하여 전체 매핑 테이블을 형성한다.In addition, the controller 120 adds the partial mapping table of the newly mounted external memory module 141 to the entire mapping table included in the controller 120 to form the entire mapping table.

여기서, 전체 매핑 테이블은 메모리(150)에 저장된다. 전체 매핑 테이블은 각 메모리 모듈(160a ∼ 160c)에 저장된 부분 매핑 테이블을 합한 것이다. 따라서, 제어부(120)는 접속부(140)를 구성하는 슬롯(또는 소켓)에 장착되어 있던 메모리 모듈(160a ∼ 160c 중 어느 하나)이 슬롯(또는 소켓)에서 탈착될 경우, 전체 매핑 테이블에서 탈착된 메모리 모듈(160a ∼ 160c 중 어느 하나)에 해당하는 정보를 삭제하여 전체 매핑 테이블을 재 구성한다. 또한, 외부 메모리 모듈(141)이 슬롯(또는 소켓)에 추가로 장착될 경우, 호스트(30)의 논리 주소 중 일부를 신규 장착된 외부 메모리 모듈(141)에 할당하여 부분 매핑 테이블을 생성하고, 생성한 부분 매핑 테이블을 신규 장착되는 외부 메모리 모듈(141)의 저장 영역에 기록한다. 이때, 제어부(120)는 신규 장착된 외부 메모리 모듈(141)에 대한 부분 매핑 테이블을 전체 매핑 테이블에 반영하여 전체 매핑 테이블을 갱신한다.Here, the entire mapping table is stored in the memory 150. The entire mapping table is the sum of the partial mapping tables stored in each of the memory modules 160a to 160c. Therefore, the controller 120 is detached from the entire mapping table when the memory module 160a to 160c installed in the slot (or socket) constituting the connection unit 140 is detached from the slot (or socket). The information corresponding to the memory modules 160a to 160c is deleted to reconstruct the entire mapping table. In addition, when the external memory module 141 is additionally mounted in the slot (or socket), a partial mapping table is generated by allocating some of the logical addresses of the host 30 to the newly installed external memory module 141. The generated partial mapping table is recorded in the storage area of the newly mounted external memory module 141. In this case, the controller 120 updates the entire mapping table by reflecting the partial mapping table for the newly installed external memory module 141 in the entire mapping table.

한편, 슬롯(또는 소켓)에 장착되는 메모리 모듈(또는 외부 메모리 모듈)은 복수의 블록으로 구획되어 호스트(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 host 30 in units of blocks.

바람직하게는, 제어부(120)는 FTL 처리부(121)를 구비하며, FTL 처리부(121)는 호스트(30)에서 특정 메모리 모듈에 포함되는 블록에 읽기 명령을 내릴경우, 호스트(30)에서 제공되는 논리 주소(LBA)에 해당하는 블록의 물리주소(PBA)를 대응시킨다. Preferably, the control unit 120 includes an FTL processing unit 121, and when the FTL processing unit 121 issues a read command to a block included in a specific memory module, the host 30 is provided at the host 30. The physical address PBA of the block corresponding to the logical address LBA is mapped.

각 메모리 모듈(160a ∼ 160c)은 각 메모리 모듈(160a ∼ 160c)에 대한 블록 단위로 기록, 재기록, 및 삭제를 수행하며, 제어부(120)는 각 메모리 모듈(160a ∼ 160c)을 구성하는 블록들 중 특정 블록에 대한 기록, 삭제, 및 재 기록이 집중되어 마모되지 않도록 마모도 평준화(wear-leveling)를 수행한다. Each memory module 160a to 160c performs writing, rewriting, and erasing on a block-by-block basis for each memory module 160a to 160c, and the controller 120 blocks blocks constituting each memory module 160a to 160c. Wear-leveling is performed so that writing, erasing, and rewriting of a specific block is not concentrated and worn out.

호스트 인터페이스부(110)는 호스트(30)와 제어부(120) 사이에 전송되는 데이터의 형태를 변환한다. 예를들어, 호스트(30)가 SATA(Serial-ATA) 방식의 인터페이스를 통해 확장형 플래시 메모리장치(100)와 인터페이스를 수행할 경우, 호스트 인터페이스부(110)는 제어부(120)에서 전송되는 데이터를 SATA 방식에 따라 변환하여 호스트(30)로 제공한다. 호스트 인터페이스부(110)는 호스트(30)의 인터페이스 방식에 따라 SATA1, SATA2, SCSI, 및 IDE 인터페이스 등을 지원할 수 있으며, 이 외에도, 호스트(30)가 필요로 하는 인터페이스에 따라 다양한 인터페이스가 적용될 수 있다.The host interface unit 110 converts the type of data transmitted between the host 30 and the control unit 120. For example, when the host 30 interfaces with the extended flash memory device 100 through a Serial-ATA (SATA) interface, the host interface 110 may receive data transmitted from the controller 120. Converted according to SATA method and provided to host 30. The host interface unit 110 may support SATA1, SATA2, SCSI, and IDE interfaces according to the interface method of the host 30. In addition, various interfaces may be applied according to the interface required by the host 30. have.

또한, 호스트 인터페이스부(110)는 호스트(30)가 전송하는 명령어를 수신하고, 수신된 명령어를 제어부(120)로 제공한다. 호스트(30)가 전송하는 명령어는 읽기, 쓰기 명령이 주류를 이루나, 레이드 지원을 위한 명령어, 및 기타 데이터 기록장치에 대한 상태정보를 요청하는 명령어가 될 수 있다. In addition, the host interface 110 receives a command transmitted from the host 30, and provides the received command to the controller 120. The command transmitted by the host 30 may be a main command for reading and writing, but may be a command for requesting RAID support, and a command for requesting status information on other data recording devices.

제어부(120)는 호스트 인터페이스부(110)를 통해 호스트(30)의 각종 명령어를 수신하고, 수신된 명령어를 수행한다. 또한, 제어부(120)는 호스트 인터페이스부(110)를 통해 수신된 명령어의 처리 결과를 호스트(30)로 리턴하며, 호스트(30)가 데이터를 요청할 경우, 메모리 모듈(160a ∼ 160c)에서 데이터를 독출하고, 호스트 인터페이스부(110)를 통해 독출된 데이터를 호스트(30)로 제공한다.The control unit 120 receives various commands of the host 30 through the host interface unit 110 and performs the received commands. In addition, the controller 120 returns the processing result of the command received through the host interface unit 110 to the host 30, and when the host 30 requests data, the controller 120 sends the data from the memory modules 160a to 160c. The data is read and the data read through the host interface 110 is provided to the host 30.

메모리 모듈(160a ∼ 160c)은 기록, 재기록, 및 삭제가 가능한 플래시 타입의 메모리칩이 하나, 또는 둘 이상 집적되어 형성되며, 제어부(120)에 의해 복수의 블록으로 구획된다. The memory modules 160a to 160c are formed by integrating one or more flash type memory chips capable of writing, rewriting, and erasing, and are divided into a plurality of blocks by the controller 120.

메모리 인터페이스부(130)는 제어부(120)에서 메모리 모듈(160a ∼ 160c)로 제공되는 명령어를 전송하고, 메모리 모듈(160a ∼ 160c)에서 독출된 데이터를 제어부(120)로 제공한다.The memory interface unit 130 transmits a command provided from the controller 120 to the memory modules 160a to 160c and provides data read from the memory modules 160a to 160c to the controller 120.

도 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 substrate 150.

도 3을 참조하면, 접속부(140)는 기판에 부착되는 슬롯(170a ∼ 170n)을 통해 외부 메모리 모듈(141), 또는 메모리 모듈(160a ∼ 160c)과 인터페이스를 수행한다. 사용자는 슬롯(170a ∼ 170n)에 외부 메모리 모듈(141)을 장착하거나, 장착되어 있던 메모리 모듈(160a ∼ 160c)을 탈착 함으로써 확장형 반도체 메모리장치(100)의 저장 용량을 변경할 수 있다. 이때, 슬롯(170a ∼ 170n)에 장착되는 외 부 메모리 모듈(141)은 복수의 플래시 칩(171a, 171b, 및 171c)으로 구성될 수 있다.Referring to FIG. 3, the connection unit 140 interfaces with the external memory module 141 or the memory modules 160a to 160c through slots 170a to 170n attached to the substrate. The user may change the storage capacity of the expanded semiconductor memory device 100 by mounting the external memory module 141 in the slots 170a through 170n or by removing the mounted memory modules 160a through 160c. In this case, the external memory module 141 mounted in the slots 170a to 170n may include a plurality of flash chips 171a, 171b, and 171c.

다음으로, 도 4를 참조하면, 접속부(140)는 기판(150)에 부착되는 소켓의 형태를 갖는다. 접속부(140)가 소켓의 형태를 가질 경우, 외부 메모리 모듈(141)은 소켓(180a ∼ 180n)에 마련되는 레버(181a ∼ 181n)에 의해 소켓(180a ∼ 180n)에 체결될 수 있다. 또한, 접속부(140)가 소켓의 형태를 가짐에 따라 외부 메모리 모듈(141)과 기판(150) 사이의 거리가 슬롯 방식에 비해 적어지므로 확장형 플래시 메모리장치의 두께를 감소시키는 부수적인 효과를 얻을 수 있다.Next, referring to FIG. 4, the connection part 140 has a form of a socket attached to the substrate 150. When the connection unit 140 has a socket shape, the external memory module 141 may be fastened to the sockets 180a to 180n by levers 181a to 181n provided at the sockets 180a to 180n. In addition, since the connection portion 140 has a socket shape, the distance between the external memory module 141 and the substrate 150 is smaller than that of the slot method, thereby reducing the thickness of the extended flash memory device. have.

도 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 flash memory device 100 according to the present invention includes a partial mapping table for each memory module 160a to 160c mounted in a slot (or socket). The partial mapping table is a mapping table for the memory modules 160a to 160c mounted in the slot (or the socket, which will be omitted later), and when the partial mapping table of all the memory modules 160a to 160c mounted in the slot is added, the extended flash It becomes an entire mapping table for the memory device 100. In the figure, the mapping table of each memory module corresponds to a logical address of the host 30 and a physical address of a block constituting each memory module.

호스트(30)의 논리 주소와 대응하는 부분 매핑 테이블은 각각이 독립적이므로 슬롯에서 메모리 모듈(160a ∼ 160c 중 어느 하나)이 탈착될 때, 전체 매핑 테 이블을 수정하기가 용이하다. Since the logical address of the host 30 and the corresponding partial mapping table are independent of each other, it is easy to modify the entire mapping table when the memory module 160a to 160c is removed from the slot.

마찬가지로, 외부 메모리 모듈(141)이 슬롯에 장착될 때는 호스트(30) 측 논리 주소(LBA) 중 비어있는 논리 주소를 외부 메모리모듈(141)에 할당하는 것으로 전체 매핑 테이블의 작성, 부분 매핑 테이블의 작성, 및 할당이 완료된다.Similarly, when the external memory module 141 is mounted in the slot, an empty logical address among the logical addresses LBA of the host 30 is allocated to the external memory module 141 to create the entire mapping table, Creation and assignment are complete.

도 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 controller 120 is connected to each memory module 160a to 160n through buses BUS0 to BUSn, and a flash chip constituting each memory module 160a to 160n is selected from among buses BUS0 to BUSn. Connect to either.

도 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 memory modules 160a to 160n. The partial mapping tables provided in the memory module 160a and the memory module 160n are independent of each other and do not overlap with the logical addresses of the host 30. Therefore, even when the user removes the memory modules 160a to 160n, the partial mapping table (mapping table of the memory module 2) of the memory modules 160a to 160n has no effect, and thus the memory modules 160a to 160n have no effect. You do not need to change the partial mapping table. This is the most important difference between the mapping table according to the invention and the mapping table for a conventional flash memory device. This will be described with reference to FIG. 7 and FIG. 8 together.

도 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 memory module 51 to 53. FIG. At this time, the partial mapping table allocated to each of the memory modules 51 to 53 has no direct relation with each of the memory modules 51 to 53.

다음으로, 도 8을 참조하면, 도 7의 메모리 모듈(52)을 임의로 탈착했을 때, 메모리 모듈(52)에 저장된 부분 매핑 테이블(52a)은 메모리 모듈(52)에 대한 것이 아니라, 전체 매핑 테이블을 구성하는 부분 매핑 테이블 중 하나에 해당하므로 전체 매핑 테이블을 재 작성해야 한다.Next, referring to FIG. 8, when the memory module 52 of FIG. 7 is arbitrarily removed, the partial mapping table 52a stored in the memory module 52 is not the memory module 52, but the entire mapping table. This is one of the partial mapping tables that composes, so you must rewrite the entire mapping table.

도 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 controller 120 scans the slots 170a to 170n to determine whether there is an external memory module 141 added to the slots 170a to 170n (S301). As a result, when the external memory module 141 added to the slots 170a to 170n exists, the controller 120 generates a partial mapping table for the added external memory module 141 (S302). The partial mapping table for the external memory module 141 forms a logical address of the host 30 corresponding to the physical address of the external memory module. The formed partial mapping table is stored in the added external memory module 141 (S304). Therefore, the external memory module 141 includes a partial mapping table independent of the mapping table of the other memory modules 160a to 160c mounted on the substrate 150.

다음으로, 제어부(120)는 기판(150)에 장착된 메모리 모듈(160a ∼ 160c)과 외부 메모리 모듈에 대한 부분 매핑 테이블을 이용하여 전체 매핑 테이블을 형성한 다(S304). 전체 매핑 테이블은 메모리(150), 또는 제어부(120)와 접속되는 별도의 메모리에 저장될 수 있다.Next, the controller 120 forms an entire mapping table by using the memory modules 160a to 160c mounted on the substrate 150 and the partial mapping table for the external memory module (S304). The entire mapping table may be stored in the memory 150 or in a separate memory connected to the controller 120.

다음으로, 제어부(120)는 슬롯(170a ∼ 170n)에서 제거된 메모리 모듈(또는 외부 메모리 모듈)이 존재하는지를 판단한다(S305). 본 발명에서, 메모리 모듈(또는 외부 메모리 모듈)은 사용자에 의해 슬롯(170a ∼ 170n)에 추가되거나 슬롯(170a ∼ 170n)에서 제거될 수 있다.Next, the controller 120 determines whether there is a memory module (or an external memory module) removed from the slots 170a to 170n (S305). In the present invention, the memory module (or external memory module) can be added to or removed from the slots 170a-170n by the user.

만일, 슬롯(170a ∼ 170n)에서 제거된 메모리 모듈(또는 외부 메모리 모듈)이 존재할 경우, 제어부(120)는 전체 매핑 테이블에서 제거된 메모리 모듈(또는 외부 메모리 모듈)의 부분 매핑 테이블을 삭제한다. 이때, 제어부(120)는 삭제된 부분 매핑 테이블 이외에 전체 매핑 테이블을 새로 작성할 필요는 없다.If the memory module (or external memory module) removed from the slots 170a to 170n exists, the controller 120 deletes the partial mapping table of the memory module (or external memory module) removed from the entire mapping table. In this case, the controller 120 does not need to newly create the entire mapping table other than the deleted partial mapping table.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.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)

적어도 하나의 메모리 모듈을 장착 가능한 접속부를 구비하는 기판; 및A substrate having a connection portion to which at least one memory module is mounted; And 상기 접속부에 메모리 모듈이 장착될 때, 상기 장착된 메모리 모듈에 대한 부분 매핑 테이블을 형성하고, 형성된 부분 매핑 테이블을 상기 장착된 메모리 모듈에 할당하는 제어부;를 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치.And a controller configured to form a partial mapping table for the mounted memory module and to allocate the formed partial mapping table to the mounted memory module when the memory module is mounted in the connection unit. . 제1항에 있어서,The method of claim 1, 상기 제어부는,The control unit, 상기 접속부에 장착된 적어도 하나의 메모리 모듈에 대한 부분 매핑 테이블을 취합하여 하나의 전체 매핑 테이블을 형성하는 것을 특징으로 하는 확장형 플래시 메모리장치.And a partial mapping table for at least one memory module mounted in the connection unit to form one entire mapping table. 제2항에 있어서,The method of claim 2, 상기 제어부는,The control unit, 상기 접속부에서 상기 메모리 모듈이 탈착될 때, 상기 탈착되는 메모리 모듈에 대한 부분 매핑 테이블을 상기 전체 매핑 테이블에서 삭제 처리하는 것을 특징으로 하는 확장형 플래시 메모리장치.And removing the partial mapping table for the detached memory module from the entire mapping table when the memory module is detached from the connection unit. 제2항에 있어서,The method of claim 2, 상기 전체 매핑 테이블을 저장하는 메모리;를 더 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치.And a memory configured to store the entire mapping table. 제1항에 있어서,The method of claim 1, 상기 적어도 하나의 메모리 모듈은, 복수의 블록으로 구획되며, The at least one memory module is divided into a plurality of blocks, 상기 제어부는, 상기 블록을 단위로 수행하는 것을 특징으로 하는 플래시 메모리장치.The control unit, the flash memory device, characterized in that for performing the block as a unit. 제1항에 있어서,The method of claim 1, 상기 접속부는,The connecting portion, 상기 메모리 모듈을 장착, 및 탈착하기 위한 슬롯을 적어도 하나 구비하는 것을 특징으로 하는 확장형 플래시 메모리장치.And at least one slot for mounting and detaching the memory module. 제1항에 있어서,The method of claim 1, 상기 접속부는,The connecting portion, 상기 메모리 모듈을 장착, 및 탈착하기 위한 소켓을 적어도 하나 구비하는 것을 특징으로 하는 확장형 플래시 메모리장치.And at least one socket for mounting and detaching the memory module. 제1항에 있어서,The method of claim 1, 상기 각 메모리 모듈은,Each memory module, 적어도 하나의 비 휘발성 메모리 칩으로 구성되는 것을 특징으로 하는 확장형 플래시 메모리장치.An extended flash memory device comprising at least one nonvolatile memory chip. 기판에 장착되는 복수의 메모리 모듈 각각에 대한 부분 매핑 테이블을 형성하는 단계; 및Forming a partial mapping table for each of the plurality of memory modules mounted on the substrate; And 상기 각 부분 매핑 테이블을 해당하는 메모리 모듈에 대응하여 저장하는 단계;를 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And storing the respective partial mapping tables in correspondence with a corresponding memory module. 제9항에 있어서,10. The method of claim 9, 상기 각 메모리 모듈별 부분 매핑 테이블을 이용하여 전체 매핑 테이블을 형성하는 단계;를 더 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And forming a whole mapping table by using the partial mapping table for each memory module. 제10항에 있어서,The method of claim 10, 상기 메모리 모듈 중 어느 하나가 상기 기판에서 탈거될 때, 상기 전체 매핑 테이블에서, 상기 탈거된 메모리 모듈에 대응하는 부분 매핑 테이블을 삭제하는 단계;를 더 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And removing any partial mapping table corresponding to the removed memory module from the entire mapping table when any one of the memory modules is removed from the substrate. Way. 제9항에 있어서,10. The method of claim 9, 상기 부분 매핑 테이블을 형성하는 단계는,Forming the partial mapping table, 메모리 모듈이 상기 기판에 신규 추가될 때, 상기 메모리 모듈에 대한 부분 매핑 테이블을 형성하는 단계인 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And when a memory module is newly added to the substrate, forming a partial mapping table for the memory module. 제9항에 있어서,10. The method of claim 9, 상기 부분 매핑 테이블을 이용하여 상기 각 메모리 모듈에 대한 마모도 평준화를 수행하는 단계;를 더 포함하는 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And performing wear leveling on each of the memory modules using the partial mapping table. 제13항에 있어서,The method of claim 13, 상기 마모도 평준화를 수행하는 단계는,Performing the wear level leveling, 상기 각 메모리 모듈을 구성하는 복수의 블록을 이용하여 수행하는 것을 특징으로 하는 확장형 플래시 메모리장치의 제어방법.And a plurality of blocks constituting the memory modules.
KR1020080120656A 2008-12-01 2008-12-01 Extensible flash memory device and control method thereof KR20100062190A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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