KR100578143B1 - 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 - Google Patents

버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템

Info

Publication number
KR100578143B1
KR100578143B1 KR1020040109826A KR20040109826A KR100578143B1 KR 100578143 B1 KR100578143 B1 KR 100578143B1 KR 1020040109826 A KR1020040109826 A KR 1020040109826A KR 20040109826 A KR20040109826 A KR 20040109826A KR 100578143 B1 KR100578143 B1 KR 100578143B1
Authority
KR
South Korea
Prior art keywords
data
storage medium
temporarily stored
stored data
buffer memory
Prior art date
Application number
KR1020040109826A
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 KR1020040109826A priority Critical patent/KR100578143B1/ko
Priority to US11/230,994 priority patent/US7802054B2/en
Priority to CN2005101316125A priority patent/CN1821977B/zh
Priority to JP2005365508A priority patent/JP5420814B2/ja
Priority to DE102005063250A priority patent/DE102005063250A1/de
Priority to TW094145485A priority patent/TWI298167B/zh
Application granted granted Critical
Publication of KR100578143B1 publication Critical patent/KR100578143B1/ko
Priority to US11/673,228 priority patent/US20070130442A1/en
Priority to US12/775,767 priority patent/US8122193B2/en
Priority to US12/860,961 priority patent/US8051258B2/en
Priority to US13/365,485 priority patent/US8533391B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/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]
    • 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/0625Power saving in storage 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

여기에 제시되는 저장 시스템은 데이터를 저장하는 저장 매체와; 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리와; 그리고 외부로부터 쓰기 되물리기 정보가 입력될 때, 상기 임시 저장된 데이터를 상기 저장 매체로 옮겨쓰는 작업을 무효화시키는 제어 장치를 포함한다.

Description

