KR100800484B1 - 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법 - Google Patents

불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법 Download PDF

Info

Publication number
KR100800484B1
KR100800484B1 KR1020060108380A KR20060108380A KR100800484B1 KR 100800484 B1 KR100800484 B1 KR 100800484B1 KR 1020060108380 A KR1020060108380 A KR 1020060108380A KR 20060108380 A KR20060108380 A KR 20060108380A KR 100800484 B1 KR100800484 B1 KR 100800484B1
Authority
KR
South Korea
Prior art keywords
disk
buffer
nonvolatile memory
data
address
Prior art date
Application number
KR1020060108380A
Other languages
English (en)
Inventor
송동현
남혜정
이시윤
황재현
홍성백
최영준
이동기
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060108380A priority Critical patent/KR100800484B1/ko
Priority to US11/644,954 priority patent/US7861032B2/en
Priority to CN2007101848732A priority patent/CN101174198B/zh
Application granted granted Critical
Publication of KR100800484B1 publication Critical patent/KR100800484B1/ko
Priority to US12/949,936 priority patent/US7975099B2/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories

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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를 구비하는 데이터 저장 시스템 및 상기 데이터 저장 시스템의 데이터 억세스 방법이 개시된다. 본 발명에 따른 데이터 저장 시스템은 불휘발성 메모리, 디스크, 불휘발성 메모리 버퍼 및 디스크 버퍼를 구비한다. 불휘발성 메모리는 호스트와 상기 불휘발성 메모리 사이에서 상기 불휘발성 메모리의 일부 영역을 저장한다. 디스크 버퍼는 호스트와 상기 디스크 사이에서 상기 디스크의 일부 영역을 저장한다. 본 발명에 따른 데이터 저장 시스템은, 상기 불휘발성 메모리 버퍼, 상기 불휘발성 메모리, 상기 디스크 버퍼 및 상기 디스크의 순서에 따라, 상기 호스트로부터 수신되는 억세스 어드레스가 어디에 존재하는지 확인한다.

Description

불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를 구비하는 데이터 저장 시스템 및 상기 데이터 저장 시스템의 데이터 억세스 방법{Data store system including the buffer for non-volatile memory and the buffer for disk, and data access method of the data store system}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 데이터 저장 시스템을 나타내는 블록도이다.
도 2는 도 1의 데이터 저장 시스템에서의 데이터 억세스 방법을 나타내는 순서도이다.
본 발명은 데이터 저장 시스템 및 데이터 억세스 방법에 관한 것으로써, 특히 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를 구비하는 데이터 저장 시스템 및 상기 데이터 저장 시스템의 데이터 억세스 방법에 관한 것이다.
불휘발성 메모리와 디스크를 모두 구비하는 종래의 데이터 저장 시스템에서는, 불휘발성 메모리와 디스크가 동일한 버퍼를 공유한다. 종래의 데이터 저장 시 스템에서는, 호스트로부터 독출 명령이 입력되면 독출 명령이 가리키는 독출 어드레스를 찾기 위하여, 버퍼를 먼저 검색한 다음에 불휘발성 메모리와 디스크를 검색한다.
즉, 종래의 데이터 저장 시스템은 독출 어드레스를 찾기 위하여 버퍼를 모두 검색해야 한다. 그러므로, 검색 시간이 증가하고 그에 따라 데이터 독출 시간이 증가하는 문제가 있다. 특히, 불휘발성 메모리에 독출 어드레스가 존재하는 경우(불휘발성 메모리에 히트(hit)되는 경우)에, 데이터 독출 시간이 증가하는 것은 더욱 문제시된다.
본 발명이 이루고자 하는 기술적 과제는 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를 구비하는 데이터 저장 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를 구비하는 데이터 저장 시스템의 데이터 억세스 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 데이터 저장 시스템은 불휘발성 메모리, 디스크, 불휘발성 메모리 버퍼 및 디스크 버퍼를 구비한다. 불휘발성 메모리는 호스트와 상기 불휘발성 메모리 사이에서 상기 불휘발성 메모리의 일부 영역을 저장한다. 디스크 버퍼는 호스트와 상기 디스크 사이에서 상기 디스크의 일부 영역을 저장한다.
본 발명에 따른 데이터 저장 시스템은, 상기 불휘발성 메모리 버퍼, 상기 불휘발성 메모리, 상기 디스크 버퍼 및 상기 디스크의 순서에 따라, 상기 호스트로부터 수신되는 억세스 어드레스가 어디에 존재하는지 확인한다.
본 발명에 따른 데이터 저장 시스템은, 상기 억세스 어드레스가 존재하면 존재하는 어드레스에 대응되는 데이터를 상기 호스트로 반환할 수 있다. 본 발명에 따른 데이터 저장 시스템은, 상기 억세스 어드레스가 어느 곳에도 존재하지 않으면 에러를 발생시킬 수 있다.
상기 불휘발성 메모리 버퍼 및 상기 디스크 버퍼는, 상기 불휘발성 메모리 및 상기 디스크의 일부 영역을 블록 단위로 저장할 수 있다. 상기 불휘발성 메모리 버퍼에 저장되는 블록 개수는, 상기 디스크 버퍼에 저장되는 블록 개수보다 적을 수 있다.
상기 데이터 저장 시스템은, 상기 디스크에 데이터를 저장하는 경우, 상기 데이터가 저장되는 디스크의 어드레스에 대응되는 불휘발성 메모리의 어드레스의 데이터를 삭제할 수 있다.
상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 데이터 억세스 방법은 불휘발성 메모리, 상기 불휘발성 메모리의 내부 저장 영역인 블록을 저장하는 불휘발성 메모리 버퍼, 디스크 및 상기 디스크의 내부 저장 영역인 블록을 저장하는 디스크 버퍼를 구비하는 데이터 저장 시스템의 데이터 억세스 방법이다. 본 발명에 따른 데이터 억세스 방법은 상기 불휘발성 메모리 버퍼, 상기 불휘발성 메모리, 상기 디스크 버퍼 및 상기 디스크의 순서에 따라, 상기 호스트가 요청하는 억 세스 어드레스가 어디에 존재하는지 확인하는 단계를 구비한다.
본 발명의 다른 면에 따른 데이터 억세스 방법은 호스트로부터 수신된 억세스 어드레스가 상기 불휘발성 메모리 버퍼에 존재하는지 확인하는 단계; 상기 억세스 어드레스가 상기 불휘발성 메모리 버퍼에 존재하지 않으면, 상기 억세스 어드레스가 상기 불휘발성 메모리에 존재하는지 확인하는 단계; 상기 억세스 어드레스가 상기 불휘발성 메모리에 존재하지 않으면, 상기 억세스 어드레스가 상기 디스크 버퍼에 존재하는지 확인하는 단계; 및 상기 억세스 어드레스가 상기 디스크 버퍼에 존재하지 않으면, 상기 억세스 어드레스가 상기 디스크에 존재하는지 확인하는 단계를 구비한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 데이터 저장 시스템을 나타내는 블록도이다.
도 1을 참조하면, 본 발명에 따른 데이터 저장 시스템(100)은 불휘발성 메모리(170), 디스크(180), 불휘발성 메모리 버퍼(130) 및 디스크 버퍼(140)를 구비한다. 도 1에는 설명의 편의를 위하여, 호스트(110)를 함께 도시하였다.
불휘발성 메모리 버퍼(130)는 호스트(110)와 불휘발성 메모리(170) 사이에서 불휘발성 메모리(170)의 일부 영역을 저장한다. 디스크 버퍼(140)는 호스트(110)와 디스크(180) 사이에서 디스크(180)의 일부 영역을 저장한다.
좀 더 설명하면, 불휘발성 메모리 버퍼(130)와 디스크 버퍼(140)는 자주 억세스 되는 불휘발성 메모리(170)와 디스크(180)의 일부 영역만을 저장하여 데이터 기입/독출 속도를 빠르게 한다.
본 발명에 따른 데이터 저장 시스템(100)은 불휘발성 메모리 버퍼(130), 불휘발성 메모리(170), 디스크 버퍼(140) 및 디스크(180)의 순서에 따라, 호스트(110)로부터 수신되는 억세스 어드레스가 어디에 존재하는지 확인한다. 본 발명에 따른 데이터 저장 시스템(100)은, 억세스 어드레스가 존재하는 것으로 확인되면, 존재하는 어드레스에 대응되는 데이터를 호스트(110)로 반환할 수 있다. 본 발명에 따른 데이터 저장 시스템(100)은, 억세스 어드레스가 어느 곳에도 존재하지 않으면, 에러를 발생시킬 수 있다.
도 2는 도 1의 데이터 저장 시스템에서의 데이터 억세스 방법을 나타내는 순서도이다.
이하에서 도 1과 도 2를 참조하여 본 발명에 따른 데이터 저장 시스템(100)의 동작이 설명된다.
호스트(110)로부터 특정 어드레스를 요청받으면(210단계), 어드레스가 불휘발성 메모리 버퍼(130)에 존재하는지 확인된다(220단계). 불휘발성 메모리 버퍼(130)에 어드레스가 존재할 경우, 즉 히트(hit)할 경우, 불휘발성 메모리 버퍼(130)는 수신된 어드레스에 해당하는 데이터를 호스트(110)로 반환한다(270단계 ). 불휘발성 메모리 버퍼(130)에 어드레스가 존재하지 않을 경우, 즉 미스(miss)일 경우, 어드레스가 불휘발성 메모리(170)에 존재하는지 확인된다(230단계).
불휘발성 메모리(170)에 어드레스가 존재할 경우, 불휘발성 메모리(170)는 수신된 어드레스에 해당하는 데이터를 호스트(110)로 반환한다(270단계). 불휘발성 메모리(170)에 어드레스가 존재하지 않을 경우, 어드레스가 디스크 버퍼(140)에 존재하는지 확인된다(240단계).
디스크 버퍼(140)에 어드레스가 존재할 경우, 디스크 버퍼(140)는 수신된 어드레스에 해당하는 데이터를 호스트(110)로 반환한다(270단계). 디스크 버퍼(140)에 어드레스가 존재하지 않을 경우, 어드레스가 디스크(180)에 존재하는지 확인된다(250단계).
디스크(180)에 어드레스가 존재할 경우, 디스크(180)는 수신된 어드레스에 해당하는 데이터를 호스트(110)로 반환한다(270단계). 디스크(180)에 어드레스가 존재하지 않을 경우, 에러가 발생된다(260단계).
수학식 1은 본 발명에 따른 데이터 억세스 방법(200)의 데이터 억세스 시간을 나타내고, 수학식 2는 종래의 데이터 억세스 방법의 데이터 억세스 시간을 나타낸다.
T1 = Tfbs + Tx (1)
T2 = Tfbs + Tfs + Tfr + Tx (2)
T3 = Tfbs + Tfs + Tdbs + Tx (3)
T4 = Tfbs + Tfs + Tdbs + Tds + Tdr +Tx (4)
여기에서, T1은 불휘발성 메모리 버퍼(130)에 어드레스가 존재하는 경우, 본 발명에 따른 데이터 억세스 방법(200)의 억세스 시간을 나타낸다. T2는 불휘발성 메모리(170)에 어드레스가 존재하는 경우, T3는 디스크 버퍼(140)에 어드레스가 존재하는 경우, T4는 디스크(180)에 어드레스가 존재하는 경우의 억세스 시간을 나타낸다. 또한, Tx는 호스트와의 통신 시간, Tfbs는 불휘발성 메모리 버퍼(130)의 검색 시간, Tfs는 불휘발성 메모리(170)의 검색 시간, Tfr은 불휘발성 메모리(170)의 데이터 억세스 시간, Tdbs는 디스크 버퍼(140)의 검색 시간, Tds는 디스크(180)의 검색 시간, Tdr은 디스크(180)의 데이터 억세스 시간을 나타낸다.
T5 = Tbs (= Tfbs + Tdbs) + Tx (1)
T6 = Tbs + Tfs + Tfr + Tx (2)
T7 = Tbs + Tfs + Tds + Tdr + Tx (3)
여기에서, T5는 종래의 버퍼에 어드레스가 존재하는 경우, 종래의 데이터 억세스 방법의 억세스 시간을 나타낸다. T6은 불휘발성 메모리에 어드레스가 존재하는 경우, T7은 디스크 버퍼에 어드레스가 존재하는 경우의 억세스 시간을 나타낸다. 또한, Tx는 호스트와의 통신 시간, Tbs는 버퍼의 검색 시간, Tfs는 불휘발성 메모리의 검색 시간, Tfr은 불휘발성 메모리의 데이터 억세스 시간, Tds는 디스크의 검색 시간, Tdr은 디스크의 데이터 억세스 시간을 나타낸다.
수학식 1과 수학식2를 참조하여, 본 발명에 따른 데이터 억세스 방법(200)과 종래의 데이터 억세스 방법을 비교하면, 불휘발성 메모리 버퍼(130) 또는 불휘발성 메모리(170)에 어드레스가 존재하는 경우, T1 < T5 또는 T2 < T5인 것을 알 수 있다.
본 발명에 따른 데이터 저장 시스템(100)에서, 불휘발성 메모리 버퍼(130) 및 디스크 버퍼(140)는 불휘발성 메모리(170) 및 디스크(180)의 일부 영역을 블록 단위로 저장할 수 있다. 이 경우 블록단위로 기입/독출 동작을 수행한다. 불휘발성 메모리 버퍼(130)에 저장되는 블록 개수는, 디스크 버퍼(140)에 저장되는 블록 개수보다 적을 수 있다. 예를 들어, 본 발명에 따른 데이터 저장 시스템(100)에서는, 디스크 버퍼(140)의 블록 개수는 최대로 하고, 불휘발성 메모리 버퍼(130)의 블록 개수는 10개 미만으로 할 수 있다. 또한, 불휘발성 메모리 버퍼(130)의 블록 개수를 디스크 버퍼(140)의 블록 개수의 3~5%로 할 수 있다.
본 발명에 따른 데이터 저장 시스템(100)은 디스크(180)에 데이터를 저장하는 경우, 데이터가 저장되는 디스크(180)의 어드레스에 대응되는 불휘발성 메모리(170)의 어드레스의 데이터를 삭제할 수 있다. 그에 따라, 불휘발성 메모리(170)와 디스크(180)의 데이터 중에서, 최신의 데이터는 불휘발성 메모리(170)에 유지된다. 또한, 디스크(180)의 데이터가 최신인 경우에는, 불휘발성 메모리(170)에 상기 데이터는 존재하지 않는다. 즉, 불휘발성 메모리(170)의 데이터가 디스크(180)의 데이터보다 최신인 것을 보장할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 데이터 저장 시스템 및 데이터 억세스 방법은 데이터 억세스 시간을 줄일 수 있는 장점이 있다.

Claims (14)

  1. 불휘발성 메모리;
    디스크;
    호스트와 상기 불휘발성 메모리 사이에서 상기 불휘발성 메모리의 일부 영역을 저장하는 불휘발성 메모리 버퍼; 및
    호스트와 상기 디스크 사이에서 상기 디스크의 일부 영역을 저장하는 디스크 버퍼를 구비하는 것을 특징으로 하는 데이터 저장 시스템.
  2. 제1항에 있어서, 상기 데이터 저장 시스템은,
    상기 불휘발성 메모리 버퍼, 상기 불휘발성 메모리, 상기 디스크 버퍼 및 상기 디스크의 순서에 따라, 상기 호스트로부터 수신되는 억세스 어드레스가 어디에 존재하는지 확인하는 것을 특징으로 하는 데이터 저장 시스템.
  3. 제2항에 있어서, 상기 데이터 저장 시스템은,
    상기 억세스 어드레스가 존재하면, 존재하는 어드레스에 대응되는 데이터를 상기 호스트로 반환하는 것을 특징으로 하는 데이터 저장 시스템.
  4. 제3항에 있어서, 상기 데이터 저장 시스템은,
    상기 억세스 어드레스가 어느 곳에도 존재하지 않으면, 에러를 발생시키는 것을 특징으로 하는 데이터 저장 시스템.
  5. 제1항에 있어서, 상기 불휘발성 메모리 버퍼 및 상기 디스크 버퍼는,
    상기 불휘발성 메모리 및 상기 디스크의 일부 영역을 블록 단위로 저장하는 것을 특징으로 하는 데이터 저장 시스템.
  6. 제5항에 있어서, 상기 불휘발성 메모리 버퍼에 저장되는 블록 개수는,
    상기 디스크 버퍼에 저장되는 블록 개수보다 적은 것을 특징으로 하는 데이터 저장 시스템.
  7. 제1항에 있어서, 상기 데이터 저장 시스템은,
    상기 디스크에 데이터를 저장하는 경우, 상기 데이터가 저장되는 디스크의 어드레스에 대응되는 불휘발성 메모리의 어드레스의 데이터를 삭제하는 것을 특징으로 하는 데이터 저장 시스템.
  8. 불휘발성 메모리, 상기 불휘발성 메모리의 내부 저장 영역인 블록을 저장하는 불휘발성 메모리 버퍼, 디스크 및 상기 디스크의 내부 저장 영역인 블록을 저장하는 디스크 버퍼를 구비하는 데이터 저장 시스템의 데이터 억세스 방법에 있어서,
    상기 불휘발성 메모리 버퍼, 상기 불휘발성 메모리, 상기 디스크 버퍼 및 상기 디스크의 순서에 따라, 상기 호스트가 요청하는 억세스 어드레스가 어디에 존재 하는지 확인하는 단계를 구비하는 것을 특징으로 하는 데이터 억세스 방법.
  9. 제8항에 있어서, 상기 데이터 억세스 방법은,
    상기 억세스 어드레스가 존재하면, 존재하는 어드레스에 대응되는 데이터를 상기 호스트로 반환하는 것을 특징으로 하는 데이터 억세스 방법.
  10. 제9항에 있어서, 상기 데이터 억세스 방법은,
    상기 억세스 어드레스가 어느 곳에도 존재하지 않으면, 에러를 발생시키는 것을 특징으로 하는 데이터 억세스 방법.
  11. 제8항에 있어서, 상기 데이터 억세스 방법은,
    상기 호스트로부터 상기 억세스 어드레스를 수신하는 단계를 더 구비하는 것을 특징으로 하는 데이터 억세스 방법.
  12. 불휘발성 메모리, 상기 불휘발성 메모리의 내부 저장 영역인 블록을 저장하는 불휘발성 메모리 버퍼, 디스크 및 상기 디스크의 내부 저장 영역인 블록을 저장하는 디스크 버퍼를 구비하는 데이터 저장 시스템의 데이터 억세스 방법에 있어서,
    호스트로부터 수신된 억세스 어드레스가 상기 불휘발성 메모리 버퍼에 존재하는지 확인하는 단계;
    상기 억세스 어드레스가 상기 불휘발성 메모리 버퍼에 존재하지 않으면, 상 기 억세스 어드레스가 상기 불휘발성 메모리에 존재하는지 확인하는 단계;
    상기 억세스 어드레스가 상기 불휘발성 메모리에 존재하지 않으면, 상기 억세스 어드레스가 상기 디스크 버퍼에 존재하는지 확인하는 단계; 및
    상기 억세스 어드레스가 상기 디스크 버퍼에 존재하지 않으면, 상기 억세스 어드레스가 상기 디스크에 존재하는지 확인하는 단계를 구비하는 것을 특징으로 하는 데이터 억세스 방법.
  13. 제12항에 있어서, 상기 데이터 억세스 방법은,
    상기 억세스 어드레스가 존재하면, 존재하는 어드레스에 대응되는 데이터를 상기 호스트로 반환하는 것을 특징으로 하는 데이터 억세스 방법.
  14. 제12항에 있어서, 상기 데이터 억세스 방법은,
    상기 억세스 어드레스가 상기 디스크 버퍼에 존재하지 않으면, 에러를 발생시키는 단계를 더 구비하는 것을 특징으로 하는 데이터 억세스 방법.
KR1020060108380A 2006-11-03 2006-11-03 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법 KR100800484B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020060108380A KR100800484B1 (ko) 2006-11-03 2006-11-03 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법
US11/644,954 US7861032B2 (en) 2006-11-03 2006-12-26 Data storage system including respective buffers for non-volatile memory and disc recording medium, and data access method thereof
CN2007101848732A CN101174198B (zh) 2006-11-03 2007-10-30 数据存储***及其数据存取方法
US12/949,936 US7975099B2 (en) 2006-11-03 2010-11-19 Data storage system including respective buffers for non-volatile memory and disc recording medium, and data access method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060108380A KR100800484B1 (ko) 2006-11-03 2006-11-03 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법

Publications (1)

Publication Number Publication Date
KR100800484B1 true KR100800484B1 (ko) 2008-02-04

Family

ID=39342172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060108380A KR100800484B1 (ko) 2006-11-03 2006-11-03 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법

Country Status (3)

Country Link
US (2) US7861032B2 (ko)
KR (1) KR100800484B1 (ko)
CN (1) CN101174198B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423865B2 (en) 2009-11-18 2013-04-16 Samsung Electronics Co., Ltd. Apparatus and method for storing data using non-volatile buffer

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850151B2 (en) 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree
WO2014203028A1 (en) * 2013-06-17 2014-12-24 Freescale Semiconductor, Inc. Diagnostic apparatus, control unit, integrated circuit, vehicle and method of recording diagnostic data
EP3286640A4 (en) * 2015-04-24 2019-07-10 Optimum Semiconductor Technologies, Inc. COMPUTER PROCESSOR HAVING SEPARATE RECORDS FOR ADDRESSING A MEMORY
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10691580B1 (en) * 2017-11-29 2020-06-23 Xilinx, Inc. Diagnosing applications that use hardware acceleration through emulation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097272A (ko) * 2002-04-05 2004-11-17 가부시끼가이샤 르네사스 테크놀로지 불휘발성 기억장치
KR20050078206A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
JP3397152B2 (ja) * 1998-12-15 2003-04-14 松下電器産業株式会社 マルチトラックディスク再生装置及びその再生方法
US6378051B1 (en) * 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
KR100498486B1 (ko) 2003-02-06 2005-07-01 삼성전자주식회사 쓰레드 바이너리 컴파일러에 의하여 프로그램에서 여러개의 쓰레드를 다이내믹하게 추출하는 컴퓨터 시스템 및그 동시 다중 쓰레딩 방법
JP2006244123A (ja) * 2005-03-03 2006-09-14 Fujitsu Ltd データストレージシステム及びデータストレージ制御装置
US7411757B2 (en) * 2006-07-27 2008-08-12 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory having multiple modes of operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040097272A (ko) * 2002-04-05 2004-11-17 가부시끼가이샤 르네사스 테크놀로지 불휘발성 기억장치
KR20050078206A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423865B2 (en) 2009-11-18 2013-04-16 Samsung Electronics Co., Ltd. Apparatus and method for storing data using non-volatile buffer

