WO2013094913A1 - 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 - Google Patents

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 Download PDF

Info

Publication number
WO2013094913A1
WO2013094913A1 PCT/KR2012/010696 KR2012010696W WO2013094913A1 WO 2013094913 A1 WO2013094913 A1 WO 2013094913A1 KR 2012010696 W KR2012010696 W KR 2012010696W WO 2013094913 A1 WO2013094913 A1 WO 2013094913A1
Authority
WO
WIPO (PCT)
Prior art keywords
nand flash
nand
flashes
determining
state
Prior art date
Application number
PCT/KR2012/010696
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020120091358A external-priority patent/KR101366960B1/ko
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to US14/366,496 priority Critical patent/US20150006794A1/en
Publication of WO2013094913A1 publication Critical patent/WO2013094913A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access

Definitions

  • Embodiments of the present invention relate to an apparatus and method for controlling a multi-way NAND flash using input / output pins.
  • NAND flash is a type of flash memory that can continuously store data even when there is no power supply, and can freely store / delete data.
  • NAND flash reads slower than NOR flash, but has the advantage of fast writing and erasing speed and large capacity. Therefore, NAND flash can be used for electronic products such as MP3, mobile phones, digital cameras, portable storage devices, computers Widely used for data storage.
  • the controller that controls the NAND flash generally checks the state of the NAND flash by using the R / B (Ready / Busy) pin of the NAND flash.
  • R / B Ready / Busy
  • the number of NAND flashes included in a single storage device is also increasing.In order to control multi-way NAND flashes, several NAND flashes are bundled together and a single R / B pin is used. How to manage NAND flash. However, this method has a problem in that the state of each NAND flash cannot be checked because several NAND flashes are managed together.
  • a multi-way NAND flash control apparatus and method using input / output pins capable of checking the state of all NAND flashes even by reducing the number of pins of a controller managing a plurality of NAND flashes.
  • a multi-way NAND flash control apparatus and method using an input / output pin that can minimize the speed reduction even though the number of pins of the NAND flash controller is reduced.
  • the NAND flash control device uses a read status command that checks whether an internal operation of the NAND flash has been normally performed.
  • the NAND flash may include a scheduler for determining an order in which each of the NAND flashes will occupy an input output bus.
  • the NAND flash monitor may determine a time to check the state of each of the NAND flashes in a polling manner based on a previously generated time table.
  • the time table may be generated based on the information on the minimum internal operating time of each command for the NAND flash and the information on the internal operating time of each NAND flash for the command.
  • the NAND flash monitor may determine whether the internal operation is completed by using the read status command.
  • the NAND flash monitor may check the state of each of the plurality of NAND flashes by using the read status command instead of the R / B (Ready / Busy) pin.
  • the scheduler may determine an order in which each NAND flash occupies the input / output bus in an interleaving manner.
  • the NAND flash control device may check the status of each of the plurality of NAND flashes using a read status command that checks whether an internal operation of the NAND flash is normally performed.
  • the method may include determining an order in which each of the NAND flashes occupies an input output bus based on a state of each NAND flash.
  • the NAND flash memory device includes a plurality of NAND flashes, a register for storing instructions about an operation to be performed by the NAND flash, and a address for an address of the NAND flash to perform the instruction, stored in the register, and the internal operation of the NAND flash is performed.
  • the state of each of the NAND flashes is checked using a read status command that checks whether the NAND flashes are normally executed, and each of the NAND flashes uses an input output bus based on the identified state of each NAND flash.
  • a NAND flash controller for determining an order to occupy, and a buffer for temporarily storing data transmitted between the NAND flash and the NAND flash controller.
  • 1 is a diagram illustrating a NAND flash.
  • FIG. 2 is a block diagram illustrating a NAND flash memory device according to an exemplary embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a multi-way NAND flash control method according to an embodiment of the present invention.
  • 1 is a diagram illustrating a NAND flash.
  • the NAND flash 100 includes a plurality of input / output (I / O) pins, a write protect (WP) pin, a voltage controller (VCC) pin, a voltage source (VSS) pin, and an R / B. It may include a (Ready / Busy) pin, a command latch enable (CLE) pin, a chip enable (CE) pin, an address latch enable (ALE) pin, a read enable (RE) pin, and a write enable (WE) pin.
  • I / O input / output
  • WP write protect
  • VCC voltage controller
  • VCC voltage source
  • R / B It may include a (Ready / Busy) pin, a command latch enable (CLE) pin, a chip enable (CE) pin, an address latch enable (ALE) pin, a read enable (RE) pin, and a write enable (WE) pin.
  • CLE command latch enable
  • CE chip enable
  • ALE address latch enable
  • RE read enable
  • WE write enable
  • the I / O pin is a pin for inputting and outputting data and an address.
  • the NAND flash 100 uses an address and a data line in common in one port, unlike conventional memory. Therefore, the NAND flash 100 includes a CLE pin and an ALE pin to distinguish whether data transmitted through one port is a command or an address.
  • the CLE pin informs you that commands such as read, write, and erase are output through the I / O bus. That is, data output to the I / O bus when CLE is high is a command to be sent to the NAND flash 100.
  • the ALE pin indicates that the address is output via the I / O bus. That is, data output to the I / O bus when ALE is high is an address sent to the NAND flash 100. When both the CLE and ALE pins are low, data is output to the I / O bus.
  • the RE and WE pins are for reading and writing data.
  • the RE pin goes low when reading data, and the WE pin goes low when writing data.
  • the CE pin indicates whether the processor is using NAND flash 100.
  • the R / B pin indicates the state of NAND flash. When the R / B pin is low, it is “busy” and when it is high, it is “ready”.
  • NAND flash In configuring a multi-way NAND flash using a plurality of such NAND flashes 100, it is essential to check in real time what state the plurality of NAND flashes are in.
  • the operation of NAND flash consists of command transfer, internal flash operation, internal operation success confirmation, and post operation (for example, read, write, and erase).
  • internal operation takes the longest time in the whole operation. In the case of the write operation, it takes 10 to 20 times as much time as other operations, and in the case of the read operation, it takes more than 5 times as much as other operations.
  • the state of this internal operation can be confirmed through the R / B pin of the NAND flash (100).
  • the R / B pin is normally high, which is low when the flash is running internally, and then high again when the operation is complete. For this reason, refer to the R / B pin to know the current state of the NAND flash.
  • the number of NAND flash chips in a single storage device is continuously increasing, and since one NAND flash chip has one or two R / B pins, the conventional NAND flash control In the case of a device, the number of pins for controlling the same also increases according to the number of NAND flash chips included in one storage device.
  • the multi-way NAND flash control device eliminates the R / B pins to drastically reduce the number of pins, and checks the time table to check the state of the NAND flash at a high speed comparable to the presence of the R / B pins. I use it.
  • FIG. 2 is a block diagram illustrating a NAND flash memory device including a multi-way NAND flash according to an exemplary embodiment of the present invention.
  • the multi-way NAND flash control apparatus according to the present invention will be described in detail with reference to FIG. 2.
  • the NAND flash memory device may include a plurality of NAND flashes 212 to 218, a register 220, a NAND flash control device 230, and buffers 242 and 244.
  • Each NAND flash 212-218 performs an operation such as reading, writing, erasing, etc. under the control of the NAND flash control device 230.
  • the register 220 receives a command such as read, write, and erase from the upper controller, and transmits the command to the NAND flash control device 230.
  • the register 220 may store a command for an operation to be performed by the NAND flashes 212 to 218 and information about an address of a NAND flash to perform the command.
  • the buffers 242 and 244 temporarily store data transmitted between the NAND flash units 212 to 218 and the NAND flash control unit 230 during read / write, and the buffer is an example as illustrated in FIG. 2. It may be implemented as a read buffer 242 and a write buffer 244.
  • the read buffer 242 receives the data from the host controller through the BUS during the read operation and then transfers the data to the corresponding NAND flash through the NAND flash control device 230 when preparation is completed.
  • the write buffer 244 reads data from the NAND flash temporarily through the NAND flash control device 230 during a write operation and temporarily stores the data, and transfers the data to the upper controller through the BUS.
  • the NAND flash control apparatus 230 checks the states of each NAND flash by using a read status command, and determines an order in which each of the NAND flashes occupies an input / output bus based on the identified states of each NAND flash. .
  • the read status command is one of the commands stored in the register 220.
  • the read status command serves to check whether the internal operation is normally completed or failed when the internal operation of the NAND flash is completed. It's a command to do. The result is retrieved via the IO pin.
  • the NAND flash control apparatus 230 may check whether the internal operation is completed by using the read status command. For example, the NAND flash control apparatus 230 may confirm completion of internal operation by using pin 6 of eight IO pins, and may confirm success of internal operation by using pin 0.
  • the NAND flash control apparatus 230 may include, for example, an interleaving scheduler 232 and a NAND flash monitor 234 as illustrated in FIG. 2.
  • the interleaving scheduler 232 generates a control signal for each of the NAND flashes 212 to 218 according to the specifications of the NAND flashes 212 to 218 supporting various instructions.
  • the order in which the multi-way NAND flash occupies the IO bus Can be scheduled in an interleaving manner.
  • the NAND flash monitor 234 may check the state of each NAND flash (whether the internal operation is completed) by using a read status command based on the pre-generated time table.
  • the internal operating time of each flash chip is different.
  • the average speed of each command is provided in the data sheet.
  • the NAND flash control apparatus 230 may generate a time table by using the following data by using the above characteristics and determine the time of reading the state of the NAND flash by polling.
  • the order of the next NAND flash to be checked can be determined by referring to the time table.
  • FIG. 3 is a flowchart illustrating a multi-way NAND flash control method according to an embodiment of the present invention.
  • a method of controlling a multi-way NAND flash will be described in more detail with reference to FIG. 3.
  • the controller determines a time to check the state of each NAND flash based on the generated time table in a polling manner, and checks whether the internal operation of each NAND flash is completed using a read status command (S320).
  • the order in which each of the NAND flashes occupies the input / output bus is determined (S330).
  • the order in which each NAND flash occupies the input / output bus may be determined in an interleaving manner.
  • the multi-way NAND flash control apparatus and method using the input and output pins according to the present invention can check the state of each NAND flash by using a read status instruction instead of the R / B pin, thereby significantly reducing the number of pins required for the controller. Therefore, the design of the controller can be made more smoothly, and each NAND flash can be observed and controlled independently.
  • the time to check the state of each NAND flash using a time table generated based on the information on the minimum internal operating time of each instruction for the NAND flash and the internal operating time of each NAND flash for the instruction. Decisions are made and scheduled for I / O bus occupancy and read / write based on this, which reduces the pin count of the NAND flash control device and minimizes the slowdown.
  • the multi-way NAND flash control method may be implemented in the form of program instructions that may be executed by various computer means and may be recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 개시된다. 다중 웨이 낸드 플래시 제어 장치는 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러를 포함할 수 있다.