버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는 저장 시스템 및 그것을 포함한 컴퓨팅 시스템{STORAGE SYSTEM WITH SCHEME CAPABLE OF INVALIDATING DATA STORED IN BUFFER MEMORY AND COMPUTING SYSTEM INCLUDING THE SAME}
도 1은 일반적인 저장 시스템을 포함한 컴퓨팅 시스템을 개략적으로 보여주는 블록도;
도 2는 도 1에 도시된 컴퓨팅 시스템의 파일 관리 체계를 설명하기 위한 도면;
도 3은 본 발명에 따른 저장 시스템을 포함한 컴퓨팅 시스템을 개략적으로 보여주는 블록도;
도 4a 및 도 4b는 도 3에 도시된 제어 회로의 사상 테이블을 보여주는 도면들;
도 5는 본 발명에 따른 컴퓨팅 시스템의 저장 시스템에 저장된 데이터를 관리하는 방법을 설명하기 위한 흐름도; 그리고
도 6a 내지 도 6c는 본 발명에 따른 컴퓨팅 시스템의 저장 시스템에서 버퍼 메모리에 저장된 데이터의 유효 정보에 따른 저장 매체로의 쓰기 동작을 설명하기 위한 도면들이다.
* 도면의 주요 부분에 대한 부호 설명 *
100 : 호스트 시스템 110 : 중앙 처리 장치
120 : 메인 메모리 200 : 저장 시스템
220 : 저장 매체 240 : 버퍼 메모리
260 : 제어 회로
본 발명은 컴퓨팅 시스템에 관한 것으로, 좀 더 구체적으로는 버퍼 메모리에 저장된 데이터를 무효화시킬 수 있는 저장 시스템을 갖는 컴퓨팅 시스템에 관한 것이다.
도 1은 일반적인 컴퓨팅 시스템을 개략적으로 보여주는 블록도이다. 도 1을 참조하면, 컴퓨팅 시스템은 호스트 (또는 호스트 시스템) (10) 및 저장 장치 (20)를 포함한다. 호스트 (10)에는, 비록 도면에는 도시되지 않았지만, 중앙처리장치 및 메인 메모리가 제공될 것이다. 저장 장치 (20)는 SCSI, ESDI, 또는 IDE 인터페이스와 같은 표준 인터페이스 (standardized interface)에 의해서 호스트 (10)에 연결된다. 저장 장치 (20)는 저장 매체 (예를 들면, 하드 디스크 또는 플래시 메모리) (22), 버퍼 메모리 (24), 그리고 컨트롤러 (26)로 구성된다. 컨트롤러 (26)는 잘 알려진 인터페이스 메카니즘을 통해 저장 매체 (22) 및 버퍼 메모리 (24)에 연결되어 있다. 버퍼 메모리 (24)는 SRAM 또는 DRAM과 같은 메모리로 구성되며, 호스 트 (10)의 저장 장치 (20)에 대한 쓰기 성능을 높이기 위해서 사용된다.
도 2는 도 1에 도시된 컴퓨팅 시스템의 파일 처리 과정을 개략적으로 보여주는 도면이다. 호스트 (10)와 같은 상위 레벨에서 응용 프로그램이 실행될 때, 응용 프로그램에 의해서 생성된 파일(들)은 파일 시스템 (예를 들면, FAT file system)에 의해서 관리된다. 응용 프로그램에 의해서 생성된 파일에 데이터가 쓰여지면, 호스트 (10)에 있는 중앙처리장치의 제어에 따라 파일에 쓰여진 새로운 데이터는 필요에 따라 저장 장치 (20)와 같은 하위 레벨로 전송된다. 전송된 데이터는 저장 장치 (20)의 버퍼 메모리 (24)에 임시 저장된다. 또한, 호스트 (10)에 의해서 요청된 파일의 데이터는 버퍼 메모리 (24)를 통해 또는 직접 저장 매체 (22)에서 호스트 (10)의 메인 메모리로 전송된다. 호스트 (10)에 의해서 요청된 파일의 데이터가 버퍼 메모리 (24)를 통해 저장 매체 (22)에서 호스트 (10)의 메인 메모리로 전송되는 경우, 호스트 (10)에 의해서 요청된 파일의 데이터는 버퍼 메모리 (24)에 임시 저장될 수도 있다.
버퍼 메모리 (24)의 용량이, 잘 알려진 바와 같이, 저장 매체 (22)에 비해 작기 때문에, 호스트 (10)에서 전달되는 모든 데이터를 버퍼 메모리 (24)에 저장하는 것은 불가능하다. 그러한 까닭에, 버퍼 메모리 (24)에 임시 저장된 데이터는 컨트롤러 (26)의 제어에 따라 어느 시점에 가면 저장 매체 (22)로 이동된다. 저장 매체 (22)로의 데이터 이동은, 일반적으로, 호스트 (10)의 개입없이 컨트롤러 (26)에 의해서 자동적으로 수행된다. 예를 들면, 버퍼 메모리 (24)에 임시 저장된 데이터는 새로운 데이터 쓰기 요청에 따라 버퍼 메모리 (24)의 여유 공간이 부족할 때 또 는 호스트에서 요청이 없을 때 발생하는 컨트롤러 (26)의 유휴 시간을 이용하여 호스트 (10)의 개입없이 컨트롤러 (26)의 제어에 따라 저장 매체 (22)로 자동적으로 이동된다.
호스트 (10)의 개입없이 컨트롤러 (26)에 의해서 저장 매체 (22)로의 쓰기 동작 (또는 옮겨쓰기 동작)이 제어되는 스킴을 갖는 컴퓨팅 시스템은 다음과 같은 문제점을 갖는다. 호스트 (10)의 응용 프로그램에 의해서 처리되는 파일의 데이터가 상위 레벨에서 삭제되었을 경우, 파일 시스템에 의해서 데이터 파일은 삭제된 파일로 처리된다. 비록 상위 레벨의 호스트 (10)에서 데이터 파일이 삭제되더라도, 삭제된 파일의 데이터는 버퍼 메모리 (24)에 저장되어 있을 수 있다. 버퍼 메모리 (24)에 임시 저장된 파일 데이터는 새로운 데이터 쓰기 요청에 따라 버퍼 메모리 (24)의 여유 공간이 부족할 때 또는 호스트에서 요청이 없을 때 발생하는 컨트롤러 (26)의 유휴 시간을 이용하여 호스트 (10)의 개입없이 컨트롤러 (26)의 제어에 따라 저장 매체 (22)에 저장된다. 즉, 버퍼 메모리 (24)에 임시 저장된 데이터는 상위 레벨에서 삭제된 파일의 유효하지 않은 데이터임에도 불구하고, 컨트롤러 (26)가 버퍼 메모리 (24)에 저장된 데이터의 유효성을 판단할 수 없기 때문에 버퍼 메모리 (24)에 저장된 유효하지 않은 데이터는 불필요하게 저장 매체 (22)에 쓰여진다. 이는 저장 장치 (20)의 쓰기 성능이 저하되게 할 뿐만 저장 장치 (20)의 수명이 단축되게 한다. 또한, 불필요한 쓰기 동작에 따라 불필요하게 전력이 소모될 수 있다.
본 발명의 목적은 버퍼 메모리에 저장된 데이터를 무효화시킬 수 있는 저장 시스템 및 그것을 포함한 컴퓨팅 시스템을 제공하는 것이다.
본 발명의 다른 목적은 버퍼 메모리에 저장된 데이터의 불필요한 쓰기 동작을 방지할 수 있는 저장 시스템 및 그것을 포함한 컴퓨팅 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 상위 레벨에서 제공되는 버퍼 메모리에 저장된 데이터의 유효/무효 정보를 참조하여 버퍼 메모리의 무효 데이터의 쓰기 동작을 제어할 수 있는 저장 시스템 및 그것을 포함한 컴퓨팅 시스템을 제공하는 것이다.
상술한 제반 목적을 달성하기 위한 본 발명의 특징에 따르면, 저장 시스템은 데이터를 저장하는 저장 매체와; 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리와; 그리고 외부로부터 쓰기 되물리기 정보가 입력될 때, 상기 임시 저장된 데이터를 무효화시키는 제어 장치를 포함한다. 여기서, 저장 시스템은 드라이브 장치를 포함한다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 무효화될 때, 상기 임시 저장된 데이터는 상기 저장 매체로 쓰여지지 않는다.
예시적인 실시예에 있어서, 상기 쓰기 되물리기 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타낸다.
예시적인 실시예에 있어서, 상기 제어 장치는 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되며, 상기 임시 저장된 데이터에 대한 상기 쓰기 되물리기 정보의 입력시 상기 쓰기 상태 정보를 갱신한다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체로 쓰여지는 것을 금지시킨다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 한다.
예시적인 실시예에 있어서, 상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 플래시 메모리 중 어느 하나이다.
예시적인 실시예에 있어서, 상기 버퍼 메모리에 임시 저장된 데이터의 일부에 대한 쓰기 되물리기 정보가 입력될 때, 상기 제어 장치는 상기 저장 매체에 쓰여지지 않도록 상기 일부 데이터를 무효화시킨다.
본 발명의 다른 특징에 따르면, 저장 시스템은 데이터를 저장하는 저장 매체와; 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리와; 그리고 상기 버퍼 메모리 및 상기 저장 매체를 제어하며, 외부로부터 제공되는 상기 버퍼 메모리의 저장 데이터의 무효 정보에 응답하여 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되는 제어 장치를 포함한다.
예시적인 실시예에 있어서, 상기 제어 장치는 상기 버퍼 메모리에 임시 저장 된 데이터의 전부 또는 일부가 상기 쓰기 상태 정보에 따라 상기 저장 매체에 선택적으로 쓰여지도록 상기 버퍼 메모리 및 상기 저장 매체를 제어한다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터의 쓰기 상태 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었는 지의 여부를 나타낸다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시킨다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 한다.
예시적인 실시예에 있어서, 상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 플래시 메모리 중 어느 하나이다.
예시적인 실시예에 있어서, 상기 쓰기 상태 정보는 상기 임시 저장된 데이터가 유효한 데이터인 지의 여부를 나타낸다.
본 발명의 또 다른 특징에 따르면, 컴퓨팅 시스템은 데이터를 저장하는 저장 매체와 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리를 포함하는 저장 시스템과; 그리고 상기 저장 시스템으로부터/으로 전송된/전송될 데이터를 처 리하도록 구성된 호스트 시스템을 포함하며, 상기 호스트 시스템은 상기 저장 시스템으로 전송된 데이터가 상기 호스트 시스템 내에서 삭제될 때 쓰기 되물리기 정보를 상기 저장 시스템에 전송하도록 구성되며; 상기 저장 시스템은 상기 쓰기 되물리기 정보가 입력될 때 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성된다.
예시적인 실시예에 있어서, 상기 쓰기 되물리기 명령이 입력될 때, 상기 저장 시스템은 상기 임시 저장된 데이터가 상기 저장 매체로 쓰여지지 않도록 상기 임시 저장된 데이터를 무효화시키도록 구성된다.
예시적인 실시예에 있어서, 상기 저장 시스템은 상기 쓰기 되물리기 명령이 입력될 때, 상기 버퍼 메모리에 임시 저장된 데이터가 상기 저장 매체로 쓰여지지 않도록 상기 임시 저장된 데이터를 무효화시키는 제어 장치가 더 제공된다.
예시적인 실시예에 있어서, 상기 제어 장치는 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되며, 상기 임시 저장된 데이터에 대한 쓰기 되물리기 명령의 입력시 상기 쓰기 상태 정보를 갱신한다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 호스트 시스템에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시킨다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 호스트 시스템에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 한다.
예시적인 실시예에 있어서, 상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 플래시 메모리 중 어느 하나이다.
예시적인 실시예에 있어서, 상기 쓰기 상태 정보는 상기 임시 저장된 데이터가 유효한 데이터인 지의 여부를 나타낸다.
본 발명의 또 다른 특징에 따르면, 데이터를 저장하는 저장 매체와 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리를 포함하는 저장 시스템의 데이터 관리 방법이 제공된다. 이 방법은 상기 버퍼 메모리에 저장된 데이터와 관련된 쓰기 되물리기 정보가 외부로부터 인가되었는 지의 여부를 판별하는 단계와; 그리고 상기 쓰기 되물리기 정보가 입력될 때 상기 임시 저장된 데이터의 전부 또는 일부를 무효화시키는 단계를 포함한다. 상기 임시 저장된 데이터가 무효화될 때, 상기 임시 저장된 데이터는 상기 저장 매체로 쓰여지지 않는다. 상기 쓰기 되물리기 정보가 입력되더라도, 상기 임시 저장된 데이터의 무효화는 선택적으로 행해진다.
예시적인 실시예에 있어서, 상기 쓰기 되물리기 명령은 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타낸다.
예시적인 실시예에 있어서, 상기 무효화 단계는 상기 임시 저장된 데이터의 쓰기 상태 정보를 구성하는 단계와; 그리고 상기 임시 저장된 데이터에 대한 쓰기 되물리기 명령의 입력시 상기 쓰기 상태 정보를 갱신하는 단계를 포함한다.
예시적인 실시예에 있어서, 상기 무효화 단계는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시키는 단계를 더 포함한다.
예시적인 실시예에 있어서, 상기 무효화 단계는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따르면, 데이터를 저장하는 저장 매체를 포함하는 저장 시스템은 상기 저장 매체에 쓰여질 데이터를 저장하는 버퍼 메모리와; 그리고 상기 저장 시스템의 외부로부터 제공되며 상기 버퍼 메모리에 저장된 데이터와 관련된 무효 정보를 참조하여 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부가 상기 저장 매체에 쓰여지지 않도록 상기 저장 매체 및 상기 버퍼 메모리를 제어하는 제어 장치를 포함한다.
예시적인 실시예에 있어서, 상기 무효 정보는 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타낸다.
예시적인 실시예에 있어서, 상기 무효 정보는 상기 삭제된 데이터의 어드레스 및 데이터 크기 정보와 쓰기 되물리기 명령을 포함한다.
예시적인 실시예에 있어서, 상기 무효 정보가 입력될 때, 상기 제어 장치는 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부의 쓰기 상태 정보를 구성한다.
예시적인 실시예에 있어서, 상기 제어 장치는 상기 버퍼 메모리에 임시 저장된 데이터의 전부 또는 일부가 상기 쓰기 상태 정보에 따라 상기 저장 매체에 선택적으로 쓰여지도록 상기 버퍼 메모리 및 상기 저장 매체를 제어한다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터의 쓰기 상태 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었는 지의 여부를 나타낸다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시킨다.
예시적인 실시예에 있어서, 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 한다.
예시적인 실시예에 있어서, 상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 플래시 메모리 중 어느 하나이다.
본 발명의 예시적인 실시예들이 참조 도면들에 의거하여 이하 상세히 설명될 것이다. 본 명세서에 있어서, 저장 시스템의 버퍼 메모리에서 저장 매체로 데이터 가 옮겨지는 것을 무효화시키기 위해서 저장 시스템의 외부에서 입력되는 명령/정보는 "쓰기 되물리기 (unwrite) 명령 (또는 정보나 요청)라 칭한다. 또한, 저장 시스템의 버퍼 메모리에서 저장 매체로 데이터가 옮겨지는 동작은 "옮겨쓰기(transcribe) 동작" 또는 "쓸어내리기(flushing) 동작"로 불리며, 바람직하게 "옮겨쓰기 동작"이라 칭한다.
도 3은 본 발명에 따른 컴퓨팅 시스템을 개략적으로 보여주는 블록도이다. 도 3을 참조하면, 본 발명에 따른 컴퓨팅 시스템 (1000)은 호스트 시스템 (100)과 저장 시스템 (또는 저장 장치) (200)을 포함하며, 호스트 시스템 (100)과 저장 시스템 (200)은 USB, SCSI, ESDI, 또는 IDE 인터페이스와 같은 표준 인터페이스 (standardized interface)에 의해서 연결된다. 하지만, 호스트 시스템 (100)과 저장 시스템 (200)을 연결하기 위한 인터페이스 방식이 이에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 호스트 시스템 (100)은 중앙처리장치 (도면에는 "CPU"로 표기됨) (110)와 메모리 (120)를 포함하며, 메모리 (120)의 적어도 일부분은 호스트 시스템 (100)의 메인 메모리를 포함한다. 또는, 메모리 (200)는 호스트 시스템 (100)의 메인 메모리를 구성한다. 응용 프로그램 (121) 및 파일 시스템 (122)이 메모리 (120) 내에 각각 제공된다. 파일 시스템 (122)은 파일 할당 테이블 (file allocation table: FAT) 파일 시스템을 포함하는 모든 파일 시스템들을 포함한다. 하지만, 파일 시스템이 이에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 본 발명에 따른 호스트 시스템 (100)의 경우, 응용 프로그램 (121)에 의해서 처리되는 파일의 데이터 전부를 삭제될 때, 또 는 응용 프로그램 (121)에 의해서 처리되는 파일의 일부 데이터가 삭제될 때, 호스트 시스템 (100)의 중앙처리장치 (110)는 특정 명령 (이하, 쓰기 되물리기 명령이라 칭함)을 저장 시스템 (200)으로 출력한다. 예시적인 실시예에 있어서, 특정 명령과 함께 삭제된 데이터를 지정하기 위한 어드레스 정보 및 데이터 크기 정보가 저장 시스템 (200)으로 전송될 수 있다.
잘 알려진 바와 같이, FAT 파일 시스템은, 도 2에 도시된 바와 같이, 마스터 부트 리코드 (master boot record: MBR), 파티션 부트 리코드 (partition boot record: PBR), 제 1 및 제 2 파일 할당 테이블들 (primary FAT, copy FAT), 그리고 루트 디렉토리를 포함한다. 저장 시스템 (200)에 저장된/저장될 파일은 2가지의 정보를 사용하여 확인될 수 있다. 그 정보는 파일의 파일명과 파일이 저장된 곳에 도달하기 위해 통과하는 디렉토리 트리의 경로이다. 하나의 디렉토리에서 각 엔트리는, 예를 들면, 32-바이트 길이를 가지며, 파일명, 확장자, 파일 속성 바이트, 최종적으로 변경된 날짜/시간, 파일 크기, 그리고 시동 클러스터로의 연결 등과 같은 정보를 저장하고 있다. 특히, 파일명에 있어서, 삭제된 파일을 가리키기 위한 파일명의 첫 문자로 하나의 특수한 코드가 사용된다. 예를 들면, 파일명의 첫 글자의 자리에 십육진수 바이트 코드인 E5h를 위치시킨다. 이것은 하나의 특별한 꼬리표로서, '이 파일은 삭제되었습니다'라는 것을 시스템에 말해준다. 임의의 파일이 삭제될 때, 중앙처리장치 (110)는 삭제된 파일의 파일명의 첫 문자에 하나의 특수한 코드를 위치시킴과 아울러 삭제된 파일에 대응하는 쓰기 되물리기 명령 (또는 삭제된 파일 데이터에 대한 무효 정보)을 저장 시스템 (200)으로 출력한다.
계속해서 도 3을 참조하면, 저장 시스템 (200)은 저장 매체 (220), 버퍼 메모리 (240), 그리고 제어 장치 (260)를 포함한다. 본 발명에 따른 저장 시스템 (200)은, 외부로부터 무효 정보 (예를 들면, 쓰기 되물리기 명령, 저장 시스템의 상위 레벨에서 삭제된 파일 데이터의 어드레스 정보, 그리고 삭제된 데이터의 크기 정보를 포함함)가 입력될 때, 버퍼 메모리 (220)의 데이터 (저장 시스템의 상위 레벨에서 이미 삭제된 데이터를 나타냄)가 저장 매체 (260)에 쓰여지는 것을 방지하도록 구성된다. 이는 이후 상세히 설명될 것이다.
저장 시스템 (200)의 저장 매체 (220)는 데이터 (문서 데이터, 영상 데이터, 음악 데이터, 그리고 프로그램과 같은 저장 가능한 모든 형식의 데이터를 포함함)를 저장하기 위한 것으로, 마크네틱 디스크 또는 플래시 메모리와 같은 불 휘발성 반도체 메모리로 구성될 수 있다. 하지만, 저장 매체 (220)가 여기에 개시된 것에 제한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
계속해서, 버퍼 메모리 (240)는 호스트 시스템 (100)과 저장 매체 (220) 사이의 원활한 데이터 전송을 위해 사용되며, DRAM 또는 SRAM과 같은 고속 휘발성 메모리 또는 MRAM, PRAM, FRAM, NAND형 플래시 메모리, 또는 NOR형 플래시 메모리 장치와 같은 불 휘발성 메모리로 구성될 수 있다. 버퍼 메모리 (240)는 쓰기 버퍼로서 기능한다. 예를 들면, 버퍼 메모리 (240)는 호스트 시스템 (100)의 요청에 따라 저장 매체 (220)에 쓰여질 데이터를 임시 저장하기 위한 쓰기 버퍼로서 기능한다. 또한, 쓰기 버퍼의 기능은 선택적으로 사용될 수 있다. 예컨대, 경우에 따라, 호스트 시스템 (100)에서 전달된 데이터는 쓰기 버퍼 즉, 버퍼 메모리 (240)를 경유하 지 않고 저장 매체 (220)로 직접 전송될 수 있다. 저장 장치 (200)의 이러한 기능은 쓰기 바이패스 기능 (write bypass function)이라 불린다. 또는, 버퍼 메모리 (240)는 읽기 버퍼로서 기능한다. 예를 들면, 버퍼 메모리 (240)는 호스트 시스템 (100)의 요청에 따라 저장 매체 (220)에서 읽혀진 데이터를 임시 저장하기 위한 읽기 버퍼로서 기능한다. 도면에는 단지 하나의 버퍼 메모리가 도시되어 있지만, 2개 또는 그 보다 많은 버퍼 메모리들이 제공될 수 있다. 이 경우, 각 버퍼 메모리는 쓰기 버퍼, 읽기 버퍼 또는 2개의 기능을 모두 갖는 버퍼로서 사용될 수 있다.
본 발명에 따른 제어 장치 (260)는 저장 매체 (220) 및 버퍼 메모리 (240)를 제어하도록 구성된다. 호스트 시스템 (100)으로부터 읽기 명령이 입력될 때, 제어 장치 (260)는 저장 매체 (220)에 저장된 데이터가 호스트 시스템 (100)으로 이동되도록 저장 매체 (220)를 제어한다. 또는, 호스트 시스템 (100)으로부터 읽기 명령이 입력될 때, 제어 장치 (260)는 저장 매체 (220)에 저장된 데이터가 버퍼 메모리 (240)를 통해 호스트 시스템 (100)으로 이동되도록 저장 매체 (220) 및 버퍼 메모리 (240)를 제어한다. 호스트 시스템 (100)으로부터 쓰기 명령이 입력될 때, 제어 장치 (260)는 쓰기 명령과 관련된 데이터가 버퍼 메모리 (240)에 임시 저장되게 한다. 버퍼 메모리 (240)에 임시 저장된 데이터의 전부 또는 일부는 버퍼 메모리 (240)의 여유 공간이 부족할 때 또는 유휴 시간 (호스트로부터 요청이 없을 때 생기는 제어 장치 (260)의 유휴 시간)이 생길 때 제어 장치 (260)의 제어에 따라 저장 매체 (220)로 옮겨진다. 이상의 동작을 수행하기 위해서, 제어 장치 (260)는 저장 매체 (220)와 버퍼 메모리 (240) 사이의 어드레스 사상 정보 (address mapping information) 및 버퍼 메모리 (240)에 저장된 데이터가 유효한 정보인지의 여부를 나타내는 쓰기 상태 정보를 저장하기 위한 사상 테이블 (261)을 포함한다. 쓰기 상태 정보는 외부로부터 제공되는 무효 정보에 따라 갱신되며, 이는 이후 상세히 설명될 것이다. 제어 장치 (260)는 사상 테이블 (261)의 쓰기 상태 정보에 따라 버퍼 메모리 (240)에 저장된 데이터의 전부 또는 일부가 저장 매체 (220)에 쓰여지도록 저장 매체 (220) 및 버퍼 메모리 (240)를 제어하며, 이는 이후 상세히 설명될 것이다.
이 실시예에 있어서, 저장 매체 (220) 및 버퍼 메모리 (240)는 플래시 메모리와 같은 메모리로 동일하게 구성될 수 있다.
이상의 설명으로부터 알 수 있듯이, 본 발명에 따른 저장 시스템 (200)은 버퍼 메모리 (240)의 여유 공간이 부족할 때 또는 유휴 시간 (호스트로부터 요청이 없을 때 생기는 제어 장치 (260)의 유휴 시간)이 생길 때 사상 테이블 (261)의 쓰기 상태 정보를 참조하여 버퍼 메모리 (240)에 저장된 데이터의 전부 또는 일부를 저장 매체 (220)로 옮기지 않는다. 즉, 본 발명에 따른 저장 시스템 (200)은 버퍼 메모리 (240)에 저장된 데이터가 유효한 데이터인 지 또는 무효한 데이터 인지를 나타내는 쓰기 되물리기 정보 (또는 버퍼 메모리 (240)에 저장된 데이터와 관련된 무효 정보)를 저장 시스템 (200)의 외부 (예를 들면, 호스트 시스템)로부터 입력받고 입력된 정보를 참조하여 버퍼 메모리 (240)에 저장된 데이터 중 무효한 데이터가 저장 매체 (220)에 쓰여지는 것을 방지한다. 다시 말해서, 본 발명에 따른 저장 시스템 (200)은 버퍼 메모리 (240)에 저장된 데이터에 유효/무효 정보의 꼬리표를 달아 저장 매체 (220)로의 데이터 옮겨쓰기 동작을 선별적으로 제어한다. 따라서, 저장 시스템 (200)의 쓰기 성능이 향상되고, 불필요한 쓰기 동작으로 인한 저장 매체 (220)의 수명이 단축되는 것을 방지할 수 있으며, 불필요한 쓰기 동작으로 인한 전력 소모를 줄일 수 있다.
도 4a 및 도 4b는 도 3에 도시된 제어 장치 (260)의 예시적인 사상 테이블을 보여주는 도면들이다. 도 4a 및 도 4b를 참조하면, 부호 "BBN"은 버퍼 메모리 (240)의 블록 번호를 나타내고, 부호 "DCN"은 저장 매체 (220)의 클러스터 번호를 나타내며, 부호 "WSI"는 버퍼 메모리 (240)에 저장된 데이터가 유효한 데이터인지의 여부를 나타내는 쓰기 상태 정보를 나타낸다. 설명의 편의상, 버퍼 메모리 (240)의 블록 크기가 다수의 섹터들로 구성되는 클러스터의 크기와 같다고 가정하자. 하지만, 저장 매체 (220)의 할당 단위 (allocation unit)가 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 저장 매체 (220)의 할당 단위가 마크네틱 디스크의 섹터로 또는 플래시 메모리의 페이지, 섹터, 또는 블록으로 지정될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 도 4a 및 도 4b에 있어서, 무효 데이터는 'X'로 표시되어 있고, 유효 데이터는 'V'로 표시되어 있다.
도 4a에 도시된 바와 같이, 버퍼 메모리 (240)에 3개의 파일들 (FILE1, FILE2, FILE3)과 관련된 데이터가 유효한 데이터로서 저장되어 있다고 가정하자. 각 데이터는 저장 매체 (220)로부터 읽혀진 데이터로 호스트 시스템 (100)에 의해서 갱신되고 저장 매체 (220)에 아직 저장되지 않는 데이터일 수 있다. 또는, 호스 트 시스템 (100)에서 전달되고 저장 매체 (220)에 아직 저장되지 않은 데이터일 수 있다. 버퍼 메모리 (240)에 저장된 파일 데이터 (FILE1, FILE2, FILE3)는, 앞서 언급된 바와 같이, 버퍼 메모리 (240)의 여유 공간이 부족할 때 또는 유휴 시간이 생길 때 제어 장치 (260)의 제어에 따라 저장 매체 (220)로 이동될 것이다. 제어 장치 (260)는 호스트 시스템 (100)으로부터 전달되는 무효 정보에 따라 저장된 파일들 데이터 (FILE1, FILE2, FILE3)의 쓰기 상태 정보를 갱신하도록 구성된다. 예를 들면, 파일 데이터 (FILE2)가 저장 시스템 (200)의 상위 레벨로서 호스트 시스템 (100)에서 삭제되었다는 무효 정보가 호스트 시스템 (100)으로부터 입력되면, 도 4b에 도시된 바와 같이, 제어 장치 (260)는 무효 데이터를 나타내도록 파일 데이터(FILE2)의 쓰기 상태 정보를 'X'로 표시한다. 또한, 제어 장치 (260)는 무효 데이터를 나타내도록 저장 매체 (220)에 쓰여진 데이터의 쓰기 상태 정보를 'X'로 표시한다.
도 5는 본 발명에 따른 컴퓨팅 시스템에서 저장 시스템에 저장된 데이터를 관리하는 방법을 설명하기 위한 흐름도이다. 본 발명에 따른 저장 시스템 (200)은, 앞서 설명된 바와 같이, 데이터를 저장하는 저장 매체 (220)와 저장 매체 (220)에 쓰여질 데이터를 임시 저장하는 버퍼 메모리 (240)를 포함하며, 이 저장 시스템 (200)의 데이터 관리 방법은, 도 5에 도시된 바와 같이, 쓰기 되물리기 정보가 저장 시스템 (200)의 외부로부터 인가되었는 지의 여부를 판별하는 단계 (S100)와; 그리고 쓰기 되물리기 정보가 입력될 때 버퍼 메모리 (240)에 임시 저장된 데이터 전부 또는 일부를 무효화시키는 단계 (S120)를 포함한다. 이후, 무효화된 데이터는 저장 매체 (220)에 쓰여지지 않는다.
도 6a 내지 도 6c는 본 발명에 따른 컴퓨팅 시스템에 포함된 저장 시스템의 데이터 관리 동작을 설명하기 위한 도면들이다. 이하, 본 발명에 따른 저장 시스템의 데이터 관리 동작이 참조 도면들에 의거하여 이하 상세히 설명될 것이다.
앞서 설명된 바와 같이, 저장 시스템 (200)의 제어 장치 (260)는 버퍼 메모리 (240)의 여유 공간을 확보하기 위해서 또는 유휴 시간을 활용하기 위해서 사상 테이블 (261)을 참조하여 버퍼 메모리 (240)에 저장되어 있는 데이터 파일들을 저장 매체 (220)로 옮겨놓는다. 도 6a에 도시된 바와 같이, 버퍼 메모리 (240)에는 3개의 파일 데이터 (FILE1-FILE3)가 유효한 데이터로서 저장되어 있다고 가정하자. 특정 시점에서 저장 시스템 (200)의 제어 장치 (260)는 저장된 파일 데이터 (FILE1-FILE3)와 관련된 사상 테이블 (261)의 쓰기 상태 정보 (WSI)를 참조하여 어떤 데이터가 무효한 데이터인 지의 여부를 판별한다. 도 6a에 도시된 바와 같이, 모든 파일 데이터 (FILE1-FILE3)가 사상 테이블 (261)에서 유효한 데이터로서 표시되어 있기 때문에, 제어 장치 (260)는 정해진 방식에 따라 파일 데이터 (FILE1-FILE3)가 저장 매체 (220)의 대응하는 공간으로 옮겨지도록 저장 매체 (220) 및 버퍼 메모리 (240)를 제어한다.
만약 저장 매체 (220)로의 데이터 옮겨쓰기 동작 이전에 저장 시스템 (200)의 외부로부터 무효 정보 (쓰기 되물리기 명령, 무효한 데이터 파일의 어드레스 정보, 그리고 무효한 파일 데이터의 크기 정보를 포함함)가 입력되면, 저장 시스템 (200)의 제어 장치 (260)는 무효 정보와 관련된 파일 데이터 (예를 들면, FILE2)를 무효화시킨다. 즉, 도 6b에 도시된 바와 같이, 파일 데이터 (FILE2)와 관련된 사상 테이블 (261)의 쓰기 상태 정보 (WSI)는 무효 데이터를 나타내도록 제어 장치 (260)의 제어에 따라 갱신된다. 이후, 특정 시점에서 저장 시스템 (200)의 제어 장치 (260)는 저장된 파일 데이터 (FILE1-FILE3)와 관련된 사상 테이블 (261)의 쓰기 상태 정보 (WSI)를 참조하여 어떤 데이터 파일들이 무효한 데이터인 지의 여부를 판별한다. 도 6b에 도시된 바와 같이, 파일 데이터 (FILE1, FILE3)만이 사상 테이블 (261)에서 유효한 데이터로서 표시되어 있기 때문에, 제어 장치 (260)는 정해진 방식에 따라 파일 데이터 (FILE1, FILE3)이 저장 매체 (220)의 대응하는 공간으로 옮겨지도록 저장 매체 (220) 및 버퍼 메모리 (240)를 제어한다. 즉, 제어 장치 (260)는 파일 데이터 (FILE2)가 저장 매체 (220)의 대응하는 공간으로 옮겨지는 것을 방지한다. 무효 파일 데이터로 처리된 버퍼 메모리 (240)의 공간은 이후 행해지는 쓰기/읽기 동작을 위해서 사용될 수 있다.
또 다른 예로서, 도 6c에 도시된 바와 같이, 단지 하나의 파일 데이터 (FILE1)만이 버퍼 메모리 (240)에 저장되어 있다고 가정하자. 만약 저장 매체 (220)로의 데이터 옮겨쓰기 동작 이전에 저장 시스템 (200)의 외부로부터 무효 정보가 입력되면, 저장 시스템 (200)의 제어 장치 (260)는 입력된 무효 정보와 관련된 데이터 (FILE1)를 무효화시킨다. 즉, 도 6c에 도시된 바와 같이, 데이터 (FILE1)와 관련된 사상 테이블 (261)의 쓰기 상태 정보 (WSI)는 무효 데이터를 나타내도록 제어 장치 (260)의 제어에 따라 갱신된다. 이후, 특정 시점에서 저장 시스템 (200)의 제어 장치 (260)는 저장된 데이터 (FILE1)와 관련된 사상 테이블 (261)의 쓰기 상태 정보 (WSI)를 참조하여 저장된 데이터가 무효한 데이터인 지의 여부를 판별한다. 도 6c에 도시된 바와 같이, 사상 테이블 (261)에서 유효한 데이터로서 표시되어 있는 데이터가 존재하지 않기 때문에, 저장 시스템 (200)에서는 어떠한 옮겨쓰기 동작도 일어나지 않는다. 특히, 유휴 상태에서의 무효한 데이터의 옮겨쓰기 동작이 방지될 수 있다. 무효 데이터로 처리된 버퍼 메모리 (240)의 공간은 이후 행해지는 쓰기 동작을 위해서 사용될 수 있다.
비록 무효 데이터로 표시된 데이터가 저장 매체 (220)에 쓰여지더라도, 저장 매체 (220)에 저장된 데이터인 무효 데이터와 관련된 파일은 어떠한 영향도 받지 않음에 주의해야 한다. 게다가, 무효 처리된 데이터는 제어 장치 (260)의 제어에 따라 선별적으로 저장 매체 (220)로 옮겨질 수 있다. 예컨대, 쓰기 되물리기 명령에 따라 버퍼 메모리 (240)의 데이터가 무효화되더라도, 제어 장치 (260)는 선별적으로 무효화된 데이터의 옮겨쓰기 동작을 수행하도록 구성될 수 있다.
본 발명에 따른 저장 시스템 (200)은 버퍼 메모리 (240)에 저장된 데이터가 무효한 데이터인 지의 여부를 나타내는 쓰기 상태 정보 (WSI)를 포함하는 사상 테이블을 참조하여, 버퍼 메모리 (240)에 임시 저장된 데이터를 저장 매체 (220)에 옮기는 동작을 제어한다. 앞서 언급된 바와 같이, 데이터의 쓰기 상태 정보는 저장 시스템 (200)의 외부로부터 제공되는 것으로, 그 데이터는 저장 시스템 (200)의 외부에서 생성되어 전달된 데이터이다. 또는, 그 데이터는 저장 매체 (220)에서 읽혀지고 저장 시스템 (200)의 외부에서 변경된 새로운 데이터일 수 있다. 이러한 저장 시스템 (200)은 컴퓨팅 시스템 뿐만 아니라 데이터를 저장하고자 하는 장치들 (예 를 들면, 하드 디스크 또는 플래시 메모리를 기반으로 한 MP3 플레이어, 휴대용 전자 장치들, 또는 그와 같은 것)에 적용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
상술한 바와 같이, 버퍼 메모리에 저장된 무효 데이터가 저장 매체에 옮겨쓰여지는 것을 방지함으로써 저장 시스템의 쓰기 성능이 향상되고, 불필요한 옮겨쓰기 동작으로 인한 저장 매체의 수명이 단축되는 것을 방지할 수 있으며, 불필요한 옮겨쓰기 동작으로 인한 전력 소모를 줄일 수 있다.

Claims (40)

  1. 데이터를 저장하는 저장 매체와;
    상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리와; 그리고
    외부로부터 쓰기 되물리기 정보가 입력될 때, 상기 임시 저장된 데이터를 무효화시키는 제어 장치를 포함하되, 상기 임시 저장된 데이터가 무효화될 때, 상기 임시 저장된 데이터는 상기 저장 매체로 쓰여지지 않는 저장 시스템.
  2. 제 1 항에 있어서,
    상기 저장 시스템은 드라이브 장치인 저장 시스템.
  3. 제 1 항에 있어서,
    상기 쓰기 되물리기 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타내는 저장 시스템.
  4. 제 3 항에 있어서,
    상기 제어 장치는 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되며, 상기 임시 저장된 데이터에 대한 상기 쓰기 되물리기 정보의 입력시 상기 쓰기 상태 정보를 갱신하는 저장 시스템.
  5. 제 4 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체로 쓰여지는 것을 금지시키는 저장 시스템.
  6. 제 4 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 저장 시스템.
  7. 제 1 항에 있어서,
    상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 불 휘발성 메모리 중 어느 하나인 저장 시스템.
  8. 제 1 항에 있어서,
    상기 버퍼 메모리에 임시 저장된 데이터의 일부에 대한 쓰기 되물리기 정보가 입력될 때, 상기 제어 장치는 상기 저장 매체에 쓰여지지 않도록 상기 일부 데이터를 무효화시키는 저장 시스템.
  9. 데이터를 저장하는 저장 매체와;
    상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리와; 그리고
    상기 버퍼 메모리 및 상기 저장 매체를 제어하며, 외부로부터 제공되는 상기 버퍼 메모리의 저장 데이터의 무효 정보에 응답하여 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되는 제어 장치를 포함하는 저장 시스템.
  10. 제 8 항에 있어서,
    상기 제어 장치는 상기 버퍼 메모리에 임시 저장된 데이터의 전부 또는 일부가 상기 쓰기 상태 정보에 따라 상기 저장 매체에 선택적으로 쓰여지도록 상기 버퍼 메모리 및 상기 저장 매체를 제어하는 저장 시스템.
  11. 제 10 항에 있어서,
    상기 임시 저장된 데이터의 쓰기 상태 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었는 지의 여부를 나타내는 저장 시스템.
  12. 제 11 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시키는 저장 시스템.
  13. 제 11 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 저장 시스템.
  14. 제 9 항에 있어서,
    상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 불 휘발성 메모리 중 어느 하나인 저장 시스템.
  15. 제 9 항에 있어서,
    상기 쓰기 상태 정보는 상기 임시 저장된 데이터가 유효한 데이터인 지의 여부를 나타내는 저장 시스템.
  16. 데이터를 저장하는 저장 매체와 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리를 포함하는 저장 시스템과; 그리고
    상기 저장 시스템으로부터/으로 전송된/전송될 데이터를 처리하도록 구성된 호스트 시스템을 포함하며,
    상기 호스트 시스템은 상기 저장 시스템으로 전송된 데이터가 상기 호스트 시스템 내에서 삭제될 때 쓰기 되물리기 정보를 상기 저장 시스템에 전송하도록 구성되며; 상기 저장 시스템은 상기 쓰기 되물리기 정보가 입력될 때 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되는 컴퓨팅 시스템.
  17. 제 16 항에 있어서,
    상기 쓰기 되물리기 명령이 입력될 때, 상기 저장 시스템은 상기 임시 저장된 데이터가 상기 저장 매체로 쓰여지지 않도록 상기 임시 저장된 데이터를 무효화시키도록 구성되는 컴퓨팅 시스템.
  18. 제 16 항에 있어서,
    상기 저장 시스템은 상기 쓰기 되물리기 명령이 입력될 때, 상기 버퍼 메모리에 임시 저장된 데이터가 상기 저장 매체로 쓰여지지 않도록 상기 임시 저장된 데이터를 무효화시키는 제어 장치를 더 포함하는 컴퓨팅 시스템.
  19. 제 18 항에 있어서,
    상기 제어 장치는 상기 임시 저장된 데이터의 쓰기 상태 정보를 저장하도록 구성되며, 상기 임시 저장된 데이터에 대한 쓰기 되물리기 명령의 입력시 상기 쓰기 상태 정보를 갱신하는 컴퓨팅 시스템.
  20. 제 19 항에 있어서,
    상기 임시 저장된 데이터가 상기 호스트 시스템에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시키는 컴퓨팅 시스템.
  21. 제 19 항에 있어서,
    상기 임시 저장된 데이터가 상기 호스트 시스템에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 컴퓨팅 시스템.
  22. 제 16 항에 있어서,
    상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 불 휘발성 메모리 중 어느 하나인 저장 시스템.
  23. 제 17 항에 있어서,
    상기 쓰기 상태 정보는 상기 임시 저장된 데이터가 유효한 데이터인 지의 여부를 나타내는 저장 시스템.
  24. 데이터를 저장하는 저장 매체와 상기 저장 매체에 쓰여질 데이터를 임시 저장하는 버퍼 메모리를 포함하는 저장 시스템의 데이터 관리 방법에 있어서:
    상기 버퍼 메모리에 저장된 데이터와 관련된 쓰기 되물리기 정보가 외부로부터 인가되었는 지의 여부를 판별하는 단계와; 그리고
    상기 쓰기 되물리기 정보가 입력될 때 상기 임시 저장된 데이터의 전부 또는 일부를 무효화시키는 단계를 포함하되, 상기 임시 저장된 데이터가 무효화될 때, 상기 임시 저장된 데이터는 상기 저장 매체로 쓰여지지 않는 것을 특징으로 하는 방법.
  25. 제 24 항에 있어서,
    상기 쓰기 되물리기 정보가 입력되더라도, 상기 임시 저장된 데이터의 무효화는 선택적으로 행해지는 것을 특징으로 하는 방법.
  26. 제 24 항에 있어서,
    상기 쓰기 되물리기 명령은 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타내는 것을 특징으로 하는 방법.
  27. 제 24 항에 있어서,
    상기 무효화 단계는
    상기 임시 저장된 데이터의 쓰기 상태 정보를 구성하는 단계와; 그리고
    상기 임시 저장된 데이터에 대한 쓰기 되물리기 명령의 입력시 상기 쓰기 상태 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는 방법.
  28. 제 27 항에 있어서,
    상기 무효화 단계는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  29. 제 27 항에 있어서,
    상기 무효화 단계는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  30. 데이터를 저장하는 저장 매체를 포함하는 저장 시스템에 있어서:
    상기 저장 매체에 쓰여질 데이터를 저장하는 버퍼 메모리와; 그리고
    상기 저장 시스템의 외부로부터 제공되며 상기 버퍼 메모리에 저장된 데이터와 관련된 무효 정보를 참조하여 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부가 상기 저장 매체에 쓰여지지 않도록 상기 저장 매체 및 상기 버퍼 메모리를 제어하는 제어 장치를 포함하는 것을 특징으로 하는 저장 시스템.
  31. 제 30 항에 있어서,
    상기 무효 정보는 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 나타내는 것을 특징으로 하는 저장 시스템.
  32. 제 31 항에 있어서,
    상기 무효 정보는 상기 삭제된 데이터의 어드레스 및 데이터 크기 정보와 쓰기 되물리기 명령을 포함하는 것을 특징으로 하는 저장 시스템.
  33. 제 30 항에 있어서,
    상기 무효 정보가 입력될 때, 상기 제어 장치는 상기 버퍼 메모리에 저장된 데이터의 전부 또는 일부의 쓰기 상태 정보를 구성하는 것을 특징으로 하는 저장 시스템.
  34. 제 33 항에 있어서,
    상기 제어 장치는 상기 버퍼 메모리에 임시 저장된 데이터의 전부 또는 일부가 상기 쓰기 상태 정보에 따라 상기 저장 매체에 선택적으로 쓰여지도록 상기 버퍼 메모리 및 상기 저장 매체를 제어하는 것을 특징으로 하는 저장 시스템.
  35. 제 34 항에 있어서,
    상기 임시 저장된 데이터의 쓰기 상태 정보는 상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었는 지의 여부를 나타내는 것을 특징으로 하는 저장 시스템.
  36. 제 34 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되었음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지는 것을 금지시키는 것을 특징으로 하는 저장 시스템.
  37. 제 34 항에 있어서,
    상기 임시 저장된 데이터가 상기 저장 시스템의 상위 레벨에서 삭제되지 않았음을 상기 쓰기 상태 정보가 나타낼 때, 상기 제어 장치는 상기 임시 저장된 데이터가 상기 저장 매체에 쓰여지게 하는 것을 특징으로 하는 저장 시스템.
  38. 제 30 항에 있어서,
    상기 버퍼 메모리는 SRAM 또는 DRAM을 포함한 휘발성 메모리 또는 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리이며, 상기 저장 매체는 마그네틱 디스크와 불 휘발성 메모리 중 어느 하나인 것 을 특징으로 하는 저장 시스템.
  39. 제 30 항에 있어서,
    상기 버퍼 메모리는 SRAM 또는 DRAM로 구성되는 적어도 2개의 휘발성 메모리들을 포함하는 것을 특징으로 하는 저장 시스템.
  40. 제 30 항에 있어서,
    상기 버퍼 메모리 및 상기 저장 매체는 모두 낸드 플래시 메모리, 노어 플래시 메모리, MRAM, FRAM, 또는 PRAM을 포함한 불 휘발성 메모리로 구성되는 것을 특징으로 하는 저장 시스템.
KR1020040109826A 2004-12-21 2004-12-21 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 KR100578143B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1020040109826A KR100578143B1 (ko) 2004-12-21 2004-12-21 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US11/230,994 US7802054B2 (en) 2004-12-21 2005-09-20 Apparatus and methods using invalidity indicators for buffered memory
CN2005101316125A CN1821977B (zh) 2004-12-21 2005-12-15 对于缓存器使用无效指示符的装置和方法
JP2005365508A JP5420814B2 (ja) 2004-12-21 2005-12-19 バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
DE102005063250A DE102005063250A1 (de) 2004-12-21 2005-12-21 Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren
TW094145485A TWI298167B (en) 2004-12-21 2005-12-21 Apparatus and methods using invalidity indicators for buffered memory
US11/673,228 US20070130442A1 (en) 2004-12-21 2007-02-09 Apparatus and Methods Using Invalidity Indicators for Buffered Memory
US12/775,767 US8122193B2 (en) 2004-12-21 2010-05-07 Storage device and user device including the same
US12/860,961 US8051258B2 (en) 2004-12-21 2010-08-23 Apparatus and methods using invalidity indicators for buffered memory
US13/365,485 US8533391B2 (en) 2004-12-21 2012-02-03 Storage device and user device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040109826A KR100578143B1 (ko) 2004-12-21 2004-12-21 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR100578143B1 true KR100578143B1 (ko) 2006-05-10

