KR20180072855A - 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치 - Google Patents

저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치 Download PDF

Info

Publication number
KR20180072855A
KR20180072855A KR1020187017375A KR20187017375A KR20180072855A KR 20180072855 A KR20180072855 A KR 20180072855A KR 1020187017375 A KR1020187017375 A KR 1020187017375A KR 20187017375 A KR20187017375 A KR 20187017375A KR 20180072855 A KR20180072855 A KR 20180072855A
Authority
KR
South Korea
Prior art keywords
write request
data
space
storage
condition
Prior art date
Application number
KR1020187017375A
Other languages
English (en)
Other versions
KR101962359B1 (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 KR20180072855A publication Critical patent/KR20180072855A/ko
Application granted granted Critical
Publication of KR101962359B1 publication Critical patent/KR101962359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Abstract

본 발명은 저장 장치에 의해 데이터를 저장하는 것을 위한 해결 수단을 개시한다. 상기 저장 장치는 제1 저장 영역 및 제2 저장 영역을 포함하고, 여기서 제1 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제2 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 저장 장치는 기록 요청의 특징을 판단하고, 판단 결과에 따라 기록 요청 내에 운반된 데이터를 대응하는 저장 영역의 예비 공간에 저장한다.

Description

저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치{METHOD FOR STORING DATA BY STORAGE DEVICE AND STORAGE DEVICE}
본 발명은 정보 기술의 분야에 관한 것이고, 특히 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치에 관한 것이다.
고체 상태 디스크(Solid State Disk, SSD)는 도 1에 도시된 것처럼, 저장 제어기(101) 및 매체(102)(예를 들어 플래시 메모리 칩)를 포함한다. 저장 제어기(101)는 중앙 처리 유닛(Central Processing Unit, CPU)(1011) 메모리(1012)를 포함한다. SSD 내 저장은 단위로서 물리 블록(physical block) 및 페이지(page)를 사용함으로써 구성된다. 상기 페이지는 SSD 내에서 최소 독출/기록 단위이고, 페이지의 크기는 4 KB, 8 KB, 또는 16 KB일 수 있다. 페이지들은 물리 블록으로 결합되고, 각각의 물리 블록은 32, 64, 또는 128 페이지를 가질 수 있다. SSD는 일반적으로 저장 공간을 데이터 공간과 예비 공간(오버-프로비저닝)으로 나눈다. 데이터 공간은 데이터가 이미 기록된 공간이고, 예비 공간은 유휴 공간이고, 유휴 페이지를 포함하고, 데이터가 예비 공간에 기록될 수 있다. SSD의 데이터 공간에 이미 저장된 데이터가 새로운 데이터로 덮어써질 때, ROW(Redirect-On-Write) 방식이 사용된다. 즉, SSD가 이미 저장된 데이터를 수정하기 위해 논리 블록 주소(Logical Block Address, LBA)에 새로운 데이터를 기록할 때, SSD는 예비 공간의 페이지에 새로운 데이터를 기록하고, LBA와 예비공간의 페이지 주소 간에 매핑 관계를 구축하고, LBA가 이전에 매핑되었던, 페이지 주소 내의 데이터는 쓰레기 데이터(garbage data)로 표시한다. 예비 공간이 문턱값보다 더 적을 때, SSD는 상기 쓰레기 데이터가 위치한 페이지의 물리 블록에 대해 쓰레기 공간 재활용을 실행한다. 재활용 절차는 다음과 같다: 쓰레기 데이터가 위치해 있는 페이지의 물리 블록 내의 유효 데이터를 독출하는 단계, 예비 공간에 독출된 유효 데이터를 기록하는 단계, 쓰레기 데이터가 위치한 페이지의 물리 블록 내의 데이터를 지우는 단계, 및 상기 물리 블록을 새로운 예비 공간으로 사용하는 단계이다. 쓰레기 공간 재활용 절차에서, 유효한 데이터가 독출되고 유효한 데이터가 예비 공간에 기록되는 절차를 유효 데이터의 이동이라 지칭한다.
상기 쓰레기 공간 재활용은 기록 확장을 일으키고, SSD 내에서 새로 기록된 데이터의 크기 W에 대한, 쓰레기 공간 재활용으로 이동한 유효 데이터의 크기 V 및 새로 기록된 데이터의 크기 W의 합의 비율, 즉 (V+W)/W를 기록 확장이라 지칭한다.
제1 측면에 따르면, 본 발명의 일 실시예는 저장 장치에 의한 데이터 저장에 대한 해결 수단을 제공하고, 저장 장치는 제1 저장 영역 및 제2 저장 영역을 포함하고, 여기서 제1 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제2 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 저장 장치는 논리 주소 및 데이터를 운반하는 기록 요청을 수신하고, 저장 장치는 기록 요청의 특징을 판단한다.
상기 기록 요청의 특징이 제1 조건을 만족할 때, 상기 저장 장치는 상기 기록 요청 내에 운반되는 데이터를 상기 제1 저장 영역의 상기 예비 공간의 제1 저장 주소에 기록하고, 상기 논리 주소 및 상기 제1 저장 주소 간의 매핑 관계를 구축하거나, 또는 상기 기록 요청의 특징이 제2 조건을 만족할 때, 상기 저장 장치는 상기 기록 요청 내에 운반되는 데이터를 상기 제2 저장 영역의 상기 예비 공간의 제2 저장 주소에 기록하고, 상기 논리 주소 및 상기 제2 저장 주소 간의 매핑 관계를 구축한다. 본 발명의 이 실시예에서, 기록 요청의 특징에 따라 기록 요청 내에 운반되는 데이터가 상이한 저장 영역의 예비 공간에 기록되고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고 기록 확장을 감소시킨다.
선택적으로, 저장 장치는 제1 저장 영역 및 제2 저장 영역에 대한 쓰레기 공간 재활용을 독립적으로 실행할 수 있다. 저장 장치가 제1 저장 영역 및 제2 저장 영역에 대한 쓰레기 공간 재활용을 독립적으로 실행할 수 있다는 것은 저장 장치가 제1 저장 영역 및 제2 저장 영역 중 하나에 대한 쓰레기 공간 재활용을 실행하고 다른 하나의 저장 영역에 영향을 미치지 않거나, 1 저장 영역 및 제2 저장 영역 모두에 대한 쓰레기 공간 재활용을 동시에 실행할 수 있음을 의미한다. 기록 요청들이 상이한 특징을 가지고 있으므로, 데이터가 상이한 저장 영역에 기록되고, 쓰레기 공간 재활용이 상이한 저장 영역 내에 구성된 상이한 예비 공간에 기초하여 저장 영역들에 대해 독립적으로 실행된다. 그러므로, 쓰레기 공간 재활용 절차 내의 유효 데이터 이동이 감소될 수 있고, 기록 확장이 감소될 수 있고, 쓰레기 공간 재활용 절차를 트리거하는 횟수도 상이한 예비 공간을 구성함에 의해 감소될 수 있어, 저장 장치 내에서 물리 블록을 지우는 횟수가 감소하고 저장 장치의 사용 수명이 연장되도록 한다.
선택적으로, 제1 저장 영역의 예비 공간의 크기는 제2 저장 영역의 예비 공간의 크기와 상이하다.
선택적으로, 제1 저장 영역의 예비 공간은 제2 저장 영역의 예비 공간보다 더 작거나, 또는 제1 저장 영역의 데이터 공간에 대한 제1 저장 영역의 예비 공간의 비율은, 제2 저장 영역의 데이터 공간에 대한 제2 저장 영역의 예비 공간의 비율보다 더 작다. 제2 저장 영역이 더 많은 예비 공간을 가지므로, 제2 저장 영역 내의 쓰레기 공간 재활용 횟수가 감소할 수 있다.
선택적으로, 데이터가 대응하는 저장 영역, 예를 들어, 전술한 제1 또는 제2 저장 영역에 기록될 때, 대응하는 저장 영역의 예비 공간이 불충분하면, 동적 조정이 실행될 수 있다. 예를 들어, 최대 과다분이 다 사용되지 않는다는 전제 조건 하에서, 여분의 예비 공간이 충당될 수 있고, 기록 요청 내의 데이터가 새로 충당된 예비 공간에 기록될 수 있다.
선택적으로, 저장 장치가 기록 요청의 특징을 판단하는 것은,
상기 저장 장치가, 상기 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단하고, 상기 제1 조건은 상기 순차적 기록 요청이고, 상기 제2 조건은 상기 임의적 기록 요청이고, 상기 순차적 기록 요청 및 상기 임의적 기록 요청을 각각 상이한 저장 영역에 저장하는 것을 포함하고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고 기록 확장을 감소시킨다. 게다가, 순차적 기록 요청 및 임의적 기록 요청이 모두 존재할 때, 저장 장치의 임의적 기록 성능이 순차적 기록 요청의 성능에 영향을 미치지 않고 향상된다. 선택적으로, 데이터가 기준 논리 주소에 기록될지 여부가 결정되고, 여기서 기준 논리 주소 및 논리 주소 간의 주소 차이의 절댓값은 L보다 더 크지 않고, L은 순차적 기록 요청에 대한 요구에 따라 설정될 수 있다. 하나의 구현에서, 데이터가 기준 논리 주소에 기록되면, 상기 기록 요청은 순차적 기록 요청이다. 아무 데이터도 기준 논리 주소에 기록되지 않을 때, 상기 기록 요청은 임의적 기록 요청이다. 다른 하나의 구현에서, 기준 논리 주소에 아무런 데이터가 기록되지 않으면, 상기 기록 요청은 임의적 기록 요청이다. 데이터가 기준 논리 주소에 기록되면, 저장 장치는 기준 주소를 운반하는 기록 요청이 마지막으로 수신되는 시간 및 논리 주소를 운반하는 기록 요청이 마지막으로 수신되는 시간 간의 간격이 문턱값 T보다 더 큰지를 더 판단하고, 상기 간격이 문턱값 T보다 클 때, 상기 기록 요청은 여전히 임의적 기록 요청이고, 상기 간격이 문턱값 T보다 크지 않을 때, 상기 기록 요청은 순차적 기록 요청이다. T는 구체적인 구현에 따라 설정될 수 있다.
선택적으로, 저장 장치가 기록 요청의 특징을 판단하는 것은,
상기 저장 장치가, 상기 기록 요청의 순차성 정도(sequence level)를 판단하는 것을 포함하고, 상기 제1 조건은 제1 순차성 정도 범위이고, 상기 제2 조건은 제2 순차성 정도 범위이고, 상기 제1 순차성 정도 범위의 최솟값은 상기 제2 순차성 정도 범위의 최댓값보다 더 크다. 선택적으로, 순차성 정도는 (현재 논리 주소의 순차적 기록 요청 횟수 Cs 및 현재 논리 주소의 임의적 기록 요청 횟수 Cr의 합)에 대한 현재 논리 주소의 순차적 기록 요청 횟수 Cs의 비율 S(순차성 정도), 즉, Cs/(Cs+Cr)=S이다. 순차성 정도에 따라, 상이한 순차성 정도를 가지는 기록 요청 내에 운반되는 데이터가 상이한 예비 공간을 가지는 상이한 저장 영역에 각각 저장되고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고 기록 확장을 감소시킨다.
선택적으로, 저장 장치가 기록 요청의 특징을 판단하는 것은,
상기 저장 장치가, 상기 기록 요청의 임의성 정도(randomness level)를 판단하는 것을 포함하고,
상기 제1 조건은 제1 임의성 정도 범위이고, 상기 제2 조건은 제2 임의성 정도 범위이고, 상기 제1 임의성 정도 범위의 최댓값은 상기 제2 임의성 정도 범위의 최솟값보다 더 작다. 선택적으로, 임의성 정도는 (현재 논리 주소의 순차적 기록 요청 횟수 Cs 및 현재 논리 주소의 임의적 기록 요청 횟수 Cr의 합)에 대한 현재 논리 주소의 임의적 기록 요청 횟수 Cr의 비율 R(임의성 정도), 즉, Cr/(Cr+Cs)=R이다. 임의성 정도에 따라, 상이한 임의성 정도를 가지는 기록 요청 내에 운반되는 데이터가 따로 따로 저장되고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고 기록 확장을 감소시킨다.
선택적으로, 저장 장치가 기록 요청의 특징을 판단하는 것은,
상기 저장 장치가 상기 기록 요청 내에 운반되는 데이터의 크기를 판단하는 단계를 포함하고,
상기 제1 조건은 제1 저장 영역에 저장된 제1 데이터 범위이고, 상기 제2 조건은 제2 저장 영역에 저장된 제2 데이터 범위이고, 상기 제1 데이터 범위의 최솟값은 상기 제2 데이터 범위의 최댓값보다 더 크다. 저장 장치는 상이한 저장 영역을 포함하고, 각각의 저장 영역이 대응되는 데이터 범위를 저장하고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고, 기록 확장을 감소시킬 수 있다. 선택적으로, 데이터 범위는 하나의 저장 영역에 저장된 기록 요청 내에 운반된 데이터의 크기의 간격을 지칭한다.
선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, 저장 장치는 기록 성능을 향상하기 위해, 제1 조건을 만족하는 기록 요청을 우선적으로 처리한다.
선택적으로, 저장 장치는 쓰레기 공간 재활용 기능을 가지고 ROW 방법에 기초하는 SSD, 기와식 자기 기록(Shingled Magnetic Recording, SMR) 디스크, 또는 저장 어레이일 수 있다.
제1 측면으로 구현되는 해결 수단에 대응하여, 제2 측면에 따라, 본 발명의 일 실시예는 저장 장치에 의해 저장 영역을 분할하기 위한 해결 수단을 더 제공한다. 저장 장치는 저장 공간을 제1 저장 영역 및 제2 저장 영역으로 분할하고, 여기서 제1 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제2 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제1 저장 영역의 예비 공간은 제1 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, 제2 저장 영역의 예비 공간은 제2 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, 제1 기록 요청의 특징은 제1 조건을 만족하고, 제2 기록 요청의 특징은 제2 조건을 만족한다.
선택적으로, 저장 영역의 대응하는 양이 기록 요청의 순차성 정도 또는 임의성 정도의 등급 번호에 따라 분할될 수 있고, 대응하는 예비 공간이 순차성 정도 또는 임의성 정도의 각각의 등급의 값에 따라 구성된다. 저장 영역의 분할 및 대응하는 예비 공간의 구성이 미리 실행되거나, 또는 동적 분할 및 구성이 사용 중에 실행될 수 있다.
제3 측면에 딸, 제1 측면 및 제2 측면에 대응하여, 본 발명의 일 실시예는 저장 장치를 더 제공하고, 본 발명의 실시예의 제1 측면 및 제2 측면에서 제공된 실시예의 해결 수단을 구현하기 위해, 상기 저장 장치는 제1 측면 및 제2 측면의 실시예 내의 저장 장치로서 따로 따로 사용된다. 상기 저장 장치는 제1 측면 및 제2 측면 내의 본 발명의 실시예의 해결 수단을 구현하는 구조 유닛을 포함하거나, 또는 상기 저장 장치는 제1 측면 및 제2 측면 내의 실시예의 해결 수단을 구현하는 저장 제어기를 포함한다.
대응하여, 본 발명의 실시예는 비휘발성 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 제품을 더 제공한다. 상기 비휘발성 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 제품에 포함된 컴퓨터 명령어가 본 발명의 실시예들에서 제공된 저장 장치의 저장 제어기의 메모리에 로딩될 때, CPU가 메모리에 로딩된 컴퓨터 명령어를 실행하고, 본 발명의 실시예의 제1 측면 및 제2 측면 내에 제공된 해결 수단을 구현하기 위해, 저장 장치가 제1 측면 및 제2 측면의 실시예 내의 저장 장치의 기능을 실현한다.
도 1은 SSD의 도식적인 구조 다이어그램이다.
도 2는 본 발명의 일 실시예에 따른 플로우차트이다.
도 3은 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 4는 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 5는 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 6은 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 7은 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 8은 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 9는 본 발명의 일 실시예에 따른 저장 영역의 도식적 다이어그램이다.
도 10은 본 발명의 일 실시예에 따른 저장 장치의 도식적 다이어그램이다.
도 11은 본 발명의 일 실시예에 따른 저장 장치의 도식적 다이어그램이다.
SSD는 본 발명의 실시예의 예시로서 사용된다. 본 발명의 이 실시예에서, SSD는 제1 저장 영역 Vd1 및 제2 저장 영역 Vd2를 포함한다. Vd1은 데이터 공간 및 예비 공간을 포함하고, Vd2는 데이터 공간 및 예비 공간을 포함하고, Vd1의 예비 공간의 크기는 Vd2의 예비 공간의 크기와 다르다. 본 발명의 이 실시예에서, SSD가 Vd1 및 Vd2에 대한 쓰레기 공간 재활용을 독립적으로 실행할 수 있다. SSD가 Vd1 및 Vd2에 대한 쓰레기 공간 재활용을 독립적으로 실행할 수 있다는 것은 SSD가 Vd1 및 Vd2 중 하나에 대한 쓰레기 공간 재활용을 실행하고 다른 하나의 저장 영역에 영향을 미치지 않거나, Vd1 및 Vd2 모두에 대한 쓰레기 공간 재활용을 동시에 실행할 수 있음을 의미한다. 기록 요청들이 상이한 특징을 가지고 있으므로, 데이터가 상이한 저장 영역에 기록되고, 쓰레기 공간 재활용이 상이한 저장 영역 내에 구성된 상이한 예비 공간에 기초하여 저장 영역들에 대해 독립적으로 실행된다. 그러므로, 쓰레기 공간 재활용 절차 내의 유효 데이터 이동이 감소될 수 있고, 기록 확장이 감소될 수 있고, 쓰레기 공간 재활용 절차를 트리거하는 횟수도 상이한 예비 공간을 구성함에 의해 감소될 수 있어, SSD 내에서 물리 블록을 지우는 횟수가 감소하고 SSD의 사용 수명이 연장되도록 한다.
본 발명의 이 실시예 내의 전술한 SSD의 특징이 본 발명의 실시예 내의 다른 저장 장치에 적용될 수 있고, 세부사항은 여기에 다시 설명되지 않는다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예는 다음 단계들을 포함한다.
단계 201: 기록 요청을 수신한다.
SSD가 기록 요청을 수신하고, 상기 기록 요청은 LBA 및 데이터를 운반한다.
단계 202: 상기 기록 요청의 특징을 결정한다.
상기 기록 요청의 특징을 결정하는 구현 방식은 하기 내용을 포함한다.
구체적으로, 상기 기록 요청을 수신할 때, SSD가 상기 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단한다. 본 발명의 이 실시예에서, SSD가 각각의 기록 요청이 수신되고 LBA 주소가 상기 기록 요청에 운반되는 시간을 기록한다. 구체적인 구현 방식에서, 상기 기록 요청이 순차적 기록 요청(도 2에 도시된 제1 조건)인지 또는 임의적 기록 요청(도 2에 도시된 제2 조건)인지를 판단하기 위한 방법은 다음과 같다:
SSD가 수신된 기록 요청 내에 운반된 LBA를 기록하고, 기록 요청이 수신된 시간을 마지막 시간으로서 기록한다. 기록 요청 내에 운반된 LBA m에 따라, SSD는 데이터가 LBA n(기준 논리 주소로 지칭됨)에 기록될지 여부를 질의하고, 여기서 LBA m 및 LBA n 간의 차이의 절댓값은 L보다 더 크지 않고, L은 순차적 기록 요청에 대한 요구에 따라 설정될 수 있다. LBA n에 아무런 데이터가 기록되지 않으면, LBA m을 운반하는 기록 요청은 임의적 기록 요청이다. 하나의 구현 방식에서, 데이터가 LBA n에 기록되면, LBA m을 운반하는 기록 요청은 순차적 기록 요청이다. 다른 하나의 구현 방식에서, 데이터가 LBA n에 기록되면, SSD는 LBA n을 운반하는 기록 요청이 마지막으로 수신되는 시간 및 LBA m을 운반하는 기록 요청이 마지막으로 수신되는 시간 간의 간격이 문턱값 T보다 더 큰지를 더 판단한다. 상기 간격이 T보다 더 크면, LBA m을 운반하는 기록 요청은 임의적 기록 요청이다. 상기 간격이 T보다 더 크지 않으면, LBA m을 운반하는 기록 요청은 순차적 기록 요청이다. T는 구체적인 구현에 따라 설정될 수 있고, 이는 본 발명의 이 실시예에 제한되지 않는다. 순차적 기록 요청은 일반적으로 동일한 파일 또는 애플리케이션으로부터의 기록 요청이고, 임의적 기록 요청은 일반적으로 상이한 파일 또는 애플리케이션으로부터의 기록 요청이다.
본 발명의 이 실시예에서, SSD는 도 2에 도시된 제1 저장 영역(Vd1) 및 도 2에 도시된 제2 영역(Vd2)을 포함하고, 여기서 Vd1 및 Vd2 각각은 1개 이상의 물리 블록을 포함한다. 도 3에 도시된 바와 같이, 본 발명의 이 실시예에서, Vd1은 Y개의 물리 블록을 포함하고, 여기서 각각의 물리 블록은 (n+1)개의 페이지를 포함하고, Vd1은 순차적 기록 요청 내에 운반된 데이터를 저장하도록 구성되고, 1번째 물리 블록부터 (Y-2)번째 물리 블록까지 Vd1의 데이터 공간을 형성하고, (Y-1)번째 물리 블록 및 Y번째 물리 블록은 예비 공간을 형성한다.
도 4에 도시된 바와 같이, SSD가 제1 순차적 기록 요청을 수신하고, 여기서 제1 순차적 기록 요청 내에 운반된 논리 주소는 LBA 1이다. LBA 1은 Vd1 내의 제1 물리 블록의 (n+1)개의 페이지에 이미 매핑되어 있다. 즉, LBA 1은 Vd1 내의 제1 물리 블록의 페이지 0부터 페이지 n에 매핑되어 있다. SSD의 ROW 방법에 기초하여, SSD는 제1 순차적 기록 요청 내에 운반된 데이터를 Vd1 내의 예비 공간의 (Y-1)번째 물리 블록에 기록하고, LBA 1 및 Vdl 내의 (Y-1)번째 물리 블록의 (n+1)개의 페이지 간의 매핑을 구축한다. 즉, LBA 1 및 Vdl 내의 (Y-1)번째 물리 블록의 페이지 0부터 페이지 n까지 간의 매핑을 구축하고, Vd1 내의 제1 물리 블록의 페이지 0부터 페이지 n 내의 데이터를 쓰레기 데이터로 식별한다(또한 LBA 1 및 Vdl 내의 1번째 물리 블록의 (n+1)개의 페이지 간의 매핑을 삭제한다). SSD가 제2 순차적 기록 요청을 수신하고, 여기서 제2 순차적 기록 요청 내에 운반된 논리 주소는 LBA 2이다. LBA 2는 Vd1 내의 제2 물리 블록의 (n+1)개의 페이지에 이미 매핑되어 있다. 즉, LBA 2는 Vd1 내의 제2 물리 블록의 페이지 0부터 페이지 n에 매핑되어 있다. SSD의 ROW 방법에 기초하여, SSD는 제2 순차적 기록 요청 내에 운반된 데이터를 Vd1 내의 예비 공간의 Y번째 물리 블록에 기록하고, LBA 2 및 Vdl 내의 Y번째 물리 블록의 (n+1)개의 페이지 간의 매핑을 구축한다. 즉, LBA 2 및 Vdl 내의 Y번째 물리 블록의 페이지 0부터 페이지 n까지 간의 매핑을 구축하고, Vd1 내의 제2 물리 블록의 페이지 0부터 페이지 n 내의 데이터를 쓰레기 데이터로 식별한다(또한 LBA 2 및 Vdl 내의 2번째 물리 블록의 (n+1)개의 페이지 간의 매핑을 삭제한다).
도 4에 도시된 Vd1 내의 예비 공간이 0으로 변하므로, 쓰레기 공간 재활용이 시작될 필요가 있다. 쓰레기 공간 재활용이 Vd1 내에서 가장 많은 쓰레기 데이터를 포함하는 물리 블록에 대해 실행된다. 본 발명의 이 실시예에서, 도 4에서 도시된 바와 같이 제1 물리 블록 및 제2 물리 블록이 가장 많은 쓰레기 데이터를 포함한다. 그러므로, 제1 물리 블록 및 제1 물리 블록에 대한 쓰레기 공간 재활용이 시작된다. 도 5에 도시된 바와 같이, 쓰레기 공간 재활용 절차에서, Vd1 내에서 제1 물리 블록 및 제2 물리 블록 내에 저장된 데이터가 모두 쓰레기 데이터이고 유효한 데이터가 없으므로, 유효 데이터의 이동이 실행될 필요가 없다. 즉 기록 확장이 없다. 그러므로, 순차적 기록 요청이 Vd1에 저장되고, 쓰레기 공간 재활용 절차 중에, Vd1 내에서 유효 데이터의 이동 및 기록 확장은 감소된다. 게다가, 쓰레기 공간 재활용 절차에서 유효 데이터가 전혀 없거나 거의 없으므로, Vd1에 적은 양의 예비 공간이 할당될 수 있다.
도 6에 도시된 바와 같이, 본 발명의 이 실시예에서, Vd2는 X개의 물리 블록을 포함하고, 여기서 각각의 물리 블록은 (n+1)개의 페이지를 포함하고, Vd2는 임의적 기록 요청 내에 운반된 데이터를 저장하도록 구성되고, 1번째 물리 블록부터 (X-3)번째 물리 블록까지 Vd2의 데이터 공간을 형성하고, (X-2)번째 물리 블록 및 X번째 물리 블록은 예비 공간을 형성한다.
도 7에 도시된 바와 같이, SSD가 제1 임의적 기록 요청을 수신하고, 여기서 제1 임의적 기록 요청 내에 운반된 논리 주소는 LBA 1'이다. LBA 1'은 Vd2 내의 제1 물리 블록의 처음 m개의 페이지에 이미 매핑되어 있다. 즉, LBA 1'은 Vd2 내의 제1 물리 블록의 페이지 0부터 페이지 m-1에 매핑되어 있다. SSD의 ROW 방법에 기초하여, SSD는 제1 임의적 기록 요청 내에 운반된 데이터를 Vd2 내의 예비 공간의 (X-2)번째 물리 블록에 기록하고, LBA 1' 및 Vd2 내의 (X-2)번째 물리 블록의 처음 m개의 페이지 간의 매핑을 구축한다. 즉, LBA 1' 및 Vd2 내의 (X-2)번째 물리 블록의 페이지 0부터 페이지 m-1까지 간의 매핑을 구축하고, Vd2 내의 제1 물리 블록의 페이지 0부터 페이지 m-1 내의 데이터를 쓰레기 데이터로 식별한다(또한 LBA 1' 및 Vd2 내의 1번째 물리 블록의 처음 m개의 페이지 간의 매핑을 삭제한다). SSD가 제2 임의적 기록 요청을 수신하고, 여기서 제2 임의적 기록 요청 내에 운반된 논리 주소는 LBA 3'이다. LBA 3'은 Vd2 내의 제2 물리 블록의 처음 (n+1-m)개의 페이지에 이미 매핑되어 있다. 즉, LBA 3'은 Vd2 내의 제2 물리 블록의 페이지 0부터 페이지 n-m에 매핑되어 있다. SSD의 ROW 방법에 기초하여, SSD는 제2 임의적 기록 요청 내에 운반된 데이터를 Vd2 내의 예비 공간의 (X-2)번째 물리 블록에 기록하고, LBA 3' 및 Vd2 내의 (X-2)번째 물리 블록의 (n+1-m)개의 페이지 간의 매핑을 구축한다. 즉, LBA 3' 및 Vd2 내의 (X-2)번째 물리 블록의 페이지 m부터 페이지 n까지 간의 매핑을 구축하고, Vd2 내의 제2 물리 블록의 페이지 0부터 페이지 n-m 내의 데이터를 쓰레기 데이터로 식별한다(또한 LBA 3' 및 Vd2 내의 2번째 물리 블록의 (n+1-m)개의 페이지 간의 매핑을 삭제한다).
도 8에 도시된 바와 같이, Vd2 내의 예비 공간이 문턱값보다 더 작을 때 쓰레기 공간 재활용이 시작되고, 재활용이 실행될 필요가 있는 물리 블록이 Vd2 내의 제1 물리 블록 및 제2 물리 블록이다. 유효 데이터가 제1 물리 블록의 페이지 m부터 페이지 n 내에 저장되고, 유효 데이터의 이동이 실행될 필요가 있다. 본 발명의 이 실시예에서, 제1 물리 블록의 페이지 m부터 페이지 n 내에 저장된 유효 데이터가 Vd2 내의 (X-1)번째 물리 블록의 페이지 0부터 페이지 n-m으로 이동되고, LBA 4' 및 Vd2 내의 (X-1)번째 물리 블록의 페이지 0부터 페이지 m-1 간의 매핑이 구축된다. 게다가 Vd2 내의 제2 물리 블록의 페이지 m부터 페이지 n 내에 저장된 유효 데이터가 Vd2 내의 (X-1)번째 물리 블록의 페이지 m부터 페이지 n으로 이동되고, LBA 2' 및 Vd2 내의 (X-1)번째 물리 블록의 페이지 m부터 페이지 n 간의 매핑이 구축된다 SSD는 Vd2 내의 제1 물리 블록 및 제2 물리 블록 내의 데이터를 삭제하고, 제1 물리 블록 및 제2 물리 블록이 예비 공간으로 사용된다.
본 발명의 이 실시예에서, Vd1이 순차적 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, Vd2가 임의적 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, 순차적 기록 요청 내에 운반되는 데이터 및 임의적 기록 요청 내에 운반되는 데이터가 기록 요청의 특징에 따라 각각 상이한 저장 영역에 저장되고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고 기록 확장을 감소시킨다.
본 발명의 이 실시예에서, 더 많은 예비 공간이 Vd2에 할당된다. 즉, Vd2의 예비 공간은 Vd1의 예비 공간보다 더 크고, 이는 쓰레기 공간 재활용의 횟수를 감소시킬 수 있어, Vd2 내의 물리 블록을 삭제하는 횟수가 감소하고 SSD의 사용 수명이 연장되도록 한다. 다른 하나의 구현에서, Vd2의 데이터 공간에 대한 Vd2의 예비 공간의 비율은 Vd1의 데이터 공간에 대한 Vd1의 예비 공간의 비율보다 더 크고, 이는 또한 본 발명의 이 실시예에서 쓰레기 공간 재활용 횟수를 감소시키는 효과를 달성할 수 있다.
본 발명의 이 실시예에서, SSD는 Vd1 및 Vd2를 포함하고, 여기서 Vd1은 순차적 기록 요청 내에 운반된 데이터를 저장하도록 구성되고, Vd2는 임의적 기록 요청 내에 운반된 데이터를 저장하도록 구성된다. 임의적 기록 요청 및 순차적 기록 요청이 모두 존재하는 경우에는, 순차적 기록 요청의 성능이 영향을 받지 않고, SSD의 임의적 기록 성능이 향상된다.
선택적으로, 데이터가 대응하는 저장 영역, 예를 들어, 전술한 제1 또는 제2 저장 영역에 기록될 때, 대응하는 저장 영역의 예비 공간이 불충분하면, 동적 조정이 실행될 수 있다. 예를 들어, 최대 과다분이 다 사용되지 않는다는 전제 조건 하에서, 여분의 예비 공간이 충당될 수 있고, 기록 요청 내의 데이터가 새로 충당된 예비 공간에 기록될 수 있다.
선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, SSD가 수신한 기록 요청이 순차적 기록 요청 및 임의적 기록 요청 모두를 포함할 때, 기록 성능을 향상하기 위해, 순차적 기록 요청 내에 운반된 데이터가 제1 저장 영역에 우선적으로 기록될 수 있다.
본 발명의 일 실시예는 기록 요청의 특징을 판단하는 것의 단계 2의 다른 하나의 구현 수단을 제공한다. SSD가 기록 요청 내에 운반된 LBA 내의 순차적 기록 요청 횟수 및 임의적 기록 요청 횟수에 관한 통계를 수집하는 것이다. 본 발명의 이 실시예에서, 기록 요청 내에 운반된 LBA 내의 순차적 기록 요청 횟수는 또한 기록 요청의 순차적 기록 요청 횟수로 지칭되고, 기록 요청 내에 운반된 LBA 내의 임의적 기록 요청 횟수는 또한 기록 요청의 임의적적 기록 요청 횟수로 지칭된다.
예를 들어, SSD가 LBA m을 운반하는 기록 요청이 순차적 기록 요청이라고 판단할 때, LBA m의 순차적 기록 요청 횟수 Cs가 1만큼 증가하고, 또는 SSD가 LBA m을 운반하는 기록 요청이 임의적 기록 요청이라고 판단할 때, LBA m의 임의적 기록 요청 횟수 Cr이 1만큼 증가한다. LBA m의 현재 순차적 기록 요청 횟수 Cs를 (LBA m의 현재 순차적 기록 요청 횟수 Cs 및 LBA m의 현재 임의적 기록 요청 횟수 Cr의 합)으로 나눈 값 S(순차성 정도)가 계산된다. S가 도 2에 도시된 제1 조건(제1 순차성 정도 범위)을 만족하면, 기록 요청 내에 운반된 데이터는 Vd1에 기록되고, 또는 S가 도 2에 도시된 제2 조건(제2 순차성 정도 범위)을 만족하면, 기록 요청 내에 운반된 데이터는 Vd2에 기록된다. 예를 들어, 제1 순차성 정도 범위가 0.8보다 더 크고 1보다 더 크지 않는 것이고, 제2 순차성 범위가 0.8보다 더 크지 않은 것이다. Vd1에 저장된 데이터에 대응하는 기록 요청의 순차성 정도가 Vd2에 저장된 데이터에 대응하는 기록 요청의 순차성 정도보다 더 크고, 쓰레기 공간 재활용 절차에서 Vd1 내의 물리 블록이 Vd2 내의 물리 블록보다 더 적은 유효 데이터의 이동을 생성하고, 그로 인해 기록 확장을 감소시킨다.
Vd1에 저장된 데이터에 대응하는 기록 요청의 순차성 정도가 Vd2에 저장된 데이터에 대응하는 기록 요청의 순차성 정도보다 더 크고, SSD가 Vd1에 할당한 예비 공간이 Vd2의 예비 공간보다 더 작거나, 또는 Vd1의 데이터 공간에 대한 Vd1의 예비 공간의 비율이 Vd2의 데이터 공간에 대한 Vd2의 예비 공간의 비율보다 더 작다. 이 구현 방식에서, Vd2 내의 쓰레기 공간 재활용 횟수가 감소하고, 그로 인해 Vd2 내의 물리 공간의 삭제 횟수를 감소시키고, SSD의 사용 수명을 연장시킨다. 게다가, 상이한 순차성 정도에 따라, 기록 요청이 각각 상이한 영역에 기록되므로, 더 높은 순차성 정도를 가지는 기록 요청은 영향받지 않고, SSD의 임의적 기록 성능이 향상된다.
선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, SSD가 수신한 기록 요청이 상이한 순차성 정도를 가질 때, 기록 성능을 향상하기 위해, 더 높은 순차성 정도를 가지는 기록 요청이 우선적으로 처리될 수 있거나 또는 SSD가 수신한 기록 요청이 상이한 임의성 정도를 가질 때, 더 낮은 임의성 정도를 가지는 기록 요청이 우선적으로 처리될 수 있다.
다른 하나의 구현 방식은 또한 임의성 정도 R에 기초할 수 있다. SSD가 LBA m을 운반하는 기록 요청이 순차적 기록 요청이라고 판단할 때, LBA m의 순차적 기록 요청 횟수 Cs가 1만큼 증가하고, 또는 SSD가 LBA m을 운반하는 기록 요청이 임의적 기록 요청이라고 판단할 때, LBA m의 임의적 기록 요청 횟수 Cr이 1만큼 증가한다. LBA m의 현재 임의적 기록 요청 횟수 Cr을 (LBA m의 현재 순차적 기록 요청 횟수 Cs 및 LBA m의 현재 임의적 기록 요청 횟수 Cr의 합)으로 나눈 값 R(임의성 정도)가 계산된다. R이 도 2에 도시된 제1 조건(제1 임의성 정도 범위)을 만족하면, 기록 요청 내에 운반된 데이터는 Vd1에 기록되고, 또는 R이 도 2에 도시된 제2 조건(제2 임의성 정도 범위)을 만족하면, 기록 요청 내에 운반된 데이터는 Vd2에 기록된다. 예를 들어, 제1 임의성 정도 범위가 0.2보다 더 크지 않은 것이고, 제2 임의성 범위가 0.2보다 더 크고 1보다 더 크지 않은 것이다. Vd1에 저장된 데이터에 대응하는 기록 요청의 임의성 정도가 Vd2에 저장된 데이터에 대응하는 기록 요청의 임의성 정도보다 더 작고, 쓰레기 공간 재활용 절차에서 Vd1 내의 물리 블록이 Vd2 내의 물리 블록보다 더 적은 유효 데이터의 이동을 생성하고, 그로 인해 기록 확장을 감소시킨다.
Vd1에 저장된 데이터에 대응하는 기록 요청의 순차성 정도가 Vd2에 저장된 데이터에 대응하는 기록 요청의 순차성 정도보다 더 작고, SSD가 Vd1에 할당한 예비 공간이 Vd2의 예비 공간보다 더 작거나, 또는 Vd1의 데이터 공간에 대한 Vd1의 예비 공간의 비율이 Vd2의 데이터 공간에 대한 Vd2의 예비 공간의 비율보다 더 작다. 이 구현 방식에서, Vd2 내의 쓰레기 공간 재활용 횟수가 감소하고, 그로 인해 Vd2 내의 물리 공간의 삭제 횟수를 감소시키고, SSD의 사용 수명을 연장시킨다. 게다가, 상이한 임의성 정도에 따라, 기록 요청이 각각 상이한 영역에 기록되므로, 더 낮은 임의성 정도를 가지는 기록 요청은 영향받지 않고, SSD의 임의적 기록 성능이 향상된다.
선택적으로, 저장 영역의 대응하는 양이 기록 요청의 순차성 정도 또는 임의성 정도의 등급 번호에 따라 분할될 수 있고, 대응하는 예비 공간이 순차성 정도 또는 임의성 정도의 각각의 등급의 값에 따라 구성된다. 저장 영역의 분할 및 대응하는 예비 공간의 구성이 미리 실행되거나, 또는 동적 분할 및 구성이 사용 중에 실행될 수 있다.
본 발명의 일 실시예는 기록 요청의 특징을 판단하는 것의 단계 2의 다른 하나의 구현 수단을 제공한다. 기록 요청 내에 운반된 데이터의 크기를 판단하고, 기록 요청 내에 운반된 데이터의 크기에 따라 저장 영역을 결정한다.
도 9에 도시된 바와 같이, SSD는 Vd1, Vd2, ..., 및 Vd9로 표시된 9개의 저장 영역을 포함한다. 본 발명의 이 실시예에서, 하나의 구현 방식에서, 각각의 저장 영역은 R개의 물리 블록을 포함하고, 각각의 물리 블록은 (n+1) 페이지를 포함한다. 다른 하나의 구현 방식에서, 각각의 저장 영역이 상이한 개수의 물리 블록을 포함할 수 있고, 이는 본 발명의 이 실시예에 제한되지 않는다. SSD가 기록 요청 내에 운반된 데이터의 크기에 따라 저장 영역을 선택한다. Vd1이 (0-4 KB] 데이터를 저장하도록 구성되고, Vd2가 (4 KB-8 KB] 데이터를 저장하도록 구성되고, Vd3이 (8 KB-16 KB] 데이터를 저장하도록 구성되고, Vd4가 (16 KB-32 KB] 데이터를 저장하도록 구성되고, Vd5가 (32 KB-64 KB] 데이터를 저장하도록 구성되고, Vd6이 (64 KB-128 KB] 데이터를 저장하도록 구성되고, Vd7이 (128 KB-256 KB] 데이터를 저장하도록 구성되고, Vd8이 (256 KB-512 KB] 데이터를 저장하도록 구성되고, Vd9가 512 KB보다 더 큰 데이터를 저장하도록 구성된다. (4 KB-8 KB] 데이터는 또한 데이터 범위의 데이터라고 지칭된다. 데이터 범위는 하나의 저장 영역에 저장된 기록 요청 내에 운반된 데이터의 크기의 간격을 지칭한다. Vd1의 데이터 범위는 Vd1 내에 저장되는 기록 요청 내에 운반되는 데이터의 크기가 4KB보다 더 크지 않음을 나타낸다. 기록 요청을 수신할 때, 각각의 저장 영역 내에 저장되는 데이터 범위에 따라, SSD는 기록 요청 내에 운반되는 데이터를 저장하기 위해 사용되는 저장 영역을 결정한다. 예를 들어, 도 2에 도시된 제2 저장 영역은 Vd1이다. Vd1의 데이터 영역 내의 데이터가 4KB(도 2에 도시된 제2 조건)보다 더 크지 않으므로, 복수의 기록 요청 내에 운반되는 데이터는 동일한 물리 블록에 저장된다. 수정으로 인해 일부 데이터가 무효 데이터로 확인될 때, 쓰레기 공간 재활용이 물리 블록에 대해 실행되고, 물리 블록에 저장된 다른 하나의 기록 요청 내에 운반된 데이터가 유효 데이터로 사용되고, 유효 데이터의 이동이 실행될 필요가 있고, 그로 인해 기록 확장을 일으킨다. 예를 들어, Vd9는 도 2에 도시된 제1 저장 영역이다. Vd9의 데이터 범위 내의 데이터가 512 KB(도 2에 도시된 제1 조건)보다 더 크므로, 동일한 기록 요청 또는 소량의 기록 요청은 동일한 물리 블록에 저장된다. 그러므로, SSD가 물리 블록 내에 데이터 수정에 대한 기록 요청을 다시 수신할 때, 전체 물리 블록의 페이지들에 저장된 데이터는 쓰레기 데이터로서 확인된다. 물리 블록에 대해 쓰레기 공간 재활용이 실행될 때, 전체 물리 블록의 전부 또는 대부분의 데이터가 쓰레기 데이터이므로, 아무 유효 데이터의 이동도 생성되지 않거나 오직 소량의 유효 데이터의 이동이 생성되고, 이는 기록 확장을 일으키지 않거나 적은 기록 확장을 일으킨다. 그러므로, SSD는 상이한 저장 영역으로 분할되고, 각각의 저장 영역이 대응되는 데이터 범위를 저장하고, 이는 쓰레기 공간 재활용 절차에서 유효 데이터의 이동을 감소시키고, 기록 확장을 감소시킬 수 있다. 선택적으로, 기록 요청 내에 운반되는 데이터의 크기가 대응되는 저장 영역을 결정한다. 큰 데이터를 저장하는 데이터 범위에 대응되는 저장 영역에보다 더 작은 데이터를 저장하는 데이터 범위에 대응되는 저장 영역에 더 많은 예비 공간이 할당되거나, 또는 작은 데이터를 저장하는 데이터 범위에 대응되는 저장 영역의 데이터 공간에 대한 작은 데이터를 저장하는 데이터 범위에 대응되는 저장 영역의 예비 공간의 비율이, 큰 데이터를 저장하는 데이터 범위에 대응되는 저장 영역의 데이터 공간에 대한 큰 데이터를 저장하는 데이터 범위에 대응되는 저장 영역의 예비 공간의 비율보다 더 크고, 이는 쓰레기 공간 재활용의 횟수를 감소시키고, 물리 블록의 삭제 횟수를 감소시키고, SSD의 사용 수명을 연장시킬 수 있다.
선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, 상이한 크기의 데이터를 운반하는 기록 요청을 수신할 때, SSD는 기록 성능을 향상하기 위해, 비교적 큰 크기의 데이터를 운반하는 기록 요청을 우선적으로 처리할 수 있다.
본 발명의 이 실시예에서, SSD에 의해 Vd1에 할당된 예비 공간은 Vd2의 예비 공간보다 더 적거나, 또는 Vd1의 데이터 공간에 대한 Vd1의 예비 공간의 비율이 Vd2의 데이터 공간에 대한 Vd2의 예비 공간의 비율보다 더 작다. 구체적인 구현에서, 상이한 예비 공간 할당량의 가중치는 Vd1 및 Vd2 내의 기록 요청의 특성에 따라 결정될 수 있다. Vd1에 할당된 예비 공간은 Vd2의 예비 공간보다 더 작거나, 또는 Vd1의 데이터 공간에 대한 Vd1의 예비 공간의 비율이 Vd2의 데이터 공간에 대한 Vd2의 예비 공간의 비율보다 더 작고, 이는 본 발명의 이 실시예에 제한되지 않는다.
본 발명의 이 실시예에서, 기록 요청 내에 운반된 데이터가 하나의 페이지에 기록된 후, LBA 및 페이지 간의 매핑 관계가 구축되고, SSD의 구체적인 구현에 따라, LBA로부터, 데이터가 기록된 페이지가 위치하는 물리 블록에로의 매핑이 먼저 구축된다. 구체적인 구현에 대해, SSD의 매핑 방법을 참조하고, 이는 본 발명에 제한되지 않고, 세부 사항은 여기에 다시 설명되지 않는다.
본 발명은 기와식 자기 기록(Shingled Magnetic Recording, SMR) 디스크에 더 적용될 수 있다. SMR 디스크의 특별한 구조로 인하여, 데이터가 트랙 A에 기록될 때, 트랙 A 뒤로 L개의 트랙 상의 데이터가 덮어써지고, 트랙 A 앞의 트랙 상의 데이터는 덮어써지지 않는다. 그러므로, SMR 디스크 내에서 M(M>=L)개 트랙이 일반적으로 존(zone)을 형성하기 위해 사용되고, 존 내의 물리 공간 내의 데이터가 순차적으로 기록되고, 존 내의 유효 데이터가 기록 전에 먼저 이동된다. SMR 디스크는 일반적으로 ROW 방법을 사용하고, 물리 저장 공간을 데이터 존(데이터가 이미 저장된 존) 및 예비 존(빈 존)으로 분할하고, 논리 주소에서 물리 저장 공간으로의 매핑을 기록한다. 데이터가 기록될 때, 데이터가 예비 존의 공간에 순차적으로 기록되고, 논리 주소가 그 후 데이터가 새로 기록된 물리 주소에 매핑되고, 논리 주소가 이전에 매핑된 물리 주소 내에 저장된 데이터는 쓰레기 데이터로 표시된다. 예비 존들의 양이 문턱값보다 더 작게 된 후, 쓰레기 공간 재활용이 시작되고, 가장 많은 쓰레기 데이터를 가진 존이 발견되고, 존 내의 유효 데이터가 이동되고, 상기 존은 데이터가 계속 기록될 수 있는 예비 존이 된다. SMR 디스크 내의 존은 SSD 내의 물리 블록과 유사한 특징을 갖는다. 그러므로, 본 발명의 실시예에서 SSD 내의 쓰레기 공간 재활용 동안 유효 데이터의 이동이 감소되는 해결 수단이 SMR 디스크에도 또한 적용된다. SMR 디스크는 상이한 저장 영역으로 분할되고, 여기서 각각의 저장 영역은 복수의 존(데이터 존 및 예비 존을 포함함)을 포함하고, 상이한 크기를 가진 예비 존이 상이한 저장 영역에 할당되고, 기록 요청의 특징이 판단된다. 예를 들어, 기록 요청이 임의적 기록 요청인지 또는 순차적 기록 요청인지가 판단되거나, 또는 기록 요청의 순차성 정도가 판단되거나, 또는 기록 요청의 임의성 정도가 판단되거나, 또는 기록 요청 내에 운반되는 데이터의 크기가 판단된다. 기록 요청 내에 운반되는 데이터는 구체적인 저장 영역의 예비 존 내에 저장되어, 쓰레기 공간 재활용 동안 SMR 디스크 내의 유효 데이터의 이동이 감소되고, 기록 확장이 감소되도록 한다. 구체적인 구현에 대해, SSD의 구현 수단을 참조할 수 있고, 본 발명의 이 실시예에서 세부사항은 여기서 다시 설명되지 않는다. SMR 디스크 내에서 예비 존이 상이한 저장 영역에 할당될 수 있는 방식에 대해, SSD 내에서 예비 공간이 상이한 저장 영역에 할당되는, 위에서 설명한 방식을 참조한다.
게다가, 쓰레기 재활용 기능을 가지고, 및 예를 들어 모든 SSD 저장 어레이 및 하드 디스크 드라이브(HDD) 저장 어레이 내의 ROW 방식에 기초한 저장 어레이 내에서, 저장 어레이 제어기는 각각의 하드 디스크의 논리 블록 주소를 유닛(예를 들어, 1MB)에 따라 블록들로 분할한다. 하나의 블록이 각각의 N개의 디스크의 각각의 디스크로부터 취해져서, 조건을 만족하는 세크먼트(segment)(예를 들어, 복수 배열 독립 디스크(Redundant Array of Independent Disks, RAID))를 형성하여, 예를 들어 RAID 6(3개의 데이터 블록 + 2개의 체크 블록을 포함함)를 형성한다. 기록 성능을 향상하기 위해 순차적인 기록 방식이 세그먼트에 사용된다. 세그먼트 내의 데이터는 덮어써질 수 없고, 세그먼트 내의 유효 데이터는 기록 전에 먼저 이동될 필요가 있다. 저장 어레이 제어기는 저장 공간을 데이터 세그먼트(데이터가 이미 기록된 세그먼트) 및 예비 세그먼트(빈 세그먼트)로 분할하고, 논리 주소에서 물리 저장 공간으로의 매핑을 기록한다. 데이터가 기록될 때, 저장 어레이 제어기는 데이터를 예비 세그먼트에 순차적으로 기록하고, 논리 주소를 데이터가 새로 기록되는 물리 주소에 매핑하고, 논리 주소가 이전에 매핑되었던 물리 주소에 저장된 데이터를 쓰레기 데이터로 표시한다. 예비 세그먼트의 양이 문턱값보다 더 작아진 후, 쓰레기 공간 재활용이 시작되고, 가장 많은 쓰레기 데이터를 가진 세그먼트가 발견되고, 세그먼트 내의 유효 데이터가 이동되고, 상기 세그먼트는 데이터가 계속해서 기록될 수 있는 예비 세그먼트가 된다.
전술한 저장 어레이 내에서, 세그먼트는 SSD 내의 물리 블록과 유사한 특성을 가진다. 그러므로, 본 발명의 실시예에서 SSD 내에서 쓰레기 데이터 재활용 동안 유효 데이터의 이동이 감소된 해결 수단은 전술한 저장 어레이에도 또한 적용될 수 있다. 저장 어레이는 상이한 저장 영역으로 분할되고, 여기서 각각의 저장 영역은 복수의 세그먼트(데이터 세그먼트 및 예비 세그먼트 포함하고, 기록 요청의 특징이 판단된다. 예를 들어, 기록 요청이 임의적 기록 요청인지 또는 순차적 기록 요청인지가 판단되거나, 또는 기록 요청의 순차성 정도가 판단되거나, 또는 기록 요청의 임의성 정도가 판단되거나, 또는 기록 요청 내에 운반되는 데이터의 크기가 판단된다. 기록 요청 내에 운반되는 데이터는 구체적인 저장 영역의 예비 세그먼트 내에 저장되어, 쓰레기 공간 재활용 동안 저장 어레이 내의 유효 데이터의 이동이 감소되고, 기록 확장이 감소되도록 한다. 구체적인 구현에 대해, SSD의 구현 수단을 참조할 수 있고, 본 발명의 이 실시예에서 세부사항은 여기서 다시 설명되지 않는다. 저장 어레이 내에서 예비 세그먼트가 상이한 저장 영역에 할당될 수 있는 방식에 대해, SSD 내에서 예비 공간이 상이한 저장 영역에 할당되는, 위에서 설명한 방식을 참조한다.
본 발명의 이 실시예는 플래시 메모리 매체 및 유사한 특성을 가지는 저장 매체를 사용하여 형성되는 다른 제품에 더 적용될 수 있다.
선택적으로, 본 발명의 실시예에서, SSD를 예로 들면, SSD가 2개 이상의 저장 영역을 포함할 수 있다. 게다가, SSD가 기록 요청의 특징을 복수의 방식으로 판단할 수 있다. 예를 들어, SSD는 제1 저장 영역 및 제2 저장 영역을 포함하고, 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단한다. 기록 요청이 순차적 기록 요청일 때, SSD는 기록 요청 내에 운반되는 데이터를 제1 저장 영역에 기록하거나, 또는 기록 요청이 임의적 기록 요청일 때, SSD는 기록 요청 내에 운반되는 데이터를 제2 저장 영역에 기록한다. SSD는 제3 저장 영역 및 제4 저장 영역을 더 포함하고, 기록 요청의 순차성 정도 또는 임의성 정도를 판단하고, 기록 요청의 순차성 정도 또는 임의성 정도에 따라, 기록 요청 내에 운반되는 데이터를 제3 저장 영역 또는 제4 저장 영역에 기록한다. 선택적으로, SSD는 제5 저장 영역 및 제6 저장 영역을 더 포함하고, 기록 요청 내에 운반되는 데이터의 크기를 판단하고, 기록 요청 내에 운반되는 데이터의 크기에 따라, 기록 요청 내에 운반되는 데이터를 제5 저장 영역 또는 제6 저장 영역에 기록한다. 구체적인 구현 방식의 조합은 본 발명에 제한되지 않는다.
본 발명의 일 실시예는 저장 장치를 제공하고, 도 10에 도시된 바와 같이, 저장 제어기(1001), 제1 저장 영역(1002), 및 제2 저장 영역(1003)을 포함하고, 제1 저장 영역(1002)은 데이터 공간 및 예비 공간을 포함하고, 제2 저장 영역(1003)은 데이터 공간 및 예비 공간을 포함한다. 저장 제어기(1001)는 도 2에 도시된 본 발명의 실시예를 실행하도록 구성된다. 구체적으로, 저장 제어기(1001)는 논리 주소 및 데이터를 포함하는 기록 요청을 수신하고, 기록 요청의 특징을 판단한다. 상기 기록 요청의 특징이 제1 조건을 만족할 때, 저장 제어기(1001)는 상기 기록 요청 내에 운반되는 데이터를 상기 제1 저장 영역(1002)의 상기 예비 공간의 제1 저장 주소에 기록하고, 상기 논리 주소 및 상기 제1 저장 주소 간의 매핑 관계를 구축하거나, 또는 상기 기록 요청의 특징이 제2 조건을 만족할 때, 저장 제어기(1001)는 상기 기록 요청 내에 운반되는 데이터를 상기 제2 저장 영역(1003)의 상기 예비 공간의 제2 저장 주소에 기록하고, 상기 논리 주소 및 상기 제2 저장 주소 간의 매핑 관계를 구축한다. 선택적으로, 도 10에 도시된 저장 장치는 SSD일 수 있고, 저장 제어기(1001)는 SSD의 제어기일 수 있다. 선택적으로, 도 10에 도시된 저장 장치는 SMR 디스크일 수 있고, 저장 제어기(1001)는 SMR 디스크의 제어기일 수 있다. 선택적으로, 도 10에 도시된 저장 장치는 나아가 본 발명의 실시예에서 설명된 저장 어레이일 수 있고, 저장 제어기(1001)는 저장 어레이의 어레이 제어기일 수 있다. 구체적인 설명에 대해, 본 발명의 실시예 내의 대응하는 부분의 설명을 참조하고, 세부 사항은 여기서 다시 설명되지 않는다. 선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, 저장 장치는 기록 성능을 향상하기 위해, 제1 조건을 만족하는 기록 요청을 우선적으로 처리한다. 선택적으로, 데이터가 대응하는 저장 영역, 예를 들어, 전술한 제1 또는 제2 저장 영역에 기록될 때, 대응하는 저장 영역의 예비 공간이 불충분하면, 동적 조정이 실행될 수 있다. 예를 들어, 최대 과다분이 다 사용되지 않는다는 전제 조건 하에서, 여분의 예비 공간이 충당될 수 있고, 기록 요청 내의 데이터가 새로 충당된 예비 공간에 기록될 수 있다.
본 발명의 이 실시예 내의 저장 장치는 나아가 플래시 메모리 매체 및 유사한 특성을 가지는 저장 매체를 사용하여 형성된 다른 제품일 수 있다.
본 발명의 일 실시예는 다른 하나의 저장 장치를 제공하고, 도 11에 도시된 바와 같이, 저장 제어기, 제1 저장 영역(1105), 제2 저장 영역(1106)을 포함하고, 저장 제어기는 수신 유닛(1101), 판단 유닛(1102), 기록 유닛(1103), 및 매핑 유닛(1104)을 포함한다. 수신 유닛(1101)은 논리 주소 및 데이터를 운반하는 기록 요청을 수신하도록 구성된다. 판단 유닛(1102)은 상기 기록 요청의 특징을 판단하도록 구성된다. 기록 유닛(1103)은 상기 기록 요청의 특징이 제1 조건을 만족할 때, 상기 기록 요청 내에 운반되는 데이터를 상기 제1 저장 영역(1105)의 상기 예비 공간의 제1 저장 주소에 기록하도록 구성된다. 매핑 유닛(1104)은 상기 논리 주소 및 상기 제1 저장 주소 간의 매핑 관계를 구축하도록 구성된다. 상기 기록 유닛(1103)은, 상기 기록 요청의 특징이 제2 조건을 만족할 때, 상기 기록 요청 내에 운반되는 데이터를 상기 제2 저장 영역(1106)의 상기 예비 공간의 제2 저장 주소에 기록하도록 더 구성된다. 상기 매핑 유닛(1104)은, 상기 논리 주소 및 상기 제2 저장 주소 간의 매핑 관계를 구축하도록 더 구성된다. 선택적으로, 도 11에 도시된 저장 장치에서, 저장 제어기는 제1 저장 영역(1105) 및 제2 저장 영역(1106)에 대한 쓰레기 공간 재활용을 독립적으로 실행할 수 있다. 선택적으로, 제1 저장 영역(1105)의 예비 공간의 크기는 제2 저장 영역(1106)의 예비 공간의 크기와 상이하다. 선택적으로, 제1 저장 영역(1105)의 예비 공간은 제2 저장 영역(1106)의 예비 공간보다 더 작고, 제1 저장 영역(1105)의 예비 공간의 크기는 제2 저장 영역(1106)의 예비 공간의 크기보다 더 작다. 선택적으로, 제1 저장 영역(1105)의 데이터 공간에 대한 제1 저장 영역(1105)의 예비 공간의 비율은, 제2 저장 영역(1106)의 데이터 공간에 대한 제2 저장 영역(1106)의 예비 공간의 비율보다 더 작다. 선택적으로, 판단 유닛(1102)은 구체적으로, 상기 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단하도록 구성되고, 상기 제1 조건은 상기 순차적 기록 요청이고, 상기 제2 조건은 상기 임의적 기록 요청이다. 선택적으로, 상기 판단 유닛(1102)은 구체적으로, 상기 기록 요청의 순차성 정도(sequence level)를 판단하도록 구성되고, 상기 제1 조건은 제1 순차성 정도 범위이고, 상기 제2 조건은 제2 순차성 정도 범위이고, 상기 제1 순차성 정도 범위의 최솟값은 상기 제2 순차성 정도 범위의 최댓값보다 더 크다. 순차성 정도의 의미에 대해서, 도 2에 도시된 실시예 내의 설명을 참조한다. 선택적으로, 상기 판단 유닛(1102)은 구체적으로, 상기 기록 요청의 임의성 정도(randomness level)를 판단하도록 구성되고, 상기 제1 조건은 제1 임의성 정도 범위이고, 상기 제2 조건은 제2 임의성 정도 범위이고, 상기 제1 임의성 정도 범위의 최댓값은 상기 제2 임의성 정도 범위의 최솟값보다 더 작다. 임의성 정도의 의미에 대해서, 도 2에 도시된 실시예 내의 설명을 참조한다. 선택적으로, 상기 판단 유닛(1102)은 구체적으로, 상기 기록 요청 내에 운반되는 데이터의 크기를 판단하도록 구성되고, 상기 제1 조건은 제1 저장 영역(1105)에 저장된 제1 데이터 범위이고, 상기 제2 조건은 제2 저장 영역(1106)에 저장된 제2 데이터 범위이고, 상기 제1 데이터 범위의 최솟값은 상기 제2 데이터 범위의 최댓값보다 더 크다. 데이터 범위의 의미에 대해서, 도 2에 도시된 실시예 내의 설명을 참조한다. 선택적으로, 복수의 기록 요청이 동시에 송신되는 경우에, 저장 장치는 기록 성능을 향상하기 위해, 제1 조건을 만족하는 기록 요청을 우선적으로 처리한다. 선택적으로, 데이터가 대응하는 저장 영역, 예를 들어, 전술한 제1 또는 제2 저장 영역에 기록될 때, 대응하는 저장 영역의 예비 공간이 불충분하면, 동적 조정이 실행될 수 있다. 예를 들어, 최대 과다분이 다 사용되지 않는다는 전제 조건 하에서, 여분의 예비 공간이 충당될 수 있고, 기록 요청 내의 데이터가 새로 충당된 예비 공간에 기록될 수 있다.
도 11에 도시된 저장 장치는 본 발명의 실시예 내의 SSD, SMR 디스크, 또는 저장 어레이일 수 있다. 도 11에 도시된 저장 장치는 나아가 플래시 메모리 매체 및 유사한 특성을 가지는 저장 매체를 사용하여 형성된 다른 제품일 수 있다. 구체적인 설명에 대해, 본 발명의 실시예 내의 대응하는 부분의 설명을 참조하고, 세부 사항은 여기서 다시 설명되지 않는다.
도 11에 도시된 저장 장치에 따라, 하나의 구현 방식에서, 전술한 유닛들은 저장 장치에 설치될 수 있고, 전술한 유닛들은 저장 장치의 저장 제어기의 메모리에 로딩될 수 있고, 저장 제어기의 CPU는 메모리 내의 명령어를 실행하여, 본 발명의 실시예에 대응하는 기능을 구현한다. 다른 하나의 구현에서, 저장 장치에 포함되는 유닛은 하드웨어도 구현될 수 있고, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 전술한 유닛들은 또한 구조 유닛이라 지칭될 수 있다.
본 발명의 실시예는 비휘발성 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 제품을 더 제공한다. 상기 비휘발성 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 제품에 포함된 컴퓨터 명령어가 도 10 또는 도 11에 도시된 저장 장치의 저장 제어기의 메모리에 로딩될 때, CPU가 메모리에 로딩된 컴퓨터 명령어를 실행하여, 본 발명의 실시예에 대응하는 기능을 구현한다.
전술한 실시예에 따라, 본 발명의 실시예는 저장 장치에 의한 저장 영역의 분할을 위한 방법을 제공한다. 저장 장치는 저장 공간을 제1 저장 영역 및 제2 저장 영역으로 분할하고, 여기서 제1 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제2 저장 영역은 데이터 공간 및 예비 공간을 포함하고, 제1 저장 영역의 예비 공간은 제1 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, 제2 저장 영역의 예비 공간은 제2 기록 요청 내에 운반되는 데이터를 저장하도록 구성되고, 제1 기록 요청의 특징은 제1 조건을 만족하고, 제2 기록 요청의 특징은 제2 조건을 만족한다. 구체적으로, 제1 조건, 제2 조건, 제1 기록 요청의 특성, 및 제2 기록 요청의 특성에 대해, 도 2에 도시된 실시예 내의 설명을 참조하고, 상세 내용은 여기에 다시 설명되지 않는다. 제1 저장 영역의 예비 공간 및 제2 저장 영역의 예비 공간 간의 관계에 대해서도, 또한 도 2에 도시된 실시예 내의 설명을 참조한다. 본 발명의 실시예 내의 저장 장치의 구조에 대해, 도 10을 참조할 수 있고, 상세 내용은 여기에 다시 설명되지 않는다. 선택적으로, 저장 영역의 대응하는 양이 기록 요청의 순차성 정도 또는 임의성 정도의 등급 번호에 따라 분할될 수 있고, 대응하는 예비 공간이 순차성 정도 또는 임의성 정도의 각각의 등급의 값에 따라 구성된다. 저장 영역의 분할 및 대응하는 예비 공간의 구성이 미리 실행되거나, 또는 동적 분할 및 구성이 사용 중에 실행될 수 있다.
본 발명에서 제공된 일부 실시예에서, 개시된 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해하여야 한다. 예를 들어, 설명된 장치 구현 내의 유닛 분할은 단지 논리적 기능 분할이고, 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성요소는 다른 시스템으로 결합되거나 조립될 수 있고, 일부 특징은 무시되거나 실행되지 않을 수 있다. 게다가, 표시되거나 논의된, 상호 결합 또는 직접적 결합 또는 통신 연결은 일부 인터페이스를 사용하여 구현될 수 있다. 장치들 또는 유닛들 간의 간접적인 결합 또는 통신 연결은 전기적, 기계적 또는 다른 형태로 구현될 수 있다.
분리된 것으로 설명된 유닛들은 물리적으로 분리될 수도 분리되지 않을 수도 있고, 유닛들로 표시된 부분들은 물리적 유닛일 수도 있고 아닐 수도 있고, 하나의 위치에 위치할 수도 있고, 복수의 네트워크 유닛들 상에 분포되어 있을 수도 있다. 일부 또는 모든 유닛들이 실시예의 해결 수단의 목적을 달성하기 위한 실제적인 필요에 따라 선택될 수 있다.
게다가, 본 발명의 실시예 내에서 기능 유닛은 하나의 처리 유닛으로 조립되거나, 또는 각각의 유닛이 물리적으로 단독적으로 존재하거나, 또는 2개 또는 그 이상의 유닛이 하나의 유닛으로 조립될 수 있다.

Claims (10)

  1. 저장 장치에 의해 데이터를 저장하기 위한 방법으로서,
    상기 저장 장치가, 논리 주소 및 데이터를 운반하는 기록 요청을 수신하는 단계;
    상기 저장 장치가 상기 기록 요청의 특징을 판단하는 단계;
    상기 기록 요청의 특징이 제1 조건을 만족할 때, 상기 저장 장치가 상기 기록 요청 내에 운반되는 데이터를, 제1 데이터 공간 및 제1 오버-프로비저닝 공간을 포함하는 제1 저장 영역의 상기 제1 오버-프로비저닝 공간의 제1 저장 주소에 기록하는 단계;
    상기 저장 장치가 상기 논리 주소 및 상기 제1 저장 주소 간의 매핑 관계를 구축하는 단계;
    상기 기록 요청의 특징이 제2 조건을 만족할 때, 상기 기록 요청 내에 운반되는 데이터를, 제2 데이터 공간 및 제2 오버-프로비저닝 공간을 포함하는 제2 저장 영역의 상기 제2 오버-프로비저닝 공간의 제2 저장 주소에 기록하는 단계; 및
    상기 저장 장치가 상기 논리 주소 및 상기 제2 저장 주소 간의 매핑 관계를 구축하는 단계
    를 포함하고,
    상기 제1 오버-프로비저닝 공간이 상기 제2 오버-프로비저닝 공간보다 더 작거나 또는 상기 제1 데이터 공간에 대한 상기 제1 오버-프로비저닝 공간의 비율이 상기 제2 데이터 공간에 대한 상기 제2 오버-프로비저닝 공간의 비율보다 더 작은,
    저장 장치에 의해 데이터를 저장하기 위한 방법.
  2. 제1항에 있어서,
    상기 저장 장치가 상기 기록 요청의 특징을 판단하는 단계는,
    상기 저장 장치가, 상기 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단하는 단계를 포함하고,
    상기 제1 조건은 상기 순차적 기록 요청이고, 상기 제2 조건은 상기 임의적 기록 요청인, 저장 장치에 의해 데이터를 저장하기 위한 방법.
  3. 제1항에 있어서,
    상기 저장 장치가 상기 기록 요청의 특징을 판단하는 단계는,
    상기 저장 장치가, 상기 기록 요청의 순차성 정도(sequence level)를 판단하는 단계를 포함하고,
    상기 제1 조건은 제1 순차성 정도 범위이고, 상기 제2 조건은 제2 순차성 정도 범위이고, 상기 제1 순차성 정도 범위의 최솟값은 상기 제2 순차성 정도 범위의 최댓값보다 더 큰, 저장 장치에 의해 데이터를 저장하기 위한 방법.
  4. 제1항에 있어서,
    상기 저장 장치가 상기 기록 요청의 특징을 판단하는 단계는,
    상기 저장 장치가 상기 기록 요청의 임의성 정도(randomness level)를 판단하는 단계를 포함하고,
    상기 제1 조건은 제1 임의성 정도 범위이고, 상기 제2 조건은 제2 임의성 정도 범위이고, 상기 제1 임의성 정도 범위의 최댓값은 상기 제2 임의성 정도 범위의 최솟값보다 더 작은, 저장 장치에 의해 데이터를 저장하기 위한 방법.
  5. 제1항에 있어서,
    상기 저장 장치가 상기 기록 요청의 특징을 판단하는 단계는,
    상기 저장 장치가 상기 기록 요청 내에 운반되는 데이터의 크기를 판단하는 단계를 포함하고,
    상기 제1 조건은 제1 저장 영역에 저장된 제1 데이터 범위이고, 상기 제2 조건은 제2 저장 영역에 저장된 제2 데이터 범위이고, 상기 제1 데이터 범위의 최솟값은 상기 제2 데이터 범위의 최댓값보다 더 큰, 저장 장치에 의해 데이터를 저장하기 위한 방법.
  6. 저장 장치로서,
    저장 제어기;
    제1 데이터 공간 및 제1 오버-프로비저닝 공간을 포함하는 제1 저장 영역; 및
    제2 데이터 공간 및 제2 오버-프로비저닝 공간을 포함하는 제2 저장 영역
    을 포함하고,
    상기 저장 제어기는,
    논리 주소 및 데이터를 운반하는 기록 요청을 수신하고;
    상기 기록 요청의 특징을 판단하고;
    상기 기록 요청의 특징이 제1 조건을 만족할 때, 상기 기록 요청 내에 운반되는 데이터를 상기 제1 오버-프로비저닝 공간의 제1 저장 주소에 기록하고;
    상기 논리 주소 및 상기 제1 저장 주소 간의 매핑 관계를 구축하고;
    상기 기록 요청의 특징이 제2 조건을 만족할 때, 상기 기록 요청 내에 운반되는 데이터를 상기 제2 오버-프로비저닝 공간의 제2 저장 주소에 기록하고;
    상기 논리 주소 및 상기 제2 저장 주소 간의 매핑 관계를 구축하도록 구성되고,
    상기 제1 오버-프로비저닝 공간이 상기 제2 오버-프로비저닝 공간보다 더 작거나 또는 상기 제1 데이터 공간에 대한 상기 제1 오버-프로비저닝 공간의 비율이 상기 제2 데이터 공간에 대한 상기 제2 오버-프로비저닝 공간의 비율보다 더 작은,
    저장 장치.
  7. 제6항에 있어서,
    상기 저장 제어기는 구체적으로, 상기 기록 요청이 순차적 기록 요청인지 또는 임의적 기록 요청인지를 판단하도록 구성되고,
    상기 제1 조건은 상기 순차적 기록 요청이고, 상기 제2 조건은 상기 임의적 기록 요청인, 저장 장치.
  8. 제6항에 있어서,
    상기 저장 제어기는 구체적으로, 상기 기록 요청의 순차성 정도(sequence level)를 판단하도록 구성되고,
    상기 제1 조건은 제1 순차성 정도 범위이고, 상기 제2 조건은 제2 순차성 정도 범위이고, 상기 제1 순차성 정도 범위의 최솟값은 상기 제2 순차성 정도 범위의 최댓값보다 더 큰, 저장 장치.
  9. 제6항에 있어서,
    상기 저장 제어기는 구체적으로, 상기 기록 요청의 임의성 정도(randomness level)를 판단하도록 구성되고,
    상기 제1 조건은 제1 임의성 정도 범위이고, 상기 제2 조건은 제2 임의성 정도 범위이고, 상기 제1 임의성 정도 범위의 최댓값은 상기 제2 임의성 정도 범위의 최솟값보다 더 작은, 저장 장치.
  10. 제6항에 있어서,
    상기 저장 제어기는 구체적으로, 상기 기록 요청 내에 운반되는 데이터의 크기를 판단하도록 구성되고,
    상기 제1 조건은 제1 저장 영역에 저장된 제1 데이터 범위이고, 상기 제2 조건은 제2 저장 영역에 저장된 제2 데이터 범위이고, 상기 제1 데이터 범위의 최솟값은 상기 제2 데이터 범위의 최댓값보다 더 큰, 저장 장치.
KR1020187017375A 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치 KR101962359B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/095846 WO2017088185A1 (zh) 2015-11-27 2015-11-27 一种存储设备存储数据的方法及存储设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167026409A Division KR101871471B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008098A Division KR102060736B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치

Publications (2)

Publication Number Publication Date
KR20180072855A true KR20180072855A (ko) 2018-06-29
KR101962359B1 KR101962359B1 (ko) 2019-03-26

Family

ID=58746365

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020197038048A KR102170539B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR1020187017375A KR101962359B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR1020167026409A KR101871471B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR1020197008098A KR102060736B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197038048A KR102170539B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020167026409A KR101871471B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR1020197008098A KR102060736B1 (ko) 2015-11-27 2015-11-27 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치

Country Status (13)

Country Link
US (1) US20180232314A1 (ko)
EP (2) EP3779663A1 (ko)
JP (1) JP6311195B2 (ko)
KR (4) KR102170539B1 (ko)
CN (2) CN107003809B (ko)
AU (2) AU2015383834B2 (ko)
BR (1) BR112016021172B1 (ko)
CA (1) CA2942443C (ko)
MX (1) MX363170B (ko)
RU (1) RU2642349C1 (ko)
SG (1) SG11201607335XA (ko)
WO (1) WO2017088185A1 (ko)
ZA (1) ZA201704018B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029235A (ko) * 2018-09-10 2020-03-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554970A (zh) * 2018-05-31 2019-12-10 北京忆恒创源科技有限公司 显著降低写放大的垃圾回收方法及存储设备
KR20190128392A (ko) * 2018-05-08 2019-11-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN112352216B (zh) * 2018-06-30 2022-06-14 华为技术有限公司 数据存储方法及数据存储装置
TWI709042B (zh) * 2018-11-08 2020-11-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN109376095B (zh) * 2018-12-04 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种基于flash区域地址映射机制的垃圾回收方法
CN111949560B (zh) * 2019-05-16 2024-01-23 兆易创新科技集团股份有限公司 一种数据写入方法、装置及存储设备
KR20200132495A (ko) * 2019-05-17 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템, 컨트롤러 및 컨트롤러의 동작 방법
CN114237489B (zh) * 2020-09-09 2024-04-05 浙江宇视科技有限公司 将逻辑资源写入smr盘的方法、装置、电子设备及存储介质
CN112214175A (zh) * 2020-10-21 2021-01-12 重庆紫光华山智安科技有限公司 数据处理方法、装置、数据节点及存储介质
WO2022240318A1 (ru) * 2021-05-13 2022-11-17 Общество с ограниченной ответственностью "РЭЙДИКС" Способ управления системой хранения данных и система хранения данных
CN113342272B (zh) * 2021-06-07 2023-02-10 深圳数联天下智能科技有限公司 一种坐姿数据的存储方法、展示方法、智能坐垫和系统
CN113703664B (zh) * 2021-06-24 2024-05-03 杭州电子科技大学 一种eMMC芯片随机写入速率优化实现方法
CN113608702A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种实现数据处理的方法、装置、计算机存储介质及终端
CN114415981B (zh) * 2022-03-30 2022-07-15 苏州浪潮智能科技有限公司 一种多控存储系统的io处理方法、系统及相关组件
CN114741327B (zh) * 2022-04-22 2024-04-19 中科驭数(北京)科技有限公司 一种垃圾回收方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962186B1 (ko) * 2008-12-22 2010-06-10 한국과학기술원 초저전력 스토리지 시스템 및 그의 데이터 관리방법
CN102023810A (zh) * 2009-09-10 2011-04-20 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置以及廉价冗余磁盘阵列

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3585091B2 (ja) * 1998-06-15 2004-11-04 富士通株式会社 記憶装置
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR101515525B1 (ko) * 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
JP2010211618A (ja) * 2009-03-11 2010-09-24 Toshiba Corp 半導体記憶装置
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
TWI407310B (zh) * 2009-10-09 2013-09-01 Silicon Motion Inc 資料儲存裝置及資料存取方法
US9753847B2 (en) * 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8677054B1 (en) * 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
KR101662827B1 (ko) * 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
CN103688246A (zh) * 2011-05-17 2014-03-26 桑迪士克科技股份有限公司 具有在活跃slc和mlc存储器分区之间分布的小逻辑组的非易失性存储器和方法
WO2012161659A1 (en) * 2011-05-24 2012-11-29 Agency For Science, Technology And Research A memory storage device, and a related zone-based block management and mapping method
US8671241B2 (en) * 2011-09-13 2014-03-11 Dell Products Lp Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state
KR20130030640A (ko) * 2011-09-19 2013-03-27 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법 및 그것을 포함하는 데이터 저장 장치
KR101889298B1 (ko) * 2011-11-08 2018-08-20 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 장치 및 불휘발성 메모리의 제어 방법
CN102541760B (zh) * 2012-01-04 2015-05-20 记忆科技(深圳)有限公司 基于固态硬盘的计算机系统
JP6011153B2 (ja) * 2012-08-22 2016-10-19 富士通株式会社 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US9495287B2 (en) * 2012-09-26 2016-11-15 International Business Machines Corporation Solid state memory device logical and physical partitioning
US9141532B2 (en) * 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9348746B2 (en) * 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9465731B2 (en) * 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
WO2014110095A1 (en) * 2013-01-08 2014-07-17 Violin Memory Inc. Method and system for data storage
US9098445B2 (en) * 2013-03-14 2015-08-04 Apple Inc. Selection of redundant storage configuration based on available memory space
TWI526830B (zh) * 2013-11-14 2016-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20150261444A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device
US9454551B2 (en) * 2014-03-13 2016-09-27 NXGN Data, Inc. System and method for management of garbage collection operation in a solid state drive
TWI519951B (zh) * 2014-11-03 2016-02-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
CN104317742B (zh) * 2014-11-17 2017-05-03 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法
US9910791B1 (en) * 2015-06-30 2018-03-06 EMC IP Holding Company LLC Managing system-wide encryption keys for data storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100962186B1 (ko) * 2008-12-22 2010-06-10 한국과학기술원 초저전력 스토리지 시스템 및 그의 데이터 관리방법
CN102023810A (zh) * 2009-09-10 2011-04-20 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置以及廉价冗余磁盘阵列

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200029235A (ko) * 2018-09-10 2020-03-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Also Published As

Publication number Publication date
CN107003809B (zh) 2019-01-18
AU2015383834B2 (en) 2018-07-19
CA2942443A1 (en) 2017-05-27
KR20190031605A (ko) 2019-03-26
MX363170B (es) 2019-03-13
ZA201704018B (en) 2019-04-24
KR102170539B1 (ko) 2020-10-27
RU2642349C1 (ru) 2018-01-24
CN109656486A (zh) 2019-04-19
AU2018220027A1 (en) 2018-09-06
AU2015383834A1 (en) 2017-06-15
EP3220255A4 (en) 2018-03-07
US20180232314A1 (en) 2018-08-16
KR20190143502A (ko) 2019-12-30
MX2016013227A (es) 2017-06-29
CA2942443C (en) 2019-07-30
SG11201607335XA (en) 2017-07-28
EP3779663A1 (en) 2021-02-17
BR112016021172B1 (pt) 2022-12-06
CN107003809A (zh) 2017-08-01
KR102060736B1 (ko) 2020-02-11
KR101871471B1 (ko) 2018-08-02
EP3220255A1 (en) 2017-09-20
WO2017088185A1 (zh) 2017-06-01
BR112016021172A2 (pt) 2017-10-03
JP6311195B2 (ja) 2018-04-18
JP2017538981A (ja) 2017-12-28
KR20170081133A (ko) 2017-07-11
KR101962359B1 (ko) 2019-03-26
CN109656486B (zh) 2022-07-12
AU2018220027B2 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
KR101962359B1 (ko) 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
US8521949B2 (en) Data deleting method and apparatus
US6839827B1 (en) Method, system, program, and data structures for mapping logical blocks to physical blocks
KR101257691B1 (ko) 메모리 컨트롤러 및 이의 데이터 관리방법
WO2015076354A1 (ja) ストレージ装置と方法並びにプログラム
WO2013097618A1 (zh) 存储虚拟化的装置、存储系统及数据存储方法及系统
US10296229B2 (en) Storage apparatus
KR102347841B1 (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
US11301157B2 (en) Data access method and storage array
KR20170065427A (ko) Ssd의 데이터 프로세싱 방법 및 장치
JP6011153B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US20180307426A1 (en) Storage apparatus and storage control method
JP6988445B2 (ja) ストレージシステム、制御装置及び制御方法
US8478938B2 (en) Performing data writes in parity protected redundant storage arrays
CN111610929A (zh) 数据储存装置以及非挥发式存储器控制方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant