KR101105955B1 - 듀얼 매체 저장 장치 - Google Patents

듀얼 매체 저장 장치 Download PDF

Info

Publication number
KR101105955B1
KR101105955B1 KR1020067016983A KR20067016983A KR101105955B1 KR 101105955 B1 KR101105955 B1 KR 101105955B1 KR 1020067016983 A KR1020067016983 A KR 1020067016983A KR 20067016983 A KR20067016983 A KR 20067016983A KR 101105955 B1 KR101105955 B1 KR 101105955B1
Authority
KR
South Korea
Prior art keywords
storage device
mass storage
data
volatile mass
volatile
Prior art date
Application number
KR1020067016983A
Other languages
English (en)
Other versions
KR20060123573A (ko
Inventor
알란 웰시 싱클레어
Original Assignee
샌디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20060123573A publication Critical patent/KR20060123573A/ko
Application granted granted Critical
Publication of KR101105955B1 publication Critical patent/KR101105955B1/ko

Links

Images

Classifications

    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Telephonic Communication Services (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

듀얼 매체 저장 장치가 제공된다. 두 개의 개별 비-휘발성 대용량 저장 장치로서, 하나는 나머지 하나 보다 더 빠른 액세스 시간과 더 낮은 용량을 가지며, 단일 시스템으로 통합된다. 저장 컨트롤러는 데이터의 흐름을 하나 장치, 또는 다른 장치로 지시할 수 있으며, 이는 다양한 조건에 따라 좌우되며, 예를 들면, 하나의 대용량 저장 장치가 불-가용 상태에 있다거나, 또는 특정 캐싱을 한다거나 하는데 있다.

Description

듀얼 매체 저장 장치{DUAL MEDIA STORAGE DEVICE}
본 발명은 일반적으로 데이터 저장 장치에 관한 것이며, 더 세부적으로는 듀얼 미디어 저장 장치에 관한 것이다.
범용 컴퓨터는 대용량 저장 시스템을 필요로 한다. 메인 메모리와 다르게, 이는 데이터의 직접 조작을 위해 사용되며, 대용량 저장소가 데이터를 유지하기 위해 사용된다. 일반적으로 프로그램이 대용량 저장소에 저장되고, 상기 프로그램이 실행될 때, 전체 프로그램, 또는 상기 프로그램의 부분이 메인 메모리로 복사된다. 시스템이 상기 프로그램 및 그에 연계된 데이터의 위치를 파악하고 대용량 저장 장치로부터 메인 메모리로 이동시키는 속도가 시스템의 전체 속도에 절대적인 영향을 준다.
공용 대용량 저장 장치는 플로피 디스크와, 하드 디스크와, 광 디스크 및 광 테이프를 포함한다. 각각의 장치는 장점과 단점을 가지며, 이는 용량, 가격, 속도, 휴대성에 관한 것일 수 있다.
추가적으로, 그 밖의 다른 장치, 가령 플래시 메모리는 비-휘발성 저장소를 제공할 수 있다. 플래시 메모리는 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM: Electrically Erasable Programmable Read Only Memory)의 한 종류이 다. 플래시 메모리가 휘발성 메인 메모리만큼 빠르지 않은 것이 통상적일지라도, 하드 디스크보다는 빠르다.
각각의 장치의 장점은 극대화하고, 각각의 장치의 단점은 최소화하기 위해 개별 장치들을 단일 대용량 저장 시스템으로 통합하기 위한 방법이 본 발명에 의하여 찾아졌다. 예를 들어, PCT 출원“MEMORY DEVICE" (WO 97/50035, 1997년 11월 31일)이 공개되었으며, 이는 본원에서 참조로서 인용된다. 상기 PCT 출원은 비교적 느린 액세스 대용량 데이터 저장 장치(가령 하드 디스크)와 비교적 빠른 액세스 데이터 저장 장치(가령, 플래시 메모리)를 모두 포함하는 메모리 시스템을 서술하고 있다. Daniel Auclair와 Eliyahou Harari의 U.S. 특허 "Mass Computer Storage System Having Both Solid State and Rotating Disk Types of Memory" (U.S. 특허 No.6,016,530, 2000년 1월 18일)가 이와 비슷한 개념을 가지며, 이는 본원에서 참조로서 인용된다.
비-휘발성 플래시 메모리 장치와 비-휘발성 하드 디스크를 조합함으로써, 최종 대용량 저장 시스템은 상기 부분들의 총합보다 더 클 수 있다. 그러나 이러한 메모리 시스템은 각각의 데이터 섹터의 단 하나의 버전이 유지되는 상황에서 제한된다. 데이터 섹터는 고속 메모리, 또는 저속 액세스 대용량 데이터 저장 장치에 저장되며, 상기 고속 메모리와 상기 저속 액세스 대용량 저장 장치의 용량의 총합과 동일한 논리 주소 공간이 제공된다.
하나 이상의 집적 회로 칩 상에 형성되는 플래시 셀의 배열을 사용하는, 상업적으로 성공적인 다수의 비-휘발성 메모리 프로덕트가 오늘날 사용되고 있다. 개 별 집적 회로 칩 상의 메모리 컨트롤러가 메모리 어레이의 동작을 제어한다. 이러한 컨트롤러는 마이크로프로세서, 일부 비-휘발성 ROM(Read-Only Memory), 비-휘발성 RAM(Random-Access Memory), 하나 이상의 특수 회로, 가령 프로그램 연산과 판독 연산 중에 상기 컨트롤러를 통과하는 데이터로부터 에러-보정 코드(ECC: Error-Correction-Code)를 연산하는 회로를 포함한다.
통상적인 플래시 어레이의 메모리 셀은 함께 소거될 수 있는 셀들의 개별 블록으로 나눠진다. 즉, 소거 블록은 소거 유닛(동시에 소거될 수 있는 최소 개수의 셀)이다. 각각의 소거 블록은 통상적으로 하나 이상의 데이터 페이지를 저장하며, 상기 페이지는 서로 다른 서브-어레이, 또는 플레인(plane)에서 병렬로 프로그래밍되거나 판독된다. 각각의 플레인은 데이터의 하나 이상의 섹터를 저장하며, 상기 섹터의 크기는 호스트 시스템에 의해 규정된다. 예를 들어 섹터는 마그네틱 디스크 드라이브 표준에 따르는 512byte의 사용자 데이터를 포함한다. 이러한 메모리들은 각각의 소거 블록 내에 16페이지, 또는 32 페이지, 또는 그 이상의 페이지로 구성되는 것이 통상적이며, 각각의 페이지는 하나, 또는 단지 소수의 데이터의 호스트 섹터만을 저장한다.
병렬성(parallelism)을 증가시키기 위해, 어레이가 서브-어레이(일명 플레인)로 나눠지는 것이 통상적이다. 각각의 플레인이 자신 고유의 데이터 레지스터와, 그 밖의 다른 병렬 연산용 회로를 포함하여, 데이터의 섹터가 프로그래밍되거나, 동시에 모든 플레인으로부터 판독될 수 있다. 단일 집적 회로 상의 어레이는 물리적으로 플레인으로 분할될 수 있거나, 또는 각각의 플레인이 별도의 집적 회로 칩으로부터 형성될 수 있다. 이러한 메모리 구현예의 예제가 Lee 외 다수의 U.S. Patent No. 5,798,968, "Plane decode/virtual sector architecture"(1998년 8월 25일)와, Lee 외 다수의 U.S. Patent No.5,890,192, "Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM"(1999년 3월 30일)이며, 이 둘 모두 본원에서 참조로서 인용된다.
메모리를 효율적으로 관리하기 위해, 가상 블록, 또는 메타블록(metablock)을 형성하기 위해, 소거 블록들이 함께 연결될 수 있다. 즉, 각각의 메타블록이 각각의 플레인으로부터 하나의 소거 블록을 포함하기 위해 형성된다. 상기 메타블록의 사용이 "Partial Block Data Programming And Reading Operations In A Non-Volatile Memory" (WO02/058074, 2002년 7월 25일)에서 서술되며, 이는 본원에서 참조로서 인용된다. 상기 메타블록은 호스트 논리 블록 주소에 의해 데이터의 프로그래밍 및 판독의 수신자로서 식별된다. 이와 유사하게, 메타블록의 모든 소거 블록은 함께 소거된다. 이러한 커다란 블록, 또는 메타블록에 의해 동작되는 메모리 시스템의 컨트롤러는, 호스트에 의해 수신된 논리 블록 주소(LBA)와 상기 메모리 셀 어레이내의 물리 블록 번호(PBN) 간의 변환을 유도하는 다수의 함수를 수행한다. 상기 블록 주소 내의 오프셋에 의해, 상기 블록 내의 개별 페이지가 식별되는 것이 일반적이다.
이러한 종류의 플래시 메모리 시스템은, 휴대용 애플리케이션의 대용량 저장 장치로서 사용되는 것이 일반적이다. 예를 들어 ATA 같은 프로토콜을 이용하는 논리 인터페이스를 통해, 플래시 메모리 장치는 호스트 시스템과 통신하며, 플래시 메모리 장치는 이동형 카드의 형태로 되어 있다. 상업적으로 이용 가능한 일부 카드로는 CF 카드(CompactFlashTM card), MMC(MultiMedia card), SD 카드(Secure Digital card), 스마트 미디어 카드, P-Tag(Personnel tag) 및 메모리 스틱 카드가 있다. 호스트로는 개인용 컴퓨터, 노트북 컴퓨터, PDA(Personal Digital Assistant), 다양한 데이터 통신 시스템, 이와 유사한 종류의 설비가 있다. 메모리 카드의 구현 외에도, 이러한 종류의 메모리는 다양한 종류의 호스트 시스템으로 내장될 수 있다.
과거에는, 플래시 메모리는 다양한 데이터 캐싱 기능에 대해, 또는 컴퓨터의 BIOS를 저장하기 위해, 또는 대용량 저장 장치의 확장으로서 사용되어 왔다. 이는 기록, 또는 판독 데이터의 캐싱을 위해 하드 디스크 장치 내에서 사용되어 왔다(선행 특허를 참조하여). 예를 들자면, Lasker 외 다수의 U.S. 특허 No. 5,586,291 "Disk controller with volatile and non-volatile cache memories"(1996년, 11월, 17일)는 판독 캐시 기능을 하는 휘발성 메모리에서 반사되는(mirrored) 데이터를 이용하여 하드 디스크를 위한 기록 캐시로서 사용되는 비-휘발성 메모리를 서술하고 있으며, 이는 본원에서 참조로서 인용된다. 본원에서 참조로 인용되는 Ramakrishnan 외 다수의 U.S. 특허 5,636,355 "Disk cache management techniques using non-volatile storage"(1997년 6월 3일)과, Mattson 외 다수의 U.S. 5,542,066 "Destaging modified data blocks from cache memory"(1996년 6월 30일)는 비-휘발성 메모리에서, 하드 디스크를 위한 기록 캐시로서의 사용과, 데이터를 캐시에서 하드 디스크로 이동시키기 위한 퍼징(purging), 또는 디스테이징(destaging) 알고리즘을 서술하고 있다. 디스크 캐시로서의 비-휘발성 메모리의 종래의 응용 분야에서, 하드 디스크에서 논리 주소에 의해 식별되는 데이터가 상기 비-휘발성 메모리의 물리적인 위치에 일시적으로 매핑된다.
대용량 저장 장치를 개선시키기 위한 노력이 계속되어 왔다.
본 발명에 의해, 두 개의 비-휘발성 대용량 저장 장치와 하나의 저장 컨트롤러를 포함할 수 있는 데이터 저장 시스템이 제공된다. 제 2 비-휘발성 대용량 저장 장치는 제 1 비-휘발성 대용량 저장 장치보다 더 높은 액세스 시간과 더 낮은 용량을 갖는다. 상기 두 개의 비-휘발성 대용량 저장 장치는 겹치는 주소 범위를 갖는다. 즉, 데이터의 임의의 조각이 두 대용량 저장 장치 모두에서 동시에 사용 가능한 것이다.
하나의 태양에서, 제 1 비-휘발성 대용량 저장 장치는 가용 상태와 불-가용 상태에 놓일 수 있다. 상기 제 1 대용량 저장 장치가 불-가용 상태에 있을 때, 상기 저장 컨트롤러는 제 2 대용량 저장 장치를 액세스하기만 한다. 불-가용 상태는, 상기 장치가 물리적으로 사용될 수 없다는 것(가령, 제거된 경우), 또는 가용 상태로 돌아갈 때까지 저장 컨트롤러가 액세스하지 않는 것을 의미한다. 상기 제 1 대용량 저장 장치가 가용 상태에 있을 때, 저장 컨트롤러는 제 1 대용량 저장 장치, 또는 제 2 대용량 저장 장치 모두에 액세스 가능하다.
또 다른 태양에서, 상기 저장 컨트롤러는 들어오는 데이터를 제 1 비-휘발성 대용량 저장 장치, 또는 제 2 비-휘발성 대용량 저장 장치로 전달한다. 데이터가 제 2 대용량 저장 장치로 전달될 경우, 그 후, 데이터는 상기 제 2 대용량 저장 장치로부터 상기 제 1 대용량 저장 장치로 복사된다. 어느 비-휘발성 대용량 저장 장치로 들어오는 데이터를 전달 할 것인지에 대한 상기 저장 컨트롤러의 선택은 제 1 비-휘발성 저장 장치로 복사되는 상기 제 2 비-휘발성 대용량 저장 장치내의 데이터의 양에 따라 다르다.
또 다른 태양에서, 제 2 비-휘발성 대용량 저장 장치에 저장되는, 또는 상기 요청 데이터가 상기 제 2 비-휘발성 대용량 저장 장치에 존재하지 않을 경우에는 상기 제 1 비-휘발성 대용량 저장 장치에 저장된 데이터를 이용하여, 상기 저장 컨트롤러는 외부 데이터 요청을 만족시킨다.
도 1A는 본 발명을 사용할 수 있는 바람직한 범용 컴퓨터 시스템을 도식한 도면이다.
도 1B는 도 1A의 범용 컴퓨터 시스템을 추상적으로 도식한 도면이다.
도 2A는 본 발명의 바람직한 실시예에 따르는 개선된 대용량 저장 장치를 도식한 도면이다.
도 2B는 본 발명의 또 다른 바람직한 실시예에 따르는 개선된 대용량 저장 장치를 도식한 도면이다.
도 3은 링 버퍼를 도식한 도면이다.
도 4A는 플래시 용량이 증가함에 따르는 시스템 성능을 도식한 도면이다.
도 4B는 개선된 대용량 저장 장치의 이용률이 감소함에 따른 성능 증가를 도식한 도면이다.
다음의 서술에서, 다수의 특정 세부 사항이 서술되어, 본 발명의 완전한 이해를 도울 것이다.
본 발명에 의해, 이른바 보조 메모리라고 일컬어지는 종래의 대용량 저장 장치가, 각각 장점과 단점을 갖는 두 개의 별도의 대용량 저장 장치를 조합함으로써 개선된다. 예를 들어, 플래시 대용량 저장 장치(“플래시 메모리 시스템”)를 하드 드라이브와 비교될 때, 상기 플래시 메모리 시스템은 충격에 강하며, 휴대용 애플리케이션에서 더욱 바람직하다. 왜냐하면 이동 부분 없이 동작할 수 있기 때문이다. 플래시 메모리 시스템이 하드 드라이브보다 더 빠른 액세스 시간을 가질지라도, 동일한 가격의 하드 드라이브의 저장 용량은 갖지 못하는 것이 일반적이다. 덧붙이자면, 상기 플래시 메모리 시스템에서는 정기적인 가비지 수집(garbage collection) 연산이 수행될 것을 요구하며, 상기 연산은 일정한 시간 주기 동안 플래시 메모리 시스템을 액세스하지 못하게 한다. 본 발명의 개선된 대용량 저장 장치는, 어느 장치가 특정 환경에 대하여 더욱 적합한지에 따라서, 플래시 메모리 시스템이나 하드 드라이브를 사용한다. 본 발명에서, 하나가 다른 하나 보다 액세스 시간은 더 빠르지만, 더 낮은 용량을 가질 경우에 한하여 임의의 두 개의 비-휘발성 대용량 저장 장치가 사용될 수 있다.
개선된 대용량 저장 장치를 사용하여, 몇 가지 여러 다른 이점이 얻어질 수 있다. 하나의 실시예에서, 상기 개선된 대용량 저장 장치에 의해, 신속한 시스템 부트(boot)와 애플리케이션의 신속한 스타트-업(start-up)이 제공될 수 있다. 부트 프로세서 동안, 호스트 시스템이 요구하는 정보, 가령 운영 체제와 구성 파일들이 상기 플래시 메모리 시스템에 저장될 수 있으며, 선택적으로, 두 번째 복사본이 하드 드라이브에 저장될 수 있다. 이러한 시스템에서, 상기 플래시 메모리 시스템이 비-휘발성 판독 캐시(read cache)로서 사용될 수 있으며, 플래시 메모리 시스템의 고속 랜덤 판독 액세스 특성에 의해, 휠씬 더 빠른 시스템 스타트-업이 가능해진다. 먼저 이러한 정보들은 자주 판독되는 정보로서 식별되며, 하드 드라이브로부터의 최초의 액세스 동안 플래시 메모리 시스템으로 복사될 수 있다. 이러한 정보는 보호되어, 상기 대용량 저장 장치에서 상기 플래시 메모리 시스템을 사용하는 다른 애플리케이션에 의해 덮어 쓰여지는 것이 방지될 수 있다. 애플리케이션 소프트웨어 파일은, 애플리케이션의 신속한 스타트-업을 제공하는 방식과 동일한 방식으로 처리될 수 있다.
또 다른 실시예에서, 개선된 대용량 저장 장치는 낮은 전력 저장 장치 기능을 할 수 있다. 상기 플래시 메모리 시스템에서 최근에 액세스된 정보의 복사본을 유지함으로써, 상기 개선된 대용량 저장 장치는 플래시 메모리 시스템을 판독/기록 캐시로서 사용할 수 있다. 그 후 휴대용 애플리케이션에서의 전력을 감소시키기 위해, 그리고 플래시 메모리의 낮은 전력 특성의 이점을 취하기 위해, 플래시 메모리에서의 캐시 적중을 이용하여, 요청 정보에 신속한 응답을 할 수 있는 높은 확률을 유지하면서, 상기 장치는 마그네틱 하드 디스크를 스핀 다운(spin down: 회전 속도 를 낮추는 것)시킬 수 있다.
이와 유사하게, 개선된 대용량 저장 장치는 충격에 강한 저장 장치의 장점을 제공할 수 있다. 높은 기계적 충격의 위험이 존재하는 환경에서, 상기 플래시 메모리 시스템에 저장되는 정보를 운영할 수 있도록 하면서, 마그네틱 하드 디스크를 스핀 다운시키는 것은, 반도체 메모리의 높은 충격 내성에 대한 이점을 취할 것이다.
개선된 대용량 저장 장치의 또 다른 잠재적인 이점은 단기 백업(back-up)을 이용하는 높은 신뢰도를 지니는 저장 장치가 제공된다는 것이다. 상기 플래시 메모리 시스템이 기록 캐시로서, 최근에 기록된 정보를 상기 플래시 메모리 시스템에 유지할 경우, 상기 정보는 하드 드라이브로 전송된 후에도, 상기 플래시 메모리 시스템에 유지된다. 상기 정보가 가능하면 오래 유지되고, 공간의 필요할 경우에만 그 위에 덮여 쓰여질 경우, 그 후 상기 기록 캐시는 최근에 기록된 정보의 두 번째 복사본의 안정성(security)을 제공한다. 그러므로 아직 백업되지 않은 최근 기록된 정보의 기계적인 고장(가령, 디스크 충돌)으로 인한 손실에 대하여 보호받기 위해 반도체 메모리의 높은 충격 내성을 사용하는 신뢰도 높은 저장 장치가, 개선된 대용량 저장 장치에 의해 제공될 수 있다.
도 1A은 본 발명을 이용할 수 있는 바람직한 범용 컴퓨터 시스템(100)을 도식한다. 구성요소로는 컴퓨터(105)와, 다양한 입력 장치(가령 마우스(110) 및 키보드(115))와, 다양한 출력 장치(가령 모니터(120) 및 프린터(125))가 있다.
도 1B는 도 1A의 컴퓨터 시스템(100)의 필수 구성요소만을 대략적으로 도식 한다. 단일 구성요소(130)는 사용자로 하여금 컴퓨터 시스템(130)과 상호 작용할 수 있게 해주는 마우스와 키보드 같은 입력 장치를 나타낸다. 이와 유사하게, 단일 구성요소(135)는 상기 컴퓨터 시스템(100)이 획득한 것이 무엇인지를 디스플레이하는 모니터와 프린터 같은 출력 장치를 나타낸다. 상기 컴퓨터 시스템(100)의 핵심은 중앙 처리 유닛(CPU)(140)이며, 이는 명령어(instruction)를 실행하는 구성요소이다. 메인 메모리(145)는 일반적으로 휘발성이고, CPU(140)에게 실행될 명령어와 상기 명령어에 의해 처리될 데이터를 모두 제공한다. 이러한 구성요소(130, 135, 140, 145)들은 종래의 기술에서 잘 알려져 있다.
개선된 대용량 저장 장치(150)에 의해, 상기 컴퓨터 시스템(100)은 막대한 양의 데이터를 영구적으로 유지할 수 있다. 상기 구성요소(130, 135, 140, 145, 150)는 호스트 버스(155)를 통해, 서로 서로 정보를 교환할 수 있다.
도 2A는 본 발명의 바람직한 실시예에 따르는 개선된 대용량 저장 장치(150A)를 도식한다. 두 개의 대용량 저장 장치, 플래시 메모리 시스템(205)과 하드 드라이브(210)가 병렬로 연결되어 있다. 상기 플래시 메모리 시스템(205)은 플래시 메모리 어레이(215)와 플래시 컨트롤러(220)를 포함한다. 상기 하드 드라이브(210)는 마그네틱 하드 디스크(225)와 디스크 컨트롤러(230)를 포함한다. 각각의 컨트롤러(220, 230)는 각각의 메모리 타입에 대하여 특수한 연산을 책임지고 있다. 가령, 컨트롤러(220)와 플래시 메모리 어레이(215) 간의 플래시 인터페이스(250)가 물리 인터페이스이도록 상기 플래시 컨트롤러(220)는 데이터 섹터의 모든 논리-대-물리 매핑(logical-to-physical mapping)과, 모든 플래시 메모리 관리를 제어한다. 상기 디스크 컨트롤러(230)는 기록 및 판독을 위해 마그네틱 하드 디스크(225)의 연산을 관리한다. 컨트롤러(220, 230) 모두 논리 인터페이스(260, 265)를 통해 라우터(235)에 연결된다.
또 다른 실시예에서, 기능이 라우터(235)를 이용하여 서로 병합된 컨트롤러(220, 230)는 통합된 컨트롤러 장치가 된다. 이러한 장치는 저장 컨트롤러(25)와 호스트 인터페이스(240)를 포함할 수 있다. 그러나 이러한 구성은 새로운 컨트롤러 유닛이 생성될 것을 요구할 것이다. 따라서 상기 컨트롤러(220, 230) 중 하나 이상은 메모리 장치로 간단하게 포함될 수 없을 것이다. 이러한 구성이 새로운 제어 회로가 구축되기를 필요로 하지만, 필요한 총 구성요소의 개수는 감소될 수 있다.
도 2A에서, 호스트 인터페이스(240)와 저장 컨트롤러(245)는 모두 라우터(235)로부터 상향에 위치하며, 이에 따라 데이터와 제어 정보는, 호스트 인터페이스(240)와, 디스크 컨트롤러(230)나 플래시 컨트롤러(220) 간의 방향으로 통과할 수 있다. 덧붙이자면, 상기 라우터(235)는 디스크 컨트롤러(230)와 플래시 컨트롤러(220) 간의 방향으로, 데이터의 전송을 제어할 수 있다. 이러한 전송은 스탠드 얼론(stand-alone) 방식으로 이뤄질 수 있다. 또는 이러한 전송은 호스트 인터페이스(240)와 대용량 저장 컨트롤러(220,230) 중 하나 간의 방향으로의 데이터 전송과 조합되어 이뤄질 수 있다. 라우터(235)는 이러한 데이터 전송에 대하여 제어 논리를 사용할 수 있다.
호스트 인터페이스(240)는 호스트 버스(155)로의 직접 인터페이스를 제공하며, 호스트 버스(155) 상에서 사용되는 특정 프로토콜에 대한 모든 지원을 제공할 수 있다. 상기 호스트 인터페이스(240)와 디스크 컨트롤러(230)와 마그네틱 하드 디스크(225)에 의해 형성되는 서브-시스템뿐 아니라, 호스트 인터페이스(240)와 플래시 컨트롤러(220)와 마그네틱 하드 디스크(225)에 의해 형성되는 서브-시스템은 모두 완전한 대용량 데이터 저장 시스템을 형성한다. 상기 라우터(235)는 데이터와 제어 신호를 수정 없이, 호스트 인터페이스(240)로부터 전송시킬 수 있으며, 또는 컨트롤러(220, 230)와의 통신을 위한 교대적인 프로토콜을 확립할 수 있다. 라우터(235)와 대용량 저장 컨트롤러(220, 230) 간의 인터페이스(260, 265)는 표준 프로토콜, 가령 ATA일 수 있으며, 또는 개선된 대용량 저장 장치(150)를 위해 정의된 특수 인터페이스일 수 있다. 인터페이스(260, 265)는, 플래시 메모리 시스템(205)과 하드 드라이브(210)에서 데이터의 개별 섹터의 랜덤 판독 및 기록 액세스를 제공하는 논리 인터페이스인 것이 일반적이며, 각각의 저장 매체의 물리적인 특성에는 독립적인 것이 일반적이다.
덧붙이자면, 플래시 컨트롤러(220)는 인터페이스(260) 상에서 특수 명령어, 또는 연산을 지원하여, 플래시 메모리 어레이(215)의 예약된 영역으로의 직접 액세스를 제공할 수 있으며, 이는 저장 컨트롤러(245)에 의해 사용되는 테이블과 정보 로그(log)의 저장을 위해 사용될 수 있다. 또는, 상기 저장 컨트롤러(245)는 이러한 테이블과 로그에 대하여 자신 고유의 비-휘발성 메모리를 가질 수 있다.
상기 저장 컨트롤러(245)는 호스트 인터페이스(240)와 대용량 저장 컨트롤러(220, 230) 간의 정보의 전송을 지시하는 지능형 제어 유닛이다. 상기 저장 컨트롤러(245)는 플래시 메모리 시스템(205)이나 하드 드라이브(210)로의 데이터의 저 장과, 플래시 메모리 시스템(205)이나 하드 드라이브(210)로부터의 데이터의 판독을 조장한다. 상기 저장 컨트롤러(245)는 플래시 메모리 어레이(215)에 저장되는 정보에 대한 주소 테이블을 유지하고, 일부 실시예에서는 마그네틱 하드 디스크(225)에 저장되는 정보를 위한 테이블도 유지한다.
개선된 대용량 저장 장치(150)의 구성요소의 많은 부분, 가령 호스트 인터페이스(240), 라우터(235), 플래시 컨트롤러(220), 디스크 컨트롤러(230)에서, 휘발성 메모리가 버퍼, 또는 캐시 메모리 기능을 할 수 있다. 다양한 구성요소에서 단일 휘발성 메모리가 작동되기 위해 스케줄링되거나, 개별 휘발성 메모리들이 각각의 구성요소에 대하여 특화될 수 있다.
도 2B는 개선된 대용량 저장 장치의 또 다른 실시예(150B)를 도식한다. 논리 인터페이스(260)가 생략되며, 플래시 메모리 어레이(280)에 직접 연결되는 물리 인터페이스(275)로 대체된다. 플래시 메모리 어레이(280)의 직접 제어는 통합된 컨트롤러(285)에 의해 구현되며, 상기 컨트롤러(285)는 저장 컨트롤러(245)와 라우터(235) 모두의 기능을 수행할 수 있다. 이러한 실시예에서, 상기 플래시 컨트롤러(220)의 기능은 필요하지 않으며, 플래시 메모리 어레이(280)는 논리 데이터 저장 장치의 이루부을 형성하지 않고, 물리적 저장으로서 직접 사용된다. 이는 데이터 스트림의 일시적인 저장에 특히 적합하다.
도 3은 플래시 메모리 어레이(280)에서 데이터 스트림에서 섹터의 저장을 구성하는, 링 버퍼(300)의 형태로 되어 있는 한 가지 방법을 도식한다. 데이터의 섹터를 기록하기 위한 현재의 위치는 기록 포인터(305)에 의해 정의되며, 무제한 사 이클에서, 이는 주소 공간을 통과하여 반-시계 방향으로 이동한다. 상기 주소 공간은 메타블록(가령 310, 315)에 의해 형성되며, 상기 메타블록은 지정 방식으로, 또는 상기 기록 포인터(305)가 전체 메타블록으로부터 새롭게 소거된 메타블록으로 이동할 때 동적으로 결정되는 방식으로 링크(가령 320)된다. 이와 유사하게 소거 포인터(325)가 무한 싸이클에서 주소 공간을 통과하여 반-시계 방향으로 이동한다. 새로운 데이터 섹터를 저장하기 위해, 소거 포인트(325)에 의해 식별된 메타블록은, 소거된 메타블록의 작은 풀(pool)이 기록 포인터(305)의 앞쪽에 유지되는 것이 보장되는 속도로 소거된다. 링 버퍼(300)에서, 소거된 블록은 가장 최근에 기록된 데이터를 포함한다.
개선된 대용량 저장 장치(150)는 플래시 메모리 시스템(205)을, 마그네틱 하드 드라이브(210)로부터 판독된 모든 데이터의 복사본을 저장하는 기록 캐시로서 사용함으로써 자신의 이중 특성의 장점을 이용한다. 플래시 메모리 시스템(205)은 자신의 논리 주소 공간의 영역을 판독 캐시로서 할당하거나, 또는 논리 주소 공간을 기능에 할당할 수 있다. 식별된 논리 주소 공간의 영역 내에서 캐싱된 데이터를 저장하기 위한 위치는, 순환하는 버퍼를 형성하는 기록 주소 포인터를 증가시킴으로써 결정될 수 있고, 또는 상기 마그네틱 하드 드라이브(210) 내의 데이터의 논리 주소의 결정 함수일 수 있다.
또는, 대용량 저장 장치(150B)에서, 마그네틱 하드 드라이브(210)로부터 판독된 모든 데이터의 복사본을 저장하기 위해, 링 버퍼(300)가 사용될 수 있다. 따라서 최근에 판독된 데이터가 링 버퍼(300)에 항상 존재하는 반면에, 연계되어 있 는 메타블록이 상기 소거 포인터에 의해 식별될 때, 오래된 데이터는 소거된다.
또는, 디스크 장치로부터 판독되는 데이터가 상기 판독 캐시로 선택적으로 복사될 수 있다. 이러한 작업은 데이터가 판독되는 주파수, 또는 판독되는 파일의 특성, 또는 그 밖의 다른 기준을 기반으로 이뤄질 수 있다.
또 다른 실시예에서, 개선된 대용량 저장 장치(150)는 기록 캐시 기능을 하는 플래시 메모리 시스템(205)을 이용하여 동작할 수 있다. 상기 판독 캐시에 대하여 서술된 것과 유사한 순환 버퍼가, 하드 드라이브(210)에 병렬로 연결되어 있는 호스트 버스(155)로부터 공급되는 데이터를 저장하기 위해 사용될 수 있다. 이러한 방식으로, 대용량 저장 장치가 단일 마그네틱 하드 드라이브(210)일 경우, 시스템(100)으로 하여금 자신의 기록 연산을 완료할 수 있게 하면서, 들어오는 데이터가 상기 개선된 대용량 저장 장치(150)에 저장될 수 있다. 데이터가 호스트 시스템 버스(155)를 통해 전송되는 것이 중단될 때, 상기 개선된 대용량 저장 장치(150)가 상기 플래시 메모리 시스템(205)으로부터 마그네틱 하드 드라이브(210)로의 데이터의 전송을 완료할 필요가 있을지라도, 상기 데이터가 최종 도착지에 도달한 것처럼 CPU(140)가 행동할 수 있다. 일반적으로, 상기 대용량 저장 장치(150)가 사용되지 않을 때, 이러한 전송이 발생할 것이다. 그러나 한 번의 싸이클 동안, 플래시 메모리 시스템(205)이 기록 및 판독을 할 수 있을 경우(가령, 듀얼 포트 메모리 구조를 사용함으로써), 플래시 메모리 시스템(205)으로의 기록 중에, 이러한 전송이 발생할 수 있다.
시스템 성능의 전체적인 향상은 플래시 메모리 시스템(205)의 용량과, 얼마 나 자주 상기 개선된 대용량 저장 장치(150)가 액세스되는지에 따라 좌우된다. 대용량 저장 장치로서 기능하지 못하는 작은 용량의 플래시는 플래시 캐시와 동일한 기능을 하며, 이는 시스템 성능을 크게 개선 시키지 않을 것이다. 그러나 플래시가 커짐에 따라, 상기 시스템 성능의 개선이 더욱 커진다(도 4A 참조). 플래시 메모리 시스템(205)이 커질수록, 더 많은 데이터가 저장될 수 있다.
이와 유사하게, 도 4B가 개선된 대용량 저장 장치(150)가 더 사용됨에 따라, 상기 시스템 성능이 하락하는 양상을 나타낸다. 상기 대용량 저장 장치(150)를 지속적으로 액세스할 경우, 데이터를 플래시 메모리 시스템(205)으로부터 하드 드라이브(210)로 전송시키기 위한 충분한 시간이 존재하지 않을 것이다. 결국 상기 대용량 저장 장치(150)는 플래시 메모리 시스템(205)의 사용을 중단시켜야 하고, 상기 하드 드라이브(210)를 배타적으로(exclusively) 사용하여야 한다. 그럴 경우, 상기 시스템 성능은 하드 드라이브(210)만 사용하는 시스템과 동일해질 것이다.
개선된 대용량 저장 장치(150)는 플래시 메모리 시스템(205)을 지나가는 동안 데이터를 하드 드라이브(210)로 직접 보내는 에러 핸들링 루틴(error handling routine)을 가져야 한다. 플래시 메모리 시스템(205)이 가득 찰 경우, 데이터가 하드 드라이브(210)로 성공적으로 전송되기 전까지는 개선된 대용량 저장 장치(150)가 상기 플래시 메모리 시스템(205) 위에 덮어 쓰지 못한다. 플래시 메모리 시스템(205)이 일시적으로 가용되지 않을 경우(가령, 상기 플래시 메모리 시스템(205)이 가비지 수집 프로세서를 하고 있을 경우), 동일한 에러 핸들링 루틴이 사용될 수 있다.
플래시 메모리 시스템(205)의 논리 주소 공간의 부분, 또는 전체를 차지하면서, 기록 캐시는 상기 판독 캐시와 독립적으로 존재할 수 있거나, 또는 상기 판독 캐시와 공존할 수 있다.
개선된 대용량 저장 장치(150)가 동작할 수 있는 또 다른 방식은, 특정 경우에 있어서, 플래시 메모리 시스템(205)을 배타적으로 사용하는 것이다. 예를 들면, 일부 경우에서, 시스템이 충격에 더 민감한 하드 드라이브(210)가 사용가능하지 않게 되는 이동 모드(portable mode)로 들어가는 것이 바람직하다. 이렇게 사용할 수 없는 상태는, 데이터가 하드 드라이브(210)로 전송되지 않다는 것, 또는 상기 하드 드라이브(210)가 전력을 보존하기 위해 차단된다는 것, 또는 개선된 대용량 저장 장치(150)로부터 상기 하드 드라이브(210)가 물리적으로 제거된다는 것을 의미한다. 예를 들어, 하드 드라이브(210)가 다시 가용 상태가 되면, 상기 저장 컨트롤러(245)에 의해, 두 개의 대용량 저장 장치(205, 210)가 서로에 대하여 동기화될 수 있다. 휴대용 기기에 있어서, 휴대용 기기가 자신의 도킹 스테이션(docking station)에 연결되면, 상기 하드 드라이브(210)는 가용 상태가 될 것이다. 또 다른 경우에 있어서, 동작 감지 회로가 시스템에게 더 이상 충격의 위험은 없다고 판단하기 때문에, 상기 하드 드라이브(210)는 가용 상태가 될 수 있다. 또 다른 경우에 있어서, 사용자에 의해, 수동으로 모드를 변환시킴으로써, 또는 시스템을 전기 콘센트에 연결시킴으로써, 상기 시스템이 하드 드라이브(210)를 가용 상태로 전환시킬 수 있다. 또 다른 경우에서, 상기 시스템은 플래시 메모리 시스템(205)의 공간을 확보하기 위해, 하드 드라이브(210)를 재-활성화시킬 수 있다. 모든 경우에서, 새로운 데이터로 덮어 쓰여지기 전까지 데이터가 플래시 메모리 시스템(205) 내에 존재하기 때문에, 상기 플래시 메모리 시스템(205)은 일시적인 백-업 기능을 할 수 있다.
판독 캐싱, 기록 캐싱, 배타적인 저장이 동일한 장치에서 모두 사용될 수 있다. 각각의 경우에서, 플래시 메모리 시스템(205)을 위한 논리 주소 공간은 하드 드라이브(210)를 위한 논리 주소 공간의 서브셋이다. 즉, 데이터 요청이 호스트 버스(155)로부터 오면, 상기 데이터 요청은 단일 논리 주소에 연계되어 있다. 논리 주소에 대응하는 가장 최근의 데이터가 플래시 메모리 시스템(205), 또는 하드 드라이브(210), 또는 양쪽 모두에 존재할 수 있다.
일부 실시예에서, 플래시 메모리 시스템의 특정 연산 전용인 부분은 상황에 따라 변경될 수 있다. 예를 들면, 배타적 저장 모드에서, 하드 드라이브(210)가 물리적으로 사용할 수 없는 상태일 경우, 상기 모드에서는 상기 플래시 메모리 시스템(205)의 어떠한 부분도 캐싱 연산을 위해 특화될 필요가 없다. 연결되면, 그 후, 상기 시스템은 캐시 목적(기록, 판독, 또는 모두)으로 플래시 메모리 시스템(205)을 사용하는 모드로 복귀될 수 있다.
특정 프로그램이 플래시 메모리 시스템에 영구적으로 저장되는 것이 더 적합할 경우, 이러한 프로그램을 위해 어떠한 대응하는 논리 주소도 하드 드라이브에 저장될 필요가 없다. 덧붙이자면, 그 밖의 다른 대용량 저장 장치는 플래시나 하드 드라이브가 아닌 다른 기술을 사용할 수 있으며, 그 예로는 배터리 지원 RAM, 광 디스크, OUM(ovonics unified memory), MRAM(magnetic RAM), 페로일렉트릭 폴리머, FeRAM(ferroelectric RAM), SoI(silicon on insulator) 등이 있다.

Claims (18)

  1. 데이터 저장 시스템에 있어서, 상기 데이터 저장 시스템은
    가용 상태(available state)와 불-가용 상태(unavailable state)에 있을 수 있으며, 제 1 범위의 논리 주소를 갖는 제 1 비-휘발성 대용량 저장 장치와,
    상기 제 1 비-휘발성 대용량 저장 장치보다 더 빠른 액세스 시간과 더 낮은 용량을 갖고, 제 2 범위의 논리 주소를 갖는 제 2 비-휘발성 대용량 저장 장치와,
    상기 제 1 비-휘발성 대용량 저장 장치가 불-가용 상태에 있을 때, 상기 제 2 비-휘발성 대용량 저장 장치 내의 데이터를 액세스할 수 있고, 상기 제 1 비-휘발성 대용량 저장 장치가 가용 상태에 있을 때 상기 제 1 비-휘발성 대용량 저장 장치와 상기 제 2 비-휘발성 대용량 저장 장치 모두 내의 데이터를 액세스할 수 있는 저장 컨트롤러
    를 포함하며, 이때 제 1 범위의 논리 주소와 제 2 범위의 논리 주소는 서로 겹치는 것을 특징으로 하는 데이터 저장 시스템.
  2. 제 1 항에 있어서, 상기 데이터 저장 시스템이 이동 모드(portable mode)로 돌입할 때, 상기 불-가용 상태가 활성화되는 것을 특징으로 하는 데이터 저장 시스템.
  3. 제 2 항에 있어서, 상기 이동 모드는 모션 검출 회로(motion detection circuitry)를 이용하여 판단되는 것을 특징으로 하는 데이터 저장 시스템.
  4. 제 1 항에 있어서, 상기 제 2 범위의 논리 주소의 일 부분이 상기 제 1 범위의 논리 주소와 겹치지 않으며, 이에 따라서 상기 제 2 범위의 논리 주소의 일 부분은, 상기 제 1 비-휘발성 대용량 저장 장치에 존재하지 않는 데이터도 포함하는 것을 특징으로 하는 데이터 저장 시스템.
  5. 제 1 항에 있어서, 제 1 비-휘발성 대용량 저장 장치의 불-가용 상태에서 가용 상태로의 전환 후에, 상기 저장 컨트롤러가 상기 제 2 비-휘발성 대용량 저장 장치 상의 상기 제 2 범위의 주소에 포함되는 데이터를, 상기 제 1 비-휘발성 대용량 저장 장치 상의 제 1 범위의 주소와 동기화시키는 것을 특징으로 하는 데이터 저장 시스템.
  6. 제 1 항에 있어서, 제 1 비-휘발성 대용량 저장 장치가 가용 상태에 있을 때, 상기 제 2 비-휘발성 대용량 저장 장치는 상기 제 1 비-휘발성 대용량 저장 장치를 위한 캐시(cache) 기능을 할 수 있는 것을 특징으로 하는 데이터 저장 시스템.
  7. 제 1 항에 있어서, 상기 제 1 비-휘발성 대용량 저장 장치는 마그네틱 하드 디스크를 사용하여, 데이터를 저장하고, 상기 제 2 비-휘발성 대용량 저장 장치는 플래시 메모리 어레이를 사용하여 데이터를 저장하는 것을 특징으로 하는 데이터 저장 시스템.
  8. 데이터 저장 시스템에 있어서, 상기 데이터 저장 시스템은
    제 1 범위의 논리 주소를 갖는 제 1 비-휘발성 대용량 저장 장치와,
    상기 제 1 비-휘발성 저장 장치보다 더 빠른 액세스 시간과 더 낮은 용량을 갖고, 제 2 범위의 논리 주소를 갖는 제 2 비-휘발성 대용량 저장 장치로서, 상기 제 1 범위의 논리 주소와 상기 제 2 범위의 논리 주소는 서로 겹쳐지는, 상기 제 2 비-휘발성 대용량 저장 장치와,
    들어오는 데이터(incoming data)를 제 1 비-휘발성 대용량 저장 장치, 또는 제 2 비-휘발성 대용량 저장 장치로 보내는 저장 컨트롤러
    를 포함하며, 이때 상기 데이터가 상기 제 2 비-휘발성 대용량 저장 장치로 보내진 후, 상기 데이터는 상기 제 2 비-휘발성 대용량 저장 장치로부터 상기 제 1 비-휘발성 대용량 저장 장치로 복사되며,
    들어오는 데이터가 어느 비-휘발성 대용량 저장 장치로 보내지는지에 대한 저장 컨트롤러의 선택은, 상기 제 1 비-휘발성 저장 장치로 복사되지 않은 제 2 비-휘발성 대용량 저장 장치 내의 데이터의 양에 따라 부분적으로, 또는 전적으로 좌우되는 것을 특징으로 하는 데이터 저장 시스템.
  9. 제 8 항에 있어서, 비활성 주기 동안, 상기 데이터는 상기 제 2 비-휘발성 대용량 저장 장치로부터 상기 제 1 비-휘발성 대용량 저장 장치로 복사되는 것을 특징으로 하는 데이터 저장 시스템.
  10. 제 8 항에 있어서,
    상기 제 2 비-휘발성 대용량 저장 장치는 액세스 불가 주기(period of inaccessibility)를 겪으며,
    상기 제 2 비-휘발성 대용량 저장 장치가 상기 액세스 불가 주기에 있을 때, 상기 저장 컨트롤러는 상기 제 1 비-휘발성 대용량 저장 장치로 데이터를 전달하는 것을 특징으로 하는 데이터 저장 시스템.
  11. 제 10 항에 있어서, 상기 액세스 불가 주기는 가비지 수집(gabage collection) 연산에 의해, 발생하는 것을 특징으로 하는 데이터 저장 시스템.
  12. 제 10 항에 있어서, 상기 제 2 비-휘발성 대용량 저장 장치 내의 데이터는 순환 버퍼 배열에 저장되는 것을 특징으로 하는 데이터 저장 시스템.
  13. 제 8 항에 있어서, 상기 제 1 비-휘발성 대용량 저장 장치는 마그네틱 하드 디스크를 사용하여 데이터를 저장하며, 상기 제 2 비-휘발성 대용량 저장 장치는 플래시 메모리 어레이를 사용하여 데이터를 저장하는 것을 특징으로 하는 데이터 저장 시스템.
  14. 데이터 저장 시스템에 있어서, 상기 데이터 저장 시스템은
    제 1 범위의 논리 주소를 갖는 제 1 비-휘발성 대용량 저장 장치와,
    상기 제 1 비-휘발성 대용량 저장 장치보다 더 빠른 액세스 시간과 더 낮은 용량을 갖고, 제 2 범위의 논리 주소를 갖는 제 2 비-휘발성 대용량 저장 장치로서, 상기 제 1 범위의 논리 주소와 상기 제 2 범위의 논리 주소는 서로 겹치는, 제 2 비-휘발성 대용량 저장 장치와,
    상기 제 2 비-휘발성 대용량 저장 장치에 저장되는 데이터를 이용하여, 또는 요청되는 데이터가 상기 제 2 비-휘발성 대용량 저장 장치에 존재하지 않을 경우 제 1 비-휘발성 대용량 저장 장치에 저장되는 데이터를 이용하여 데이터 요청을 만족시키는 저장 컨트롤러
    를 포함하는 것을 특징으로 하는 데이터 저장 시스템.
  15. 제 14 항에 있어서, 데이터가 판독될 때 이용되는 주파수에 따라서, 데이터가 상기 제 1 비-휘발성 대용량 저장 장치로부터 상기 제 2 비-휘발성 대용량 저장 장치로 복사되는 것을 특징으로 하는 대용량 저장 시스템.
  16. 제 14 항에 있어서, 판독되는 데이터의 특성에 따라서, 데이터가 상기 제 1 비-휘발성 대용량 저장 장치로부터 상기 제 2 비-휘발성 대용량 저장 장치로 복사되는 것을 특징으로 하는 데이터 저장 시스템.
  17. 제 14 항에 있어서, 상기 제 2 비-휘발성 대용량 저장 장치 내의 데이터가 순환 버퍼 배열에 저장되는 것을 특징으로 하는 데이터 저장 시스템.
  18. 제 14 항에 있어서, 상기 제 1 비-휘발성 대용량 저장 장치는 마그네틱 하드 디스크를 사용하여 데이터를 저장하고, 상기 제 2 비-휘발성 대용량 저장 장치는 플래시 메모리 어레이를 사용하여 데이터를 저장하는 것을 특징으로 하는 데이터 저장 시스템.
KR1020067016983A 2004-02-04 2004-12-28 듀얼 매체 저장 장치 KR101105955B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/772,855 US7136973B2 (en) 2004-02-04 2004-02-04 Dual media storage device
US10/772,855 2004-02-04
PCT/US2004/043876 WO2005081093A1 (en) 2004-02-04 2004-12-28 Dual media storage device

Publications (2)

Publication Number Publication Date
KR20060123573A KR20060123573A (ko) 2006-12-01
KR101105955B1 true KR101105955B1 (ko) 2012-01-18

Family

ID=34808629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016983A KR101105955B1 (ko) 2004-02-04 2004-12-28 듀얼 매체 저장 장치

Country Status (9)

Country Link
US (2) US7136973B2 (ko)
EP (2) EP2254022A1 (ko)
JP (2) JP5129484B2 (ko)
KR (1) KR101105955B1 (ko)
CN (1) CN100487632C (ko)
AU (1) AU2005200321A1 (ko)
CA (1) CA2492921C (ko)
TW (1) TWI380171B (ko)
WO (1) WO2005081093A1 (ko)

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US20050216679A1 (en) * 2004-03-25 2005-09-29 Itzhak Levy Hard disk automatic hardware-based scheduled archiving
US20080140921A1 (en) * 2004-06-10 2008-06-12 Sehat Sutardja Externally removable non-volatile semiconductor memory module for hard disk drives
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US7788427B1 (en) 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
US7617359B2 (en) * 2004-06-10 2009-11-10 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US20070083785A1 (en) * 2004-06-10 2007-04-12 Sehat Sutardja System with high power and low power processors and thread transfer
US20070094444A1 (en) * 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
US7702848B2 (en) * 2004-06-10 2010-04-20 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US7730335B2 (en) 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
JP4311287B2 (ja) * 2004-06-25 2009-08-12 ソニー株式会社 ブートシステム及びブート方法及びこのブート方法を用いたデータ処理装置
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
JP2006146460A (ja) * 2004-11-18 2006-06-08 Sony Corp 通信システム、記憶装置、並びに制御装置
CN100456265C (zh) * 2004-12-14 2009-01-28 国际商业机器公司 移动计算机系统以及操作移动计算机系统的方法
US7933172B2 (en) * 2005-01-10 2011-04-26 Hewlett-Packard Development Company, L.P. Method for playing contents using master and slave optical disc
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7610445B1 (en) * 2005-07-18 2009-10-27 Palm, Inc. System and method for improving data integrity and memory performance using non-volatile media
JP5008845B2 (ja) * 2005-09-01 2012-08-22 株式会社日立製作所 ストレージシステムとストレージ装置及びその制御方法
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7634585B2 (en) 2005-11-04 2009-12-15 Sandisk Corporation In-line cache using nonvolatile memory between host and disk device
US20070106842A1 (en) * 2005-11-04 2007-05-10 Conley Kevin M Enhanced first level storage caching methods using nonvolatile memory
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
JP4993911B2 (ja) * 2006-01-05 2012-08-08 ソニー株式会社 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
SG135056A1 (en) * 2006-02-14 2007-09-28 Trek 2000 Int Ltd Data storage device using two types of storage medium
SG135082A1 (en) * 2006-02-27 2007-09-28 Gueh How Kiap Method and apparatus for removable, ide-ata or scsi flash memory based data storage in a portable computer device
US7694123B2 (en) * 2006-03-28 2010-04-06 Hewlett-Packard Development Company, L.P. Storing files for operating system restoration
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
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
JP4375572B2 (ja) 2006-10-02 2009-12-02 セイコーエプソン株式会社 半導体記憶装置、データ記録装置、半導体記憶装置の制御方法
JP4933211B2 (ja) * 2006-10-10 2012-05-16 株式会社日立製作所 ストレージ装置、制御装置及び制御方法
JP4942446B2 (ja) * 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
KR100866962B1 (ko) * 2007-03-08 2008-11-05 삼성전자주식회사 Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법
JP2008276626A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
US7899987B2 (en) * 2007-05-15 2011-03-01 Sandisk Il Ltd. File storage in a computer system with diverse storage media
US8032699B2 (en) * 2007-06-15 2011-10-04 Seagate Technology Llc System and method of monitoring data storage activity
US20090006720A1 (en) * 2007-06-27 2009-01-01 Shai Traister Scheduling phased garbage collection and house keeping operations in a flash memory system
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US20090002863A1 (en) * 2007-06-29 2009-01-01 Seagate Technology, Llc System and method of monitoring data operations at a data storage device
US8122322B2 (en) 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
JP2009043030A (ja) 2007-08-09 2009-02-26 Hitachi Ltd ストレージシステム
US8164656B2 (en) * 2007-08-31 2012-04-24 Unity Semiconductor Corporation Memory emulation in an image capture device
US7818493B2 (en) * 2007-09-07 2010-10-19 Sandisk Corporation Adaptive block list management
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
JP2009134367A (ja) * 2007-11-28 2009-06-18 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
US9134917B2 (en) 2008-02-12 2015-09-15 Netapp, Inc. Hybrid media storage system architecture
JP2009199199A (ja) * 2008-02-20 2009-09-03 Hitachi Ltd ストレージシステム及びそのデータライト方法
KR101449524B1 (ko) 2008-03-12 2014-10-14 삼성전자주식회사 스토리지 장치 및 컴퓨팅 시스템
JP2009238094A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージシステム及びデータ保存方法
CN101551779B (zh) * 2008-04-02 2014-11-05 深圳市朗科科技股份有限公司 计算机及数据存储方法
JP5179649B2 (ja) * 2008-04-22 2013-04-10 エルエスアイ コーポレーション ドライブアレイにおける分散キャッシュシステム
US8296782B2 (en) * 2008-04-22 2012-10-23 Lsi Corporation System eliminating hardware duplication during application testing of an internal storage array across different operating systems
US20090327577A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Hybrid storage
US8812805B2 (en) * 2008-08-05 2014-08-19 Broadcom Corporation Mixed technology storage device that supports a plurality of storage technologies
US20100057984A1 (en) * 2008-08-26 2010-03-04 Seagate Technology Llc Memory hierarchy containing only non-volatile cache
DE112008004033T5 (de) * 2008-10-09 2012-01-19 Numonyx B.V. Virtualisiertes Ecc Nand
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US8316201B2 (en) 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
JP5025670B2 (ja) * 2009-01-28 2012-09-12 株式会社東芝 情報処理装置およびデータ記憶装置
US8161228B2 (en) * 2009-03-19 2012-04-17 Samsung Electronics Co., Ltd. Apparatus and method for optimized NAND flash memory management for devices with limited resources
TWI371686B (en) * 2009-04-02 2012-09-01 Lsi Corp System and method to reduce drive overhead using a mirrored cache volume in a storage array
US8327076B2 (en) 2009-05-13 2012-12-04 Seagate Technology Llc Systems and methods of tiered caching
JP2012529692A (ja) * 2009-06-10 2012-11-22 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US20110035562A1 (en) * 2009-08-10 2011-02-10 Hewlett-Packard Development Company, L.P. Providing mirroring write data
WO2011030290A1 (en) * 2009-09-08 2011-03-17 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
US9063886B2 (en) * 2009-09-18 2015-06-23 Apple Inc. Metadata redundancy schemes for non-volatile memories
US8949565B2 (en) * 2009-12-27 2015-02-03 Intel Corporation Virtual and hidden service partition and dynamic enhanced third party data store
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8463984B2 (en) * 2009-12-31 2013-06-11 Seagate Technology Llc Dynamic data flow management in a multiple cache architecture
US8726126B2 (en) 2010-03-23 2014-05-13 Apple Inc. Non-regular parity distribution detection via metadata tag
US9465745B2 (en) 2010-04-09 2016-10-11 Seagate Technology, Llc Managing access commands by multiple level caching
US9311018B2 (en) * 2010-05-11 2016-04-12 Taejin Info Tech Co., Ltd. Hybrid storage system for a multi-level RAID architecture
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
JP5520747B2 (ja) * 2010-08-25 2014-06-11 株式会社日立製作所 キャッシュを搭載した情報装置及びコンピュータ読み取り可能な記憶媒体
US8892981B2 (en) 2010-09-30 2014-11-18 Apple Inc. Data recovery using outer codewords stored in volatile memory
US8549219B1 (en) * 2010-12-07 2013-10-01 Hewlett-Packard Development Company, L.P. Preventing hard drive failure and data loss due to vibration
US20120185642A1 (en) * 2011-01-18 2012-07-19 International Business Machines Corporation Assigning a data item to a storage location in a computing environment
US8954647B2 (en) 2011-01-28 2015-02-10 Apple Inc. Systems and methods for redundantly storing metadata for non-volatile memory
JP5505329B2 (ja) * 2011-02-22 2014-05-28 日本電気株式会社 ディスクアレイ装置及びその制御方法
US9229816B2 (en) * 2011-03-14 2016-01-05 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
US9477597B2 (en) 2011-03-25 2016-10-25 Nvidia Corporation Techniques for different memory depths on different partitions
US8701057B2 (en) 2011-04-11 2014-04-15 Nvidia Corporation Design, layout, and manufacturing techniques for multivariant integrated circuits
US9529712B2 (en) * 2011-07-26 2016-12-27 Nvidia Corporation Techniques for balancing accesses to memory having different memory types
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
CN102360279B (zh) * 2011-10-24 2017-08-25 南京中兴软件有限责任公司 一种处理来自计算机的操作指令的方法和一种接口设备
CN102331958A (zh) * 2011-11-02 2012-01-25 赵玉燕 Linux系统下硬盘启动的方法
US9268701B1 (en) 2011-11-21 2016-02-23 Western Digital Technologies, Inc. Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability
US8977803B2 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US8977804B1 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Varying data redundancy in storage systems
US8904091B1 (en) 2011-12-22 2014-12-02 Western Digital Technologies, Inc. High performance media transport manager architecture for data storage systems
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US8760922B2 (en) 2012-04-10 2014-06-24 Sandisk Technologies Inc. System and method for micro-tiering in non-volatile memory
US9009392B2 (en) 2012-04-25 2015-04-14 International Business Machines Corporation Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
US8898376B2 (en) 2012-06-04 2014-11-25 Fusion-Io, Inc. Apparatus, system, and method for grouping data stored on an array of solid-state storage elements
US9477591B2 (en) 2012-07-06 2016-10-25 Seagate Technology Llc Memory access requests in hybrid memory system
US9390020B2 (en) * 2012-07-06 2016-07-12 Seagate Technology Llc Hybrid memory with associative cache
US9772948B2 (en) 2012-07-06 2017-09-26 Seagate Technology Llc Determining a criterion for movement of data from a primary cache to a secondary cache
US9594685B2 (en) 2012-07-06 2017-03-14 Seagate Technology Llc Criteria for selection of data for a secondary cache
US9529724B2 (en) 2012-07-06 2016-12-27 Seagate Technology Llc Layered architecture for hybrid controller
US9104578B2 (en) 2012-07-06 2015-08-11 Seagate Technology Llc Defining address ranges used to cache speculative read data
US9564186B1 (en) * 2013-02-15 2017-02-07 Marvell International Ltd. Method and apparatus for memory access
US9189409B2 (en) * 2013-02-19 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing writes to solid state drive cache memories of storage controllers
US9069695B2 (en) 2013-03-14 2015-06-30 Apple Inc. Correction of block errors for a system having non-volatile memory
CN105144025B (zh) * 2013-05-31 2019-02-12 惠普发展公司,有限责任合伙企业 大容量存储设备
US9507719B2 (en) 2013-08-20 2016-11-29 Seagate Technology Llc Garbage collection in hybrid memory system
US9785564B2 (en) 2013-08-20 2017-10-10 Seagate Technology Llc Hybrid memory with associative cache
US9367247B2 (en) 2013-08-20 2016-06-14 Seagate Technology Llc Memory access requests in hybrid memory system
US9348747B2 (en) * 2013-10-29 2016-05-24 Seagate Technology Llc Solid state memory command queue in hybrid device
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
KR20160083926A (ko) 2013-11-07 2016-07-12 넷리스트 인코포레이티드 하이브리드 메모리 모듈, 및 그를 동작시키는 시스템 및 방법
US9576039B2 (en) 2014-02-19 2017-02-21 Snowflake Computing Inc. Resource provisioning systems and methods
US9652384B2 (en) * 2014-12-16 2017-05-16 Intel Corporation Apparatus, system and method for caching compressed data
CN106293635B (zh) * 2015-05-13 2018-10-30 华为技术有限公司 指令块处理方法及装置
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
JP6981019B2 (ja) * 2017-03-14 2021-12-15 日本電気株式会社 ストレージ装置、ストレージシステム、ストレージ装置の制御方法、プログラム
KR102369402B1 (ko) * 2017-09-20 2022-03-02 삼성전자주식회사 스토리지 장치, 이의 동작 방법 및 스토리지 장치를 포함하는 스토리지 시스템
US11132145B2 (en) * 2018-03-14 2021-09-28 Apple Inc. Techniques for reducing write amplification on solid state storage devices (SSDs)
US11221955B2 (en) * 2018-09-06 2022-01-11 International Business Machines Corporation Metadata track selection switching in a data storage system
TWI831564B (zh) * 2022-11-09 2024-02-01 晶心科技股份有限公司 可配置的記憶體系統及其記憶體管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083280A1 (en) 2000-12-27 2002-06-27 International Business Machines Corporation Data server system, computer apparatus, and recording medium

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
JPS6367661A (ja) * 1986-09-09 1988-03-26 Hitachi Ltd キヤツシユメモリのデ−タ保護方式
US4807120A (en) * 1987-04-30 1989-02-21 Texas Instruments Incorporated Temporal garbage collector with indirection cells
JPH0453060A (ja) * 1990-06-20 1992-02-20 Yokogawa Electric Corp ミラードディスク装置
JPH0679293B2 (ja) * 1990-10-15 1994-10-05 富士通株式会社 計算機システム
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
JPH06103001A (ja) * 1992-09-18 1994-04-15 Hitachi Ltd 磁気ディスクサブシステム
JPH06161673A (ja) * 1992-11-17 1994-06-10 Fujitsu Ltd 二重化ディスクを使用する計算機システム
JPH06175922A (ja) * 1992-12-08 1994-06-24 Oki Electric Ind Co Ltd キャッシュ管理装置
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5542066A (en) 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
JPH07253935A (ja) * 1994-03-15 1995-10-03 Toshiba Corp コンピュータのデータ保護装置
US6125578A (en) 1994-05-03 2000-10-03 Southpac Trust International, Inc. Floral sleeve having expandable sidewalls
JPH0883148A (ja) * 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
US5586291A (en) 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US5708846A (en) 1995-02-24 1998-01-13 Intel Corporation System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5754888A (en) 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
JPH09297659A (ja) * 1996-04-30 1997-11-18 Toshiba Corp 不揮発性記憶装置およびその制御方法
US5732238A (en) * 1996-06-12 1998-03-24 Storage Computer Corporation Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system
JPH1011881A (ja) * 1996-06-20 1998-01-16 Ekushingu:Kk 耐振動情報提供装置
GB9613088D0 (en) 1996-06-21 1996-08-28 Memory Corp Plc Memory device
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6424486B2 (en) 1997-12-17 2002-07-23 Texas Instruments Incorporated Method and apparatus for positioning a read/write head of a hard disk drive
US6286056B1 (en) * 1998-06-26 2001-09-04 Seagate Technology Llc Data storage device with small computer system interface providing persistent reservations
US6408357B1 (en) 1999-01-15 2002-06-18 Western Digital Technologies, Inc. Disk drive having a cache portion for storing write data segments of a predetermined length
US6370614B1 (en) * 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
TW576966B (en) * 2000-06-23 2004-02-21 Intel Corp Non-volatile cache integrated with mass storage device
WO2002001365A2 (en) * 2000-06-23 2002-01-03 Intel Corporation Non-volatile cache
JP3832223B2 (ja) * 2000-09-26 2006-10-11 株式会社日立製作所 ディスクアレイのディスク障害復旧方法
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP2002259062A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US6631456B2 (en) * 2001-03-06 2003-10-07 Lance Leighnor Hypercache RAM based disk emulation and method
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
JP3730907B2 (ja) * 2001-12-04 2006-01-05 日本電気株式会社 ディスクアレイ装置間の遠隔データコピー方式
JP2003173240A (ja) * 2001-12-05 2003-06-20 Hitachi Ltd 記憶装置システム及びそのデータバックアップ方法
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US6728898B2 (en) * 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
JP2003316625A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd データ移行方法
US7096378B2 (en) * 2002-08-29 2006-08-22 Freescale Semiconductor, Inc. Data storage system having a non-volatile IC based memory for storing user data
US7006318B2 (en) * 2002-08-29 2006-02-28 Freescale Semiconductor, Inc. Removable media storage system with memory for storing operational data
US6646948B1 (en) 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time
US7024614B1 (en) * 2002-12-24 2006-04-04 Western Digital Technologies, Inc. Disk drive employing a configuration data structure comprising a plurality of configuration parameters to facilitate disk commands
US7099993B2 (en) * 2003-09-24 2006-08-29 Seagate Technology Llc Multi-level caching in data storage devices
US20050125602A1 (en) 2003-12-04 2005-06-09 Ehrlich Richard M. HDD with storage of critical data in FLASH
US20050125600A1 (en) 2003-12-04 2005-06-09 Ehrlich Richard M. Method for storing HDD critical data in flash
US20050125603A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for rapid availability of critical data through re-allocation
US7170707B2 (en) * 2004-11-09 2007-01-30 Matsushita Electric Industrial Co., Ltd. Systems and methods for reducing power dissipation in a disk drive including an adjustable output voltage regulator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083280A1 (en) 2000-12-27 2002-06-27 International Business Machines Corporation Data server system, computer apparatus, and recording medium

Also Published As

Publication number Publication date
CA2492921A1 (en) 2005-08-05
US20050172074A1 (en) 2005-08-04
KR20060123573A (ko) 2006-12-01
US7302534B2 (en) 2007-11-27
JP2007525753A (ja) 2007-09-06
CA2492921C (en) 2009-04-14
CN100487632C (zh) 2009-05-13
TWI380171B (en) 2012-12-21
EP2254022A1 (en) 2010-11-24
US20070022241A1 (en) 2007-01-25
AU2005200321A1 (en) 2005-08-25
JP2011222030A (ja) 2011-11-04
TW200604795A (en) 2006-02-01
EP1711883A1 (en) 2006-10-18
US7136973B2 (en) 2006-11-14
WO2005081093A1 (en) 2005-09-01
CN1938670A (zh) 2007-03-28
JP5129484B2 (ja) 2013-01-30

Similar Documents

Publication Publication Date Title
KR101105955B1 (ko) 듀얼 매체 저장 장치
US10126959B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7127549B2 (en) Disk acceleration using first and second storage devices
KR101449524B1 (ko) 스토리지 장치 및 컴퓨팅 시스템
US8489803B2 (en) Efficient use of flash memory in flash drives
KR20170087044A (ko) Os 및 애플리케이션 투명 메모리 압축 기술
KR20170087043A (ko) 저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘
JP2010152909A (ja) 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
US20110271037A1 (en) Storage device performing data invalidation operation and data invalidation method thereof
KR20160119607A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11941246B2 (en) Memory system, data processing system including the same, and operating method thereof
TW202414223A (zh) 資料處理方法及對應之資料儲存裝置
CN115809018A (zh) 改善系统的读取性能的设备和方法
KR20100132837A (ko) 플래시 메모리 저장 장치 및 그것을 포함한 컴퓨팅 시스템

Legal Events

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

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8