Family

ID=36580375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040109826A KR100578143B1 (ko) 2004-12-21 2004-12-21 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템

Country Status (6)

Country Link
US (3) US7802054B2 (ko)
JP (1) JP5420814B2 (ko)
KR (1) KR100578143B1 (ko)
CN (1) CN1821977B (ko)
DE (1) DE102005063250A1 (ko)
TW (1) TWI298167B (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
US7802054B2 (en) 2004-12-21 2010-09-21 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
KR20120009910A (ko) * 2010-07-22 2012-02-02 삼성전자주식회사 영상처리장치 및 그 제어방법
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US10095411B2 (en) 2014-09-24 2018-10-09 Samsung Electronics Co., Ltd. Controllers including separate input-output circuits for mapping table and buffer memory, solid state drives including the controllers, and computing systems including the solid state drives
CN109697172A (zh) * 2017-10-24 2019-04-30 英飞凌科技股份有限公司 用于暂存存储内容的存储器装置和方法
KR20190045121A (ko) * 2019-04-22 2019-05-02 고려대학교 산학협력단 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571286B2 (en) * 2006-08-24 2009-08-04 International Business Machines Corporation Reduced memory traffic via detection and tracking of temporally silent stores
JP2008090626A (ja) * 2006-10-02 2008-04-17 Sony Corp 転送装置、転送システム、プログラムおよび転送方法
KR100826500B1 (ko) * 2006-10-23 2008-05-02 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 데이터 복구 방법
US7554855B2 (en) 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
KR100866959B1 (ko) * 2007-02-13 2008-11-05 삼성전자주식회사 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법
JP4561800B2 (ja) * 2007-09-25 2010-10-13 沖電気工業株式会社 データ同期システム及び方法
KR20100054402A (ko) * 2008-11-14 2010-05-25 삼성전자주식회사 스토리지를 갖는 컴퓨팅 장치와, 상기 스토리지에 대한 관리 장치 및 방법과, 파일 시스템이 기록된 기록 매체
JP5448428B2 (ja) * 2008-11-27 2014-03-19 三菱電機株式会社 データ管理システム及びデータ管理方法及びデータ管理プログラム
US20100191896A1 (en) * 2009-01-23 2010-07-29 Magic Technologies, Inc. Solid state drive controller with fast NVRAM buffer and non-volatile tables
TWI396090B (zh) * 2009-02-18 2013-05-11 Silicon Motion Inc 快閃記憶裝置、資料儲存系統、以及傳送特殊命令至快閃記憶裝置之方法
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
KR20110024147A (ko) * 2009-09-01 2011-03-09 삼성전자주식회사 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법
WO2011063832A1 (en) * 2009-11-25 2011-06-03 Telefonaktiebolaget L M Ericsson (Publ) Addressable fifo
WO2012051600A2 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
TWI579692B (zh) * 2010-10-29 2017-04-21 三星電子股份有限公司 記憶體系統、資料儲存系統、使用者裝置及其資料管理方法
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
CN102654852A (zh) * 2011-03-03 2012-09-05 安凯(广州)微电子技术有限公司 一种异步数据读写控制方法、装置及***
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
US8595716B2 (en) 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US20130145097A1 (en) * 2011-12-05 2013-06-06 Qualcomm Incorporated Selective Access of a Store Buffer Based on Cache State
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US20130242425A1 (en) 2012-03-16 2013-09-19 Toshiba America Electronics Components, Inc. Write reordering in a hybrid disk drive
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
US9069806B2 (en) 2012-03-27 2015-06-30 Google Inc. Virtual block devices
US9767025B2 (en) * 2012-04-18 2017-09-19 Qualcomm Incorporated Write-only dataless state for maintaining cache coherency
KR101938210B1 (ko) 2012-04-18 2019-01-15 삼성전자주식회사 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법
KR101929984B1 (ko) 2012-05-17 2018-12-18 삼성전자주식회사 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법
KR101925868B1 (ko) 2012-05-17 2018-12-06 삼성전자주식회사 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
KR101996004B1 (ko) 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
DE102013105356A1 (de) 2012-05-29 2013-12-05 Samsung Electronics Co., Ltd. Verfahren zum Betreiben von nichtflüchtigen Speichervorrichtungen, die effiziente Fehlererkennung unterstützen
KR102000634B1 (ko) 2012-06-07 2019-07-16 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 소거 방법
KR101975406B1 (ko) 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
KR102020466B1 (ko) * 2012-10-04 2019-09-10 에스케이하이닉스 주식회사 버퍼 메모리 장치를 포함하는 데이터 저장 장치
WO2014081719A1 (en) * 2012-11-20 2014-05-30 Peddle Charles I Solid state drive architectures
CN102981782B (zh) * 2012-11-28 2016-08-03 华为技术有限公司 数据处理方法及装置
CN104731520B (zh) * 2013-12-24 2019-06-25 联想(北京)有限公司 一种信息处理方法以及一种电子设备
US10241715B2 (en) 2014-01-31 2019-03-26 Hewlett Packard Enterprise Development Lp Rendering data invalid in a memory array
KR102218712B1 (ko) 2014-02-11 2021-02-22 삼성전자주식회사 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
US9665743B2 (en) * 2015-02-26 2017-05-30 Whitecanyon Software, Inc. Selective storage device wiping system and method
KR102610846B1 (ko) * 2016-05-13 2023-12-07 한국전자통신연구원 고속 분산 저장 장치 및 방법
KR102545166B1 (ko) * 2016-07-26 2023-06-19 삼성전자주식회사 파일을 안전하게 삭제하는 호스트, 스토리지 시스템 및 호스트의 동작방법
EP3387535B1 (en) * 2016-08-25 2021-12-29 Huawei Technologies Co., Ltd. Apparatus and method for software self test
CN106354432A (zh) * 2016-08-30 2017-01-25 北京小米移动软件有限公司 数据修改方法及装置
US10289561B2 (en) 2017-08-08 2019-05-14 Samsung Electronics Co., Ltd. Nonvolatile memory devices and methods of controlling the same
CN108153491B (zh) * 2017-12-22 2021-06-25 深圳市瑞驰信息技术有限公司 一种可关闭部分服务器的存储方法及架构
CN114741326A (zh) * 2022-03-21 2022-07-12 阿里巴巴(中国)有限公司 数据处理方法以及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900003744A (ko) * 1988-08-10 1990-03-27 미다 가쓰시게 데이터처리시스템
US5907716A (en) 1996-05-02 1999-05-25 Fujitsu Limited Fifo buffer capable of partially erasing data set held therein
KR20010077401A (ko) * 2000-02-02 2001-08-17 서평원 영상 복호화기 및 그의 버퍼 제어 방법
KR20040013854A (ko) * 2002-08-08 2004-02-14 삼성전자주식회사 영상 기록/재생 장치 및 그 기억장치 제어방법

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
JPH01284941A (ja) * 1988-05-11 1989-11-16 Nec Corp 情報処理装置
KR900003744B1 (ko) 1988-06-27 1990-05-30 제일제당 주식회사 세라티오 펩티다제(Serratiopeptidase)를 생산하는 미생물 및 이를 이용한 세라티오펩티다제의 생산방법
JPH05303528A (ja) * 1992-04-27 1993-11-16 Oki Electric Ind Co Ltd ライトバック式ディスクキャッシュ装置
JP3328321B2 (ja) 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US6549974B2 (en) 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
JPH06131123A (ja) 1992-10-22 1994-05-13 Fujitsu Ltd 計算機の外部記憶装置
US5594926A (en) 1993-07-19 1997-01-14 Efar Microsystems, Inc. Hard disk accelerating system for computer
DE4423559A1 (de) 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
US5561823A (en) 1994-03-14 1996-10-01 Conner Peripherals, Inc. Monitor system for determining the available capacity of a READ buffer and a WRITE buffer in a disk drive system
US5696929A (en) 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
US5802344A (en) 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
KR100251950B1 (ko) 1997-06-26 2000-04-15 윤종용 데이타 저장장치의 버퍼 룸 로직과 그 제어방법
JPH1153235A (ja) 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
JPH11194899A (ja) 1997-12-26 1999-07-21 Toshiba Corp ディスク記憶システム及び同システムに適用するデータ更新方法
US6321318B1 (en) * 1997-12-31 2001-11-20 Texas Instruments Incorporated User-configurable on-chip program memory system
JPH11273243A (ja) 1998-03-20 1999-10-08 Toshiba Corp ディスク装置及び同装置に適用されるライトバッファ制御方法
US6349362B2 (en) 1998-08-31 2002-02-19 International Business Machines Corporation Scheme to partition a large lookaside buffer into an L2 cache array
JP3473483B2 (ja) * 1999-03-31 2003-12-02 日本電気株式会社 キャッシュ記憶装置およびキャッシュ記憶制御方法
US6601147B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation Computer system and method for maintaining an integrated shared buffer memory in a group of interconnected hosts
US6910107B1 (en) 2000-08-23 2005-06-21 Sun Microsystems, Inc. Method and apparatus for invalidation of data in computer systems
JP2002269065A (ja) 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
US6915396B2 (en) 2001-05-10 2005-07-05 Hewlett-Packard Development Company, L.P. Fast priority determination circuit with rotating priority
US6708251B1 (en) 2001-05-31 2004-03-16 Keen Personal Media, Inc. Disk drive having separate interfaces for host commands and audiovisual data
JP2003015928A (ja) 2001-07-04 2003-01-17 Nec System Technologies Ltd フラッシュメモリのデータ格納装置及びそれに用いるデータ格納方法
US6675276B2 (en) * 2001-11-13 2004-01-06 Eastman Kodak Company Method for providing extensible dos-fat system structures on one-time programmable media
JP2003199014A (ja) 2001-12-27 2003-07-11 Toshiba Corp ディスク記憶装置及びコマンド処理方法
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
JP3703439B2 (ja) 2002-03-19 2005-10-05 Necマイクロシステム株式会社 データ転送制御装置及び方法
US20040193656A1 (en) * 2003-03-28 2004-09-30 Pizzo Michael J. Systems and methods for caching and invalidating database results and derived objects
US20050138296A1 (en) * 2003-12-18 2005-06-23 Coulson Richard L. Method and system to alter a cache policy
US7313682B2 (en) * 2004-04-29 2007-12-25 Alcatel Lucent Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code
US7113402B2 (en) 2004-10-01 2006-09-26 Lenovo (Singapore) Pte. Ltd. Systems, apparatus and method for reducing dust on components in a computer system
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900003744A (ko) * 1988-08-10 1990-03-27 미다 가쓰시게 데이터처리시스템
US5907716A (en) 1996-05-02 1999-05-25 Fujitsu Limited Fifo buffer capable of partially erasing data set held therein
KR20010077401A (ko) * 2000-02-02 2001-08-17 서평원 영상 복호화기 및 그의 버퍼 제어 방법
KR20040013854A (ko) * 2002-08-08 2004-02-14 삼성전자주식회사 영상 기록/재생 장치 및 그 기억장치 제어방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802054B2 (en) 2004-12-21 2010-09-21 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
US8051258B2 (en) 2004-12-21 2011-11-01 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US8533391B2 (en) 2004-12-21 2013-09-10 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
KR20120009910A (ko) * 2010-07-22 2012-02-02 삼성전자주식회사 영상처리장치 및 그 제어방법
KR101691997B1 (ko) * 2010-07-22 2017-01-02 삼성전자 주식회사 영상처리장치 및 그 제어방법
US10095411B2 (en) 2014-09-24 2018-10-09 Samsung Electronics Co., Ltd. Controllers including separate input-output circuits for mapping table and buffer memory, solid state drives including the controllers, and computing systems including the solid state drives
CN109697172A (zh) * 2017-10-24 2019-04-30 英飞凌科技股份有限公司 用于暂存存储内容的存储器装置和方法
KR20190045121A (ko) * 2019-04-22 2019-05-02 고려대학교 산학협력단 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치
KR102144124B1 (ko) * 2019-04-22 2020-08-13 고려대학교 산학협력단 하이브리드 메인 메모리 시스템의 비휘발성 메모리의 데이터 관리 방법 및 장치

Also Published As

Publication number Publication date
CN1821977A (zh) 2006-08-23
US8051258B2 (en) 2011-11-01
US20100318754A1 (en) 2010-12-16
JP2006178983A (ja) 2006-07-06
JP5420814B2 (ja) 2014-02-19
TW200634844A (en) 2006-10-01
DE102005063250A1 (de) 2006-06-29
TWI298167B (en) 2008-06-21
CN1821977B (zh) 2011-02-23
US7802054B2 (en) 2010-09-21
US20060136676A1 (en) 2006-06-22
US20070130442A1 (en) 2007-06-07

Similar Documents

Publication Publication Date Title
KR100578143B1 (ko) 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
JP4837731B2 (ja) プログラム可能な耐久度を有するフラッシュメモリ
KR100876084B1 (ko) 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
US5717886A (en) Semiconductor disk device and memory management method
US20050163014A1 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2006018839A (ja) 漸進的マージ方法及びそれを利用したメモリシステム
JP2005242897A (ja) フラッシュディスク装置
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
JP2006120082A (ja) メモリカード、半導体装置、及びメモリカードの制御方法
TW202001573A (zh) 記憶系統
JP2018101411A (ja) データストレージデバイスおよびその操作方法
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
CN112309450A (zh) 存储装置
US8527733B2 (en) Memory system
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
KR20100121389A (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치
JP6301820B2 (ja) リプログラミングシステム
KR20080021211A (ko) 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는컴퓨팅 시스템
JP2007310447A (ja) データ記憶装置およびこの初期化方法
JP2010182160A (ja) メモリアクセス装置、不揮発性記憶装置、不揮発性記憶システム、メモリアクセス方法、プログラムおよび集積回路
JP2010003150A (ja) メモリコントローラおよびフラッシュメモリのデータ管理方法
JP5180726B2 (ja) 記憶装置およびデータ書き込み制御方法

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: 20130430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 14