Description

입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
본 발명의 실시예들은 입출력 핀을 이용하여 다중 웨이 낸드 플래시를 제어하는 장치 및 방법에 관한 것이다.
낸드 플래시(NAND flash)는 플래시 메모리의 한 형태로서 전원이 없는 상태에서도 데이터를 계속 저장할 수 있으며, 데이터를 자유롭게 저장/삭제할 수 있다. 일반적으로 낸드 플래시는 노어 플래시(NOR flash)에 비해 읽기 속도는 느리지만, 쓰기, 지우기 속도가 빠르고 대용량이 가능하다는 장점으로 인해, MP3, 핸드폰, 디지털카메라, 휴대용 저장 장치, 컴퓨터 등의 전자 제품에 데이터 저장용으로 폭넓게 사용되고 있다.
이러한 낸드 플래시를 제어하는 컨트롤러는 일반적으로 낸드 플래시의 R/B(Ready/Busy) 핀을 이용하여 낸드 플래시의 상태를 확인한다. 그러나, 반도체, 메모리 기술이 발전함에 따라 하나의 저장 장치에 포함되는 낸드 플래시의 숫자 또한 늘어나면서, 다중 웨이 낸드 플래시를 제어하기 위하여 여러개의 낸드 플래시를 하나로 묶고, 하나의 R/B 핀을 이용해 여러개의 낸드 플래시를 관리하는 방법이 사용되고 있다. 그러나, 이러한 방법은 여러 개의 낸드 플래시를 하나로 묶어 관리하기 때문에, 각 낸드 플래시의 상태는 체크 할 수 없다는 문제점이 있었다.
복수개의 낸드 플래시를 관리하는 컨트롤러의 핀 개수를 줄이고도 모든 낸드 플래시의 상태를 체크할 수 있는 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 제공된다.
낸드 플래시 컨트롤러의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있는 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법이 제공된다.
낸드 플래시 제어 장치는 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러를 포함할 수 있다.
일측에 따르면, 상기 낸드 플래시 모니터는 기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정할 수 있다.
다른 측면에 따르면, 상기 타임 테이블은 상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성될 수 있다.
또 다른 측면에 따르면, 상기 낸드 플래시 모니터는 상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인할 수 있다.
또 다른 측면에 따르면, 상기 낸드 플래시 모니터는 R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인할 수 있다.
또 다른 측면에 따르면, 상기 스케줄러는 인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정할 수 있다.
다중 웨이 낸드 플래시 제어 방법은 낸드 플래시 제어 장치가 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 복수개의 낸드 플래시 각각의 상태를 확인하는 단계 및 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 단계를 포함할 수 있다.
낸드 플래시 메모리 장치는 복수개의 낸드 플래시, 상기 낸드 플래시가 수행할 동작에 대한 명령어 및 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보를 저장하는 레지스터, 상기 레지스터에 저장되고 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하고, 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 낸드 플래시 컨트롤러 및 상기 낸드 플래시와 상기 낸드 플래시 컨트롤러 간에 전송되는 데이터를 임시 저장하는 버퍼를 포함할 수 있다.
R/B(Ready/Busy) 핀 대신 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태를 확인하고, 확인된 각 낸드 플래시의 상태를 기초로 각각의 낸드 플래시가 입출력 버스(Input Output bus)를 점유할 순서를 결정함으로써 컨트롤러에 필요한 핀의 개수를 확연히 줄일 수 있으므로, 컨트롤러의 설계를 보다 원활하게 할 수 있으면서도 각각의 낸드 플래시를 독립적으로 관찰/제어할 수 있다.
낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성된 타임 테이블을 이용하여 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 이를 기초로 입출력 버스 점유 및 읽기/쓰기에 대해 스케줄링함으로써 낸드 플래시 컨트롤러의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있다.
도 1은 낸드 플래시를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 있어서, 낸드 플래시 메모리 장치를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시 제어 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 낸드 플래시(NAND flash)를 나타내는 도면이다.
도 1에 도시된 것과 같이, 낸드 플래시(100)는 복수개의 I/O(Input/Output) 핀, WP(Write Protect) 핀, VCC(Voltage Controller) 핀, VSS(Voltage Source) 핀, R/B(Ready/Busy) 핀, CLE(Command Latch Enable) 핀, CE(Chip Enable) 핀, ALE(Address Latch Enable) 핀, RE(Read Enable) 핀 및 WE(Write Enable) 핀을 포함할 수 있다.
I/O 핀은 데이터 및 주소를 입출력하기 위한 핀으로서, 낸드 플래시(100)는 기존의 메모리와는 다르게 주소와 데이터 라인을 하나의 포트에서 공용으로 사용하고 있다. 따라서, 낸드 플래시(100)는 하나의 포트를 통해 전송되는 데이터가 명령어(command)인지 주소(address)인지 구분하기 위하여 CLE 핀과 ALE 핀을 포함한다.
CLE 핀은 I/O 버스를 통하여 읽기, 쓰기, 지우기 등의 명령어가 출력됨을 알려준다. 즉, CLE가 high일 때 I/O 버스로 출력되는 데이터는 낸드 플래시(100)로 보내는 명령어이다.
ALE 핀은 I/O 버스를 통하여 주소가 출력됨을 알려준다. 즉, ALE가 high 일 때 I/O 버스로 출력되는 데이터는 낸드 플래시(100)로 보내는 주소이다. CLE 핀과 ALE 핀이 모두 low 일 때 I/O 버스로는 데이터가 출력된다.
RE 핀과 WE 핀은 데이터를 읽고 쓰는 것을 나타내는 핀으로서, 데이터를 읽을 때는 RE 핀이 low가 되고, 데이터를 쓸 때는 WE 핀이 low가 된다.
CE 핀은 프로세서가 낸드 플래시(100)를 사용하고 있는지를 나타낸다.
R/B 핀은 낸드 플래시의 상태를 나타내는 핀으로서, R/B 핀이 low 일 때는 "busy" 상태이며, high 일 때는 "ready" 상태임을 나타낸다.
이와 같은 낸드 플래시(100)를 복수개 사용하여 다중 웨이 낸드 플래시를 구성함에 있어서, 복수개의 낸드 플래시가 어떠한 상태에 있는지 실시간으로 확인하는 것은 필수 요건이다. 낸드 플래시의 동작은 명령 전달, 플래시 내부 동작, 내부 동작 성공 확인 및 후동작(예를 들어, 읽어오기, 쓰기, 지우기 등)으로 이루어 진다. 이 중 내부 동작은 전체 동작에서 가장 긴 시간을 차지한다. 쓰기 동작의 경우에는 다른 동작의 10~20배의 시간을 차지하고, 읽기 동작의 경우도 다른 동작의 5배 이상의 시간을 차지한다. 이러한 내부 동작의 상태는 낸드 플래시(100)의 R/B 핀을 통해 확인할 수 있다.
R/B 핀은 평소에는 그 값이 high 인데, 플래시가 내부 동작 중일 때는 low 가 되고, 동작이 완료되는 순간에 다시 high 가 된다. 때문에, R/B 핀을 참조하면 현재 낸드 플래시의 상태를 알 수 있다.
그러나, 대용량의 저장 장치를 개발하는데 있어서 하나의 저장 장치에 들어가는 낸드 플래시 칩의 개수는 계속적으로 늘어나고 있고, 낸드 플래시 칩 하나에 R/B핀은 1개 혹은 2개씩 들어가기 때문에, 기존의 낸드 플래시 제어 장치의 경우 하나의 저장 장치에 포함되는 낸드 플래시 칩의 개수에 따라 이를 제어하기 위한 핀의 개수 또한 증가한다.
따라서 본 발명에 따른 멀티 웨이 낸드 플래시 제어 장치는 R/B핀을 없애서 핀의 개수를 획기적으로 줄이는 한편, R/B핀이 있을 때에 버금가는 빠른 속도로 낸드 플래시의 상태를 체크하기 위하여 타임 테이블을 이용한다.
도 2는 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시를 포함하는 낸드 플래시 메모리 장치를 나타내는 블록도이다. 이하, 도 2를 참조하여 본 발명에 따른 멀티 웨이 낸드 플래시 제어 장치에 대해 보다 상세히 설명한다.
낸드 플래시 메모리 장치는 복수개의 낸드 플래시(212~218), 레지스터(220), 낸드 플래시 제어 장치(230) 및 버퍼(242, 244)를 포함할 수 있다.
각각의 낸드 플래시(212~218)는 낸드 플래시 제어 장치(230)의 제어에 따라 읽기, 쓰기, 지우기 등의 동작을 수행한다.
레지스터(220)는 상위 컨트롤러에게 읽기, 쓰기, 지우기 등의 명령어를 전달 받아, 낸드 플래시 제어 장치(230)로 전송한다. 상기 레지스터(220)에는 상기 낸드 플래시(212~218)가 수행할 동작에 대한 명령어와 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보가 저장될 수 있다.
버퍼(242, 244)는 읽기 / 쓰기 시에 낸드 플래시(212~218)와 낸드 플래시 제어 장치(230) 간에 전송되는 데이터를 임시로 저장하는 것으로서, 상기 버퍼는 일 예로 도 2에 도시된 것과 같이 읽기 버퍼(242) 및 쓰기 버퍼(244)로 구현될 수 있다.
이 경우, 읽기 버퍼(242)는 읽기 동작일 때 데이터를 상위 컨트롤러에서 BUS를 통해 받아온 후 준비가 완료되면 낸드 플래시 제어 장치(230)를 통해 상기 데이터를 해당하는 낸드 플래시로 전달한다.
이와 유사하게 쓰기 버퍼(244)는 쓰기 동작일 때 데이터를 낸드 플래시 제어 장치(230)를 통해 낸드 플래시로부터 읽어와 임시로 저장하고, BUS를 통해 상위 컨트롤러로 전달한다.
낸드 플래시 제어 장치(230)는 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태를 확인하고, 확인된 각 낸드 플래시의 상태를 기초로 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정한다.
여기서, 상기 리드 스테이터스 명령어란 레지스터(220)에 저장되는 명령어 중 하나로서, R/B 핀이 있는 경우 낸드 플래시의 내부 동작 완료 시 내부 동작이 정상적으로 완료되었는지 실패하였는지 체크하는 역할을 하며, 필수적으로 수행해야 하는 명령이다. 결과 값은 IO핀을 통해 받아온다. 이 때, 낸드 플래시 제어 장치(230)는 상기 리드 스테이터스 명령을 이용하여 내부 동작의 완료 여부도 확인할 수 있다. 예를 들어, 낸드 플래시 제어 장치(230)는 8개의 IO 핀 중 6번 핀을 이용하여 내부 동작 완료를 확인하고, 0번 핀을 이용하여 내부 동작 성공을 확인할 수 있다.
이를 위하여 낸드 플래시 제어 장치(230)는 일 예로, 도 2에 도시된 것과 같이 인터리빙 스케줄러(232) 및 낸드 플래시 모니터(234)를 포함할 수 있다.
인터리빙 스케줄러(232)는 각종 명령어를 지원하는 낸드 플래시(212~218)의 스펙에 맞춰 각 낸드 플래시(212~218)에 대한 제어 신호를 생성하는 것으로서, 다중 웨이 낸드 플래시가 IO 버스를 점유하는 순서를 인터리빙 방식으로 스케줄링할 수 있다.
낸드 플래시 모니터(234)는 기 생성된 타임 테이블을 기초로 리드 스테이터스(Read status) 명령어를 이용하여 낸드 플래시 각각의 상태(내부 동작의 완료 여부)를 확인할 수 있다.
R/B핀이 있는 경우에는 인터럽트 방식을 이용하여 값이 low 에서 high 로 바뀌는 순간 바로 낸드 플래시의 동작 완료를 알 수 있지만, 리드 스테이터스 명령어를 이용할 경우에는 인터럽트 방식을 사용할 수 없기 때문에 다음의 특징을 활용한 폴링 방식을 사용하여 폴링 속도를 최적화할 수 있다.
1. 각 플래시 칩의 내부 동작 시간은 각각 다르다.
2. 각 명령의 평균 속도는 데이터 시트에 제공된다.
3. 어떤 명령의 수행시간은 이전 수행시간과 비슷하다.
낸드 플래시 제어 장치(230)는 위의 특징을 활용하여 다음의 데이터를 이용하여 타임 테이블을 생성하고 이를 참조하여 폴링 방식으로 낸드 플래시의 상태를 읽을 시간을 결정할 수 있다.
1. 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간
2. 명령어에 대한 각 낸드 플래시의 내부 동작 시간
최초의 타임 테이블에는 데이터 시트를 참조한 최소값을 세팅해 놓을 수 있으며, 실제 폴링 시작 시간은 참조하는 시간과 같거나 약간 빠르게 설정될 수 있다. 또한 IO 핀이 다른 낸드 플래시에 의해 점유 중일 시는 상기 타임 테이블을 참조하여 다음 체크할 낸드 플래시의 순서를 결정할 수 있다.
도 3은 본 발명의 일실시예에 있어서, 다중 웨이 낸드 플래시 제어 방법을 나타내는 흐름도이다. 이하, 도 3을 참조하여 다중 웨이 낸드 플래시를 제어하는 방법에 대해 보다 상세히 설명한다.
먼저, R/B 핀 대신 리드 스테이터스 명령어를 사용하여 복수개의 낸드 플래시를 제어할 때의 속도 저하를 최소화하기 위하여, 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 타임 테이블을 생성한다(S310).
그리고, 생성한 타임 테이블을 기초로 폴링 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 리드 스테이터스 명령어를 이용하여 각 낸드 플래시의 내부 동작 완료 여부를 확인한다(S320).
이후, 각 낸드 플래시의 상태가 확인되면 이를 기초로 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정한다(S330). 이 때, 각각의 낸드 플래시가 입출력 버스를 점유할 순서는 인터리빙 방식으로 결정될 수 있다.
따라서, 본 발명에 따른 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법은 R/B 핀 대신 리드 스테이터스 명령어를 이용하여 낸드 플래시 각각의 상태를 확인할 수 있기 때문에 컨트롤러에 필요한 핀의 개수를 확연히 줄일 수 있으므로, 컨트롤러의 설계를 보다 원활하게 할 수 있으면서도 각각의 낸드 플래시를 독립적으로 관찰/제어할 수 있다.
또한, 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성된 타임 테이블을 이용하여 낸드 플래시 각각의 상태를 확인할 시간을 결정하고 이를 기초로 입출력 버스 점유 및 읽기/쓰기에 대해 스케줄링하기 때문에 낸드 플래시 제어 장치의 핀 개수를 줄이고도 속도 저하를 최소화할 수 있다.
일 실시예에 따른 다중 웨이 낸드 플래시 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 복수개의 낸드 플래시(NAND flash)를 제어하는 낸드 플래시 제어 장치에 있어서,
    상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 낸드 플래시 모니터; 및
    상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 스케줄러
    를 포함하는 다중 웨이 낸드 플래시 제어 장치.
  2. 제1항에 있어서,
    상기 낸드 플래시 모니터는,
    기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  3. 제2항에 있어서,
    상기 타임 테이블은,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  4. 제1항에 있어서,
    상기 낸드 플래시 모니터는,
    상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  5. 제1항에 있어서,
    상기 낸드 플래시 모니터는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  6. 제1항에 있어서,
    상기 스케줄러는,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 장치.
  7. 복수개의 낸드 플래시(NAND flash)를 제어하는 방법에 있어서,
    낸드 플래시 제어 장치가 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하는 단계; 및
    상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 단계를 포함하는 다중 웨이 낸드 플래시 제어 방법.
  8. 제7항에 있어서,
    기 생성된 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 단계를 더 포함하는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  9. 제8항에 있어서,
    상기 타임 테이블은,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  10. 제7항에 있어서,
    상기 낸드 플래시 각각의 상태를 확인하는 단계는,
    상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  11. 제7항에 있어서,
    상기 낸드 플래시 각각의 상태를 확인하는 단계는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 복수개의 낸드 플래시 각각의 상태를 확인하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  12. 제7항에 있어서,
    상기 낸드 플래시 각각이 입출력 버스를 점유할 순서를 결정하는 단계는,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 단계인 것을 특징으로 하는 다중 웨이 낸드 플래시 제어 방법.
  13. 복수개의 낸드 플래시;
    상기 낸드 플래시가 수행할 동작에 대한 명령어 및 상기 명령어를 수행할 낸드 플래시의 주소에 대한 정보를 저장하는 레지스터;
    상기 레지스터에 저장되고 상기 낸드 플래시의 내부 동작이 정상적으로 수행되었는지를 체크하는 리드 스테이터스(Read status) 명령어를 이용하여 상기 낸드 플래시 각각의 상태를 확인하고, 상기 확인된 각 낸드 플래시의 상태를 기초로 상기 낸드 플래시 각각이 입출력 버스(Input Output bus)를 점유할 순서를 결정하는 낸드 플래시 컨트롤러; 및
    상기 낸드 플래시와 상기 낸드 플래시 컨트롤러 간에 전송되는 데이터를 임시 저장하는 버퍼
    를 포함하는 낸드 플래시 메모리 장치.
  14. 제13항에 있어서,
    상기 낸드 플래시 컨트롤러는,
    상기 낸드 플래시에 대한 각 명령어의 최소 내부 동작 시간에 대한 정보 및 상기 명령어에 대한 각 낸드 플래시의 내부 동작 시간에 대한 정보를 기초로 생성되는 타임 테이블을 기초로 폴링(polling) 방식으로 상기 낸드 플래시 각각의 상태를 확인할 시간을 결정하는 것을 특징으로 하는 낸드 플래시 메모리 장치.
  15. 제13항에 있어서,
    상기 낸드 플래시 컨트롤러는,
    R/B(Ready/Busy) 핀 대신 상기 리드 스테이터스 명령어를 이용하여 상기 내부 동작의 완료 여부를 확인하고,
    인터리빙(interleaving) 방식으로 상기 각각의 낸드 플래시가 상기 입출력 버스를 점유할 순서를 결정하는 것을 특징으로 하는 낸드 플래시 메모리 장치.