Also Published As

Publication number Publication date
US20080126694A1 (en) 2008-05-29
US7975099B2 (en) 2011-07-05
CN101174198B (zh) 2011-11-30
US7861032B2 (en) 2010-12-28
CN101174198A (zh) 2008-05-07
US20110066800A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
KR100800484B1 (ko) 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법
KR102506392B1 (ko) 하이브리드 메모리에서 쓰기 및 플러시 지원을 위한 시스템 및 방법
US7127551B2 (en) Flash memory management method
US11782826B2 (en) Security check systems and methods for memory allocations
US7373452B2 (en) Controller for controlling nonvolatile memory
US8180955B2 (en) Computing systems and methods for managing flash memory device
US8583879B2 (en) Data storage device, storing medium access method and storing medium thereof
CN100424657C (zh) 转换后备缓冲器的惰性转储清除
US20180232310A1 (en) Mitigating dram cache metadata access overhead with sram metadata cache and bloom filter
US7516296B2 (en) Flash memory storage device and read/write method
US8661190B2 (en) Flash memory device and data access method thereof
CN108459826A (zh) 一种处理io请求的方法及装置
US11232037B2 (en) Using a first-in-first-out (FIFO) wraparound address lookup table (ALT) to manage cached data
CN105159622A (zh) 一种减小ssd读写io时延的方法与***
EP2275939A1 (en) Processor and address translating method
CN102859504B (zh) 复制数据的方法和***以及获得数据副本的方法
US20170160940A1 (en) Data processing method and apparatus of solid state disk
US20090027796A1 (en) Information recording device and control method therefor
US20210365378A1 (en) Method of cache prefetching that increases the hit rate of a next faster cache
KR100833178B1 (ko) 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법
CN113377684B (zh) 数据写入***与方法
US8341378B2 (en) Data storage device and data access method
US20080120464A1 (en) Apparatus and method for managing data
US20160246523A1 (en) System for providing virtual block device
US8391122B2 (en) System and method for enabling efficient small writes to worm storage

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 13