PCT/KR2012/010696 2011-12-23 2012-12-10 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 WO2013094913A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/366,496 US20150006794A1 (en) 2011-12-23 2012-12-10 Apparatus and method for controlling multi-way nand flashes by using input-output pins

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20110141318 2011-12-23
KR10-2011-0141318 2011-12-23
KR1020120091358A KR101366960B1 (ko) 2011-12-23 2012-08-21 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
KR10-2012-0091358 2012-08-21

Publications (1)

Publication Number Publication Date
WO2013094913A1 true WO2013094913A1 (ko) 2013-06-27

Family

ID=48668748

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/010696 WO2013094913A1 (ko) 2011-12-23 2012-12-10 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2013094913A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463217A (zh) * 2020-11-18 2021-03-09 海光信息技术股份有限公司 超标量处理器中寄存器堆共享读端口的系统、方法和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014888A (ja) * 1999-06-28 2001-01-19 Toshiba Corp フラッシュメモリ
JP3190003B2 (ja) * 1994-06-20 2001-07-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 適応ポーリング・システム及び周辺装置を効率的にサポートする方法
KR20060051314A (ko) * 2004-09-21 2006-05-19 가부시끼가이샤 도시바 컨트롤러, 메모리 카드 및 그 제어 방법
KR100764749B1 (ko) * 2006-10-03 2007-10-08 삼성전자주식회사 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법
KR100843546B1 (ko) * 2006-11-21 2008-07-04 삼성전자주식회사 멀티 칩 패키지 플래시 메모리 장치 및 그것의 상태 신호독출 방법
KR20110004651A (ko) * 2009-07-08 2011-01-14 삼성전자주식회사 고체 상태 드라이브 장치 및 그것의 구동 방법
JP2011204312A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリチップおよびメモリシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3190003B2 (ja) * 1994-06-20 2001-07-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 適応ポーリング・システム及び周辺装置を効率的にサポートする方法
JP2001014888A (ja) * 1999-06-28 2001-01-19 Toshiba Corp フラッシュメモリ
KR20060051314A (ko) * 2004-09-21 2006-05-19 가부시끼가이샤 도시바 컨트롤러, 메모리 카드 및 그 제어 방법
KR100764749B1 (ko) * 2006-10-03 2007-10-08 삼성전자주식회사 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법
KR100843546B1 (ko) * 2006-11-21 2008-07-04 삼성전자주식회사 멀티 칩 패키지 플래시 메모리 장치 및 그것의 상태 신호독출 방법
KR20110004651A (ko) * 2009-07-08 2011-01-14 삼성전자주식회사 고체 상태 드라이브 장치 및 그것의 구동 방법
JP2011204312A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリチップおよびメモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463217A (zh) * 2020-11-18 2021-03-09 海光信息技术股份有限公司 超标量处理器中寄存器堆共享读端口的系统、方法和介质
CN112463217B (zh) * 2020-11-18 2022-07-12 海光信息技术股份有限公司 超标量处理器中寄存器堆共享读端口的系统、方法和介质

Similar Documents

Publication Publication Date Title
KR101366960B1 (ko) 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
EP2529308B1 (en) A system and method for read-while-write with nand memory device
CN101939730B (zh) 用于单个i/o操作内的双向数据传输的方法和装置
CN101449262B (zh) 多端口存储器件中的端口间通信
WO2010093114A1 (ko) 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치
JP2009528609A (ja) 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス
CN101939731A (zh) 在i/o处理系统内的控制单元中处理变长设备命令字
US20080109627A1 (en) Nonvolatile Memory Device And Method For Accessing Nonvolatile Memory Device
CN111782154B (zh) 数据搬移方法、装置及系统
JP2012118784A (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
US9792989B2 (en) Memory system including nonvolatile memory
CN107239321B (zh) 一种基于薄虚拟机监控器的usb存储设备安全访问控制方法
JP4373255B2 (ja) ダイレクトメモリアクセス制御装置および方法
CN106168934A (zh) 一种数据传输方法及装置
WO2010107173A1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
WO2013094913A1 (ko) 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
CN104636280A (zh) 用于管道仲裁的电路和方法
CA2370596A1 (en) Systems and methods for a disk controller memory architecture
JPH08106443A (ja) データ処理システム及び並列コンピュータ
CN108984108A (zh) 用于调度io命令的方法与固态存储设备
CN108717402B (zh) 用于可重构处理系统的存储器和可重构处理系统
KR100633120B1 (ko) 저장 매체의 데이터 대역폭 향상 방법 및 이를 위한 장치
US7716392B2 (en) Computer system having an I/O module directly connected to a main storage for DMA transfer
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
KR102242957B1 (ko) 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12860694

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14366496

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12860694

Country of ref document: EP

Kind code of ref document: A1