KR20120087980A - 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 - Google Patents
다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 Download PDFInfo
- Publication number
- KR20120087980A KR20120087980A KR1020127013992A KR20127013992A KR20120087980A KR 20120087980 A KR20120087980 A KR 20120087980A KR 1020127013992 A KR1020127013992 A KR 1020127013992A KR 20127013992 A KR20127013992 A KR 20127013992A KR 20120087980 A KR20120087980 A KR 20120087980A
- Authority
- KR
- South Korea
- Prior art keywords
- interface
- command
- operation command
- control unit
- flash
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
본 발명의 실시예는 다중 인터페이스 솔리드 스테이트 디스크, 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템을 제공하며, 통신 분야에 관한 것이다. 본 발명의 실시예에 의하면, 다수의 호스트가 SSD를 직접 공유 및 액세스할 수 있으며, 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 위한 각 호스트의 요건을 만족시킨다. 본 발명에 따른 다중 인터페이스 솔리드 스테이트 디스크는 다중 인터페이스 제어 유닛, 명령 스케줄링 유닛, 플래시 제어 유닛 및 플래시 칩을 포함하며, 각각의 인터페이스 제어 유닛은 통신 인터페이스에 대응한다. 인터페이스 제어 유닛은 통신 인터페이스를 통해 작동 명령을 수신한다. 명령 스케줄링 유닛은 스케줄링 규칙에 따라 다수의 인터페이스 제어 유닛으로부터 작동 명령을 취득해서 명령 대기 열에 삽입하고, 명령 대기 열로부터 작동 명령을 인출해서 플래시 제어 유닛에 발송한다. 플래시 제어 유닛은 수신한 작동 명령을 플래시 작동 명령으로 변환해서 플래시 칩을 동작시킨다.
Description
본 발명은 통신 분야에 관한 것으로서, 구체적으로는 다중 인터페이스 솔리드 스테이트 디스크, 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템에 관한 것이다.
솔리드 스테이트 디스크(Solid State Disk: SSD)는 기억 매체로서 플래시(flash)를 사용한다. 종래의 하드 디스크에 비해, SSD는 고속의 데이터 액세스, 내진성, 넘어짐 방지, 저전력 소비, 사용 내구성, 저잡음, 경량 및 박형의 장점을 갖는다. 일부 특별한 응용 분야로서, SSD는 종래의 하드 디스크를 대체하는 것으로 전도가 유망하다. 일반적인 SATA(Serial Advanced Technology Attachment) 3.0 인터페이스의 SSD 디스크는 SATA 3.0 인터페이스의 대역폭에 의해 제한되며, 그 최대의 성능을 발휘할 수 없는 것이 일반적이다. 이에 비해, PCIe(Peripheral Component Interconnect Express) 인터페이스에 기초한 SSD는 대용량 및 고성능의 장점을 가지며, 더 높은 용량 및 성능 요건을 갖는 분야에 잘 적용될 수 있다.
현재, 시장에서 PCIe 인터페이스를 갖는 SSD는 항상 단일의 PCIe 인터페이스를 갖는 SSD이다. 도 1에 나타낸 바와 같이, SSD 및 호스트 1(예를 들어, PC 머신 또는 서버)은 PCIe 인터페이스를 통해 접속된다. 호스트 1은 드라이브 1을 통해 자신의 기억 장치로서 SSD를 사용하고, SSD에 직접 액세스할 수 있다. 호스트 2는 드라이브 2, 호스트 1에서 구동하는 프록시 모듈, 및 호스트 1의 드라이브 1을 통해 SSD에 관한 액세스 명령을 SSD에 전달하여, SSD에 대한 간접 액세스를 구현한다.
다중 호스트에 의해 SSD의 공유 및 액세스를 구현하는 처리 과정에서, 본 발명의 발명자들은 종래 기술에 다음과 같은 문제점이 있다는 것을 알게 되었다.
단일의 PCIe 인터페이스를 갖는 SSD는 하나의 호스트에만 삽입될 수 있으며, 하나의 호스트에 의해서만 직접 액세스될 수 있다. 다른 호스트는 SSD를 간접적으로만 액세스할 수 있을 뿐이다. 따라서, SSD를 간접적으로 액세스하는 호스트의 액세스 대역폭은 작으며, 액세스 지연(access delay)은 크다. SSD의 높은 성능, 넓은 대역폭 및 대용량을 위한 각 호스트의 요건이 만족되지 않는다.
본 발명의 실시예는 다중 인터페이스 솔리드 스테이트 디스크, 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템을 제공하여, SSD가 하나의 호스트에 의해서만 직접 액세스될 수 있고 다중의 호스트에 의해서는 직접 공유되거나 액세스되지 않는 종래 기술의 기술적 문제점을 해결한다. 이에 의해, SSD의 높은 성능, 넓은 대역폭 및 대용량을 위한 각 호스트의 요건을 만족시킨다.
이러한 목적을 달성하기 위해, 본 발명의 실시예는 다음과 같은 기술적 해결 방안을 채택한다.
다중 인터페이스 솔리드 스테이트 디스크(multi-interface solid state disk)는, 다수의 인터페이스 제어 유닛(multiple interface control unit), 명령 스케줄링 유닛, 플래시 제어 유닛 및 플래시 칩을 포함한다. 각각의 인터페이스 제어 유닛은 통신 인터페이스에 대응한다.
인터페이스 제어 유닛은 통신 인터페이스를 통해 작동 명령을 수신한다.
명령 스케줄링 유닛은 스케줄링 규칙에 따라 다수의 인터페이스 제어 유닛으로부터 작동 명령을 취득해서 대기 열에 삽입한다.
명령 스케줄링 유닛은 대기 열로부터 작동 명령을 인출해서 플래시 제어 유닛에 발송한다.
플래시 제어 유닛은 수신한 작동 명령을 플래시 작동 명령으로 변환하고, 이 플래시 작동 명령을 통해 플래시 칩을 동작시킨다.
다중 인터페이스 솔리드 스테이트 디스크의 처리 방법은,
다수의 통신 인터페이스를 통해 작동 명령을 수신하는 단계;
스케줄링 규칙에 따라 다수의 통신 인터페이스로부터 수신된 작동 명령을 취득하고, 취득한 작동 명령을 명령 대기 열에 삽입하는 단계;
명령 대기 열로부터 작동 명령을 인출하는 단계; 및
작동 명령을 플래시 작동 명령으로 변환하고, 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키는 단계를 포함한다.
다중 인터페이스 솔리드 스테이트 디스크의 처리 시스템은 하나 이상의 호스트 및 하나 이상의 다중 인터페이스 솔리드 스테이트 디스크를 포함한다.
호스트는 다중 인터페이스 솔리드 스테이트 디스크 드라이브를 포함하며, 호스트와 다중 인터페이스 솔리드 스테이트 디스크 간의 직접 통신 접속은 드라이브를 구동시킴으로써 달성되고, 호스트는 다중 인터페이스 솔리드 스테이트 디스크에 작동 명령을 발송하도록 되어 있다.
다중 인터페이스 솔리드 스테이트 디스크는, 다중 인터페이스 제어 유닛, 명령 스케줄링 유닛, 플래시 제어 유닛 및 플래시 칩을 포함한다. 각각의 인터페이스 제어 유닛은 통신 인터페이스에 대응한다. 인터페이스 제어 유닛은 통신 인터페이스를 통해 호스트에 의해 송신된 작동 명령을 수신한다. 명령 스케줄링 유닛은 스케줄링 규칙에 따라 다수의 인터페이스 제어 유닛으로부터 작동 명령을 취득해서 명령 대기 열에 삽입하도록 되어 있다. 명령 스케줄링 유닛은 또한 명령 대기 열로부터 작동 명령을 인출해서 플래시 제어 유닛에 발송하도록 되어 있다. 플래시 제어 유닛은 수신한 작동 명령을 플래시 작동 명령으로 변환하고 이 변환한 작동 명령을 통해 플래시 칩을 동작시킨다.
본 발명의 실시예에서 제공되는 다중 인터페이스 솔리드 스테이트 디스크, 및 작동 명령을 처리하는 방법 및 시스템에 의하면, 다수의 통신 인터페이스가 솔리드 스테이트 디스크 내에 배치됨으로써, 여러 호스트가 여러 통신 인터페이스를 통한 통신을 위한 솔리드 스테이트 디스크 인터페이스에 직접 접속할 수 있게 되어, 다중의 호스트가 SSD를 공유할 때에 생기는 문제점을 회피할 수 있으며, 호스트가 SSD에 직접 접속된 경우를 제외한, 다른 호스트는 SSD를 간접적으로 액세스할 필요가 있어서, 여러 호스트가 SSD를 동시에 직접 액세스할 수 있고, 서로 공유하는 방식으로 액세스를 수행할 필요가 없게 된다. 따라서, 호스트의 액세스 대역폭이 증가하고, SSD의 높은 성능, 넓은 대역폭 및 대용량을 위한 각 호스트의 요건을 만족시킨다.
본 발명의 실시예에 따른 기술적 방안 또는 종래 기술을 더 명확하게 나타내기 위해, 본 발명의 실시예 또는 종래 기술을 설명하기 위한 첨부 도면을 이하에 나타낸다. 첨부 도면은 본 발명에 대한 이해를 돕기 위한 것으로 본 발명의 명세서의 일부분이고 본 발명의 실시예와 본 발명을 해석하기 위한 것으로 본 발명을 한정하는 것이 아니다.
도 1은 종래 기술의 솔리드 스테이트 디스크의 처리 시스템의 구조를 나타내는 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 구조를 나타내는 블록도이다.
도 3은 본 발명의 제2 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 구조를 나타내는 블록도이다.
도 4는 본 발명의 제3 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법을 나타내는 플로차트이다.
도 5는 본 발명의 제3 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 방법을 나타내는 플로차트이다.
도 6은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 처리 시스템의 구조를 나타내는 블록도이다.
도 7은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 시스템의 구조를 나타내는 블록도이다.
도 8은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 시스템의 구조를 나타내는 블록도이다.
도 1은 종래 기술의 솔리드 스테이트 디스크의 처리 시스템의 구조를 나타내는 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 구조를 나타내는 블록도이다.
도 3은 본 발명의 제2 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 구조를 나타내는 블록도이다.
도 4는 본 발명의 제3 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법을 나타내는 플로차트이다.
도 5는 본 발명의 제3 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 방법을 나타내는 플로차트이다.
도 6은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 처리 시스템의 구조를 나타내는 블록도이다.
도 7은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 시스템의 구조를 나타내는 블록도이다.
도 8은 본 발명의 제4 실시예에 따른 다중 인터페이스 솔리드 스테이트 디스크의 다른 처리 시스템의 구조를 나타내는 블록도이다.
본 발명의 실시예에 따른 기술적 방안을 본 발명의 실시예에서의 첨부 도면을 참조하여 이하에 명확하고 완전하게 설명하고 있다. 기술된 실시예는 본 발명의 모든 실시예가 아닌 그 일부에 불과하다. 창조적인 노력이 없이도 본 발명의 실시예에 기초하여 당업자가 얻을 수 있는 모든 다른 실시예는 본 발명의 보호 범위에 속한다.
제1 실시예
본 발명의 실시예는 다중 인터페이스 솔리드 스테이트 디스크를 제공한다. 도 2에 나타낸 바와 같이, 다중 인터페이스 솔리드 스테이트 디스크는 다중 인터페이스 제어 유닛(11), 명령 스케줄링 유닛(12), 플래시 제어 유닛(13), 및 플래시 칩(14)을 포함한다.
인터페이스 제어유닛(11)의 각각은 통신 인터페이스에 각각 대응한다. 인터페이스 제어 유닛(11)은 통신 인터페이스를 통해 조작 명령을 수신한다. 구체적으로, 통신 인터페이스는 PCIe 인터페이스 또는 SATA 인터페이스가 될 수 있다. 인터페이스 제어 유닛(11)에 의해 수신된 조작 명령은 PC 및 서버 등의 하드 디스크 카드에 접속된 다양한 호스트로부터 제공된다.
명령 스케줄링 유닛(12)은 스케줄링 규칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 조작 명령을 인출하고, 조작 명령을 명령 대기 열에 삽입시킨다. 구체적으로, 명령 스케줄링 유닛(12)은 다중 통신 인터페이스의 폴링 원칙에 따라 또는 낮은 번호가 우선순위를 갖는 또는 높은 번호가 우선순위를 갖는 다중 통신 인터페이스의 번호에 관한 원칙에 따라 또는 사용자에 의해 정의되는 다른 원칙에 따라, 다중 인터페이스 제어 유닛(11) 내의 조작 명령을 스케줄링할 수 있다.
명령 스케줄링 유닛(12)은 명령 대기 열로부터 조작 명령을 인출해서 플래시 제어 유닛(13)에 전송할 수 있다. 구체적으로, 조작 명령을 명령 대기 열로부터 인출하면, 조작 명령은 명령 대기 열의 선입선출(FIFO) 규칙에 따라 순차적으로 인출된다.
플래시 제어 유닛(13)은 수신한 조작 명령을 플래시 조작 명령으로 변환하고, 플래시 조작 명령을 통해 플래시 칩(14)을 조작한다. 구체적으로, 본 명세서에서의 플래시 칩은 향상된 성능을 얻기 위해 NAND(부정 논리곱) 플래시를 채택할 수 있다. 인터페이스 제어 유닛을 통해 직접 수신된 명령은 플래시 칩을 직접 동작시킬 수 없기 때문에, 조작 명령은 데이터 판독, 데이터 기록 또는 다른 제어 동작 등과 같이 플래시 칩을 동작시키기 전에, 플래시 제어 유닛(13)에 의해 플래시 조작 명령으로 변환시켜야 한다.
본 발명의 실시예에서, 다중 통신 인터페이스는 솔리드 스테이트 디스크에 배치됨으로써 여러 호스트가 여러 통신 인터페이스를 통한 통신을 위한 솔리드 스테이트 디스크 인터페이스에 직접 접속할 수 있게 되어, 다중의 호스트가 SSD를 공유할 때에 생기는 문제점을 회피할 수 있으며, 호스트가 SSD에 직접 접속된 경우를 제외한, 다른 호스트가 SSD를 간접적으로 액세스할 필요가 있어서, 여러 호스트가 SSD를 동시에 직접 액세스할 수 있고, 서로 공유하는 방식으로 액세스를 수행할 필요가 없게 된다. 따라서, 호스트의 액세스 대역폭이 증가하고, SSD의 높은 성능, 넓은 대역폭 및 대용량을 위한 각 호스트의 요건을 만족시킨다.
제2 실시예
도 3에 나타낸 바와 같이, 본 실시예는 다중 인터페이스 솔리드 스테이트 디스크는 다중 인터페이스 제어 유닛(11), 명령 스케줄링 유닛(12), 플래시 제어 유닛(13) 및 플래시 칩(14)을 포함한다.
인터페이스 제어 유닛(11)의 각각은 통신 인터페이스에 각각 대응한다. 인터페이스 제어 유닛(11)은 통신 인터페이스를 통해 조작 명령을 수신한다.
구체적으로, 다중 통신 인터페이스는 PCIe 인터페이스가 될 수 있지만, 이에 한정되는 것은 아니다. 통신 인터페이스는 SATA 인터페이스도 될 수 있다. PCIe 인터페이스 및 SATA 인터페이스의 특징에 따라, 다중 통신 인터페이스를 PCIe 인터페이스로 설정함으로써 SATA 인터페이스에 비해 호스트와 SSD 사이의 전송 대역폭을 증가될 수 있으며, 대역폭 성능에 대한 높은 요건을 만족시키게 되지만, 이에 한정되는 것은 아니다. 다중 통신 인터페이스의 인터페이스 타입은 사용자의 요건에 따라 유연하게 설정될 수 있다. 예를 들어, 여러 타입의 인터페이스를 갖는 호스트에 사용될 수 있도록 하기 위해, 다중 통신 인터페이스의 일부를 PCIe 인터페이스로 설정하고, 다중 통신 인터페이스의 다른 부분을 SATA 인터페이스로 설정해도 된다. 낮은 대역폭을 필요로 하는 요건을 갖는 응용 분야에 적용하기 위해, 2개의 통신 인터페이스를 모두 SATA 인터페이스로 설정할 수도 있다. 높은 전송 대역폭과 전송 성능의 요건을 갖는 응용 분야에 대해서는, 모든 다중 통신 인터페이스를 PCIe 인터페이스로 설정해도 된다.
인터페이스 제어 유닛(11)은, 예를 들어 PCIe 인터페이스 또는 SATA 인터페이스로부터 조작 명령을 수신하기 위해, 통신 인터페이스를 통해 조작 명령을 수신한다. 조작 명령은 판독 명령이나 기록 명령이 될 수 있으며, 로그 질의 명령(log query command), 불량 블록 카운트(bad block count) 및 질의 명령 등의 유지 함수를 갖는 명령이나, 플래시 내의 데이터 블록 소거의 횟수를 질의하는 명령 등이 될 수 있지만, 이에 한정되는 것은 아니다.
본 발명의 실시예에서, 명령 스케줄링 유닛(12)은 스케줄링 규칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 조작 명령을 취득해서 명령 대기 열 내에 위치시킨다.
구체적으로, 명령 스케줄링 유닛(12)이 스케줄링 규칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 조작 명령을 취득해서 명령 대기 열에 저장하면, 이하의 방법이 사용될 수 있다.
명령 스케줄링 유닛(12)은 조작 명령을 취득하기 위한 취득 명령을 스케줄링 규칙에 따라 다중 인터페이스 제어 유닛에 발송한다. 명령 스케줄링 유닛에 의해 전송된 취득 명령을 수신하면, 인터페이스 제어 유닛은 조작 명령을 명령 스케줄링 유닛(12)에 발송한다. 명령 스케줄링 유닛(12)은 수신한 조작 명령을 명령 대기 열에 삽입시킨다. 구체적으로, 명령 스케줄링 유닛(12)은 다중 통신 인터페이스의 폴링 원칙에 따라 또는 낮은 번호가 우선순위를 갖는 또는 높은 번호가 우선순위를 갖는 다중 통신 인터페이스의 번호에 관한 원칙에 따라, 다중 인터페이스 제어 유닛(11)의 조작 명령을 스케줄링할 수 있다. 상기 설명한 스케줄링 규칙과 별도로, 명령 스케줄링 유닛(12)은 사용자의 요건에 따라 자체적으로 규정한 스케줄링 규칙을 사용할 수도 있지만, 이에 한정되는 것을 아니다.
예를 들어, 명령 스케줄링 유닛(12)이 다수의 통신 인터페이스의 폴링 원칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 조작 명령을 취득해서, 명령 대기 열에 위치시키는 경우, 다음의 과정이 포함될 수 있다.
다중 인터페이스 SSD의 2개의 인터페이스 제어 유닛(즉, 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2)이 대응하는 통신 인터페이스를 통해 호스트 1 및 호스트 2에 의해 송신된 작동 명령(즉, 명령 1 및 명령 2)을 수신하면, 명령 스케줄링 유닛(12)이 작동 명령을 취득하기 위한 판독 명령을 소정의 사이클에 따라 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛(12)에 발송한다. 판독 명령을 수신하면, 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2는 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2에 의해 임시로 기억된 작동 명령을 명령 스케줄링 유닛(12)에 전달한다. 명령 스케줄링 유닛(12)은 수신한 명령 1을 명령 대기 열에 위치시키고, 다음으로 수신한 명령 2를 명령 대기 열에 위치시킨다.
예를 들어, 명령 스케줄링 유닛(12)이 낮은 번호가 우선순위를 갖는 다중 통신 인터페이스의 번호에 관한 원칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 작동 명령을 취득하고, 작동 명령을 명령 대기 열에 위치시키면, 다음의 과정이 포함될 수 있다.
다중 인터페이스 SSD의 2개의 인터페이스 제어 유닛(즉, 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2)이 대응하는 통신 인터페이스를 통해 호스트 1 및 호스트 2에 의해 송신된 작동 명령(즉, 명령 1 및 명령 2)을 수신하면, 명령 스케줄링 유닛(12)이 작동 명령을 취득하기 위한 판독 명령을 2개의 통신 인터페이스의 오름차순 또는 2개의 통신 인터페이스의 내림차순에 따라 순차적으로 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛(12)에 발송한다. 판독 명령을 수신하면, 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2는 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2에 의해 임시로 기억된 작동 명령을 명령 스케줄링 유닛에 전달한다. 명령 스케줄링 유닛은 수신한 명령 1을 명령 대기 열에 위치시키고, 다음으로 수신한 명령 2를 명령 대기 열에 위치시킨다.
예를 들어, 명령 스케줄링 유닛(12)이 높은 번호가 우선순위를 갖는 다중 통신 인터페이스의 번호에 관한 원칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 작동 명령을 취득하고, 작동 명령을 명령 대기 열에 위치시키면, 다음의 과정이 포함될 수 있다.
다중 인터페이스 SSD의 2개의 인터페이스 제어 유닛(즉, 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛 2)이 대응하는 통신 인터페이스를 통해 호스트 1 및 호스트 2에 의해 송신된 작동 명령(즉, 명령 1 및 명령 2)을 수신하면, 명령 스케줄링 유닛(12)이 작동 명령을 취득하기 위한 판독 명령을 2개의 통신 인터페이스의 내림차순에 따라 순차적으로 인터페이스 제어 유닛 1 및 인터페이스 제어 유닛(12)에 발송한다. 판독 명령을 수신하면, 인터페이스 제어 유닛 2 및 인터페이스 제어 유닛 1은 인터페이스 제어 유닛 2 및 인터페이스 제어 유닛 1에 의해 임시로 기억된 작동 명령을 명령 스케줄링 유닛에 전달한다. 명령 스케줄링 유닛은 수신한 명령 2를 명령 대기 열에 위치시키고, 다음으로 수신한 명령 1을 명령 대기 열에 위치시킨다.
또한, 작동 명령을 실행하여야 하는 경우, 명령 스케줄링 유닛(12)은 미리 대기하고 있는 작동 명령(previously-queued operating command)을 명령 대기 열로부터 가져와서, 이 미리 대기하고 있는 작동 명령을 플래시 제어 유닛(13)에 발송한다. 구체적으로, 작동 명령을 명령 대기 열로부터 인출하면, 작동 명령은 명령 대기 열의 선입선출(FIFO)에 따라 순차적으로 인출된다.
명령 스케줄링 유닛(12)에는 물리적으로 인터페이스 제어 유닛의 개수에 대응하는 개수의 입구 포트가 배치되고, 또한 출구 포트가 배치된다. 입구 포트의 각각은 입구 포트의 각각에 대응하는 인터페이스 제어 유닛의 출구 포트에 각각 접속된다. 출구 포트는 플래시 제어 유닛의 입구 포트에 접속된다. 명령 스케줄링 유닛(12)은 스케줄링 규칙에 따라 다중 인터페이스 제어 유닛(11)으로부터 작동 명령을 취득하고, 이 작동 명령을 입구 포트를 통해 명령 대기 열에 삽입하며, 명령 대기 열로부터 작동 명령을 인출한 후에 작동 명령을 출구 포트를 통해 플래시 제어 유닛에 발송한다.
플래시 제어 유닛(13)은 수신한 작동 명령을 플래시 작동 명령으로 변환하고 플래시 작동 명령을 통해 플래시 칩(14)을 동작시킨다.
구체적으로, 플래시 제어 유닛(13)은 작동 명령을 수신하고, 작동 명령을 플래시 작동 명령으로 변환한 후, 플래시 작동 명령을 플래시 칩(14)에 발송한다. 구체적으로, 플래시 칩은 성능의 개선을 위해 NAND 플래시를 사용할 수 있다. 인터페이스 제어 유닛을 통해 수신된 명령은 플래시 칩을 직접 작동시킬 수 없기 때문에, 작동 명령은, 데이터 판독 또는 데이터 기록 등과 같이 플래시 칩을 작동시키기 전에, 플래시 제어 유닛(13)에 의해 플래시 작동 명령으로 변환시킬 필요가 있다.
추가로, 용량에 대한 요건에 따라, 플래시 제어 유닛(13)은 하나 또는 다수의 플래시 칩(14)에 접속될 수 있다. 이와 달리, 본 발명의 실시예에 의하면, 다중 플래시 제어 유닛이 포함될 수 있다. 각각의 플래시 제어부가 하나 이상의 플래시 칩에 접속된다. 각각의 플래시 제어 유닛은 버스를 통해 명령 스케줄링 유닛(12)에 접속된다.
또한, 명령 스케줄링 유닛(12)이 작동 명령을 대기 열로부터 인출한 후에, 명령 스케줄링 유닛(12)이 작동 명령이 다수의 명령에 의해 이루어졌는지 여부를 판단한다. 작동 명령이 다수의 명령으로 이루어져 있다고 판단되면, 작동 명령은 다수의 명령으로 분할되고, 다수의 명령이 플래시 제어 유닛으로 발송된다. 작동 명령이 하나의 명령으로 이루어져 있다고 판단되면, 이 명령이 플래시 제어 유닛으로 발송된다.
또한, 플래시 제어 유닛(13)에 의해 수신된 작동 명령이 다수의 명령을 포함하는 경우, 다수의 명령은 대응하는 다수의 플래시 작동 명령으로 변환되고, 다수의 플래시 작동 명령은 플래시 칩으로 각각 발송됨으로써, 플래시 칩이 다수의 플래시 작동 명령을 병렬로 처리할 수 있게 된다. 플래시 제어 유닛(13)에 의해 수신된 작동 명령이 하나의 명령을 포함하는 경우, 이 명령은 대응하는 플래시 작동 명령으로 변환되고, 플래시 작동 명령은 플래시 칩으로 발송되어 처리된다.
또한, 플래시 칩이 작동 명령의 실행을 완료하면, 작동 명령의 실행이 명령 스케줄링 유닛(12)으로 복귀됨으로써, 명령 스케줄링 유닛(12)이 대응하는 작동 명령의 실행을 종료한다. 명령 스케줄링 유닛(12)은 작동 명령의 실행 결과를 수신하고, 작동 명령의 실행 결과를 이에 대응하는 인터페이스 제어 유닛(11)을 통해 호스트에 회신한다.
구체적으로, 작동 명령의 실행 결과가 대응하는 인터페이스 제어 유닛을 통해 호스트로 회신되면, 실행 결과는 인터럽트 방식을 채택함으로써 대응하는 인터페이스 제어 유닛을 통해 호스트로 직접 회신될 수 있다. 이와 달리, 실행 결과는 대응하는 인터페이스 제어 유닛에 발송될 수 있으며, 호스트는 작동 명령의 실행 결과가 인터페이스 제어 유닛에 기억되어 있는지 여부를 주기적으로 검출한다. 작동 명령의 실행 결과가 인터페이스 제어 유닛에 기억되어 있다고 검출되면, 호스트는 실행 결과를 취득한다. 본 발명은 구체적인 구현에 대한 제한이 없다. 구체적으로 채택되는 방법은 구체적인 상황에 따라 특정적으로 정해질 수 있다.
구체적으로, 작동 명령을 형성하는 다수의 명령이 동시에 실행되면, 먼저 완전히 실행된 명령이 먼저 명령 스케줄링 유닛으로 회신됨으로써, 명령 스케줄링 유닛은 명령의 실행을 종료한다.
본 발명의 실시예에서, 앞서 설명한 유닛은 다양한 하드웨어 처리 칩으로 구현될 수 있다. 예를 들어, 앞서 설명한 인터페이스 제어 유닛 및 명령 스케줄링 유닛은 PLD(Programable Logic Device) 칩(예를 들어, FPGA(Field-Programmable Gate Array)) 또는 CPLD(Complex Programmable Logic Device)를 사용하여 구현될 수 있으며, 플래시 제어 유닛은 다른 PLD 칩을 사용하여 구현된다. 또는 각각의 유닛은 PLD 칩을 사용하여 각각 구현될 수 있다.
본 발명의 실시예에서, 다수의 통신 인터페이스는 솔리드 스테이트 디스크 내에 배치됨으로써, 여러 호스트가 여러 통신 인터페이스를 통해 통신을 위한 솔리드 스테이트 디스크 인터페이스에 직접 접속될 수 있다. 이에 따라, 다수의 호스트가 SSD를 공유하는 경우에 생기는 문제를 피할 수 있으며, SSD에 직접 접속된 호스트를 제외한, 다른 호스트가 SSD에 간접적으로 액세스하여야 한다. 이에 따라, 여러 호스트는 솔리드 스테이트 디스크를 동시에 직접 액세스할 수 있으며, 이들 사이에서 고유의 방식에 의한 액세스를 수행하지 않아도 된다. 따라서, 액세스 대역폭이 증가하고, SSD의 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 위한 각 호스트의 요건을 만족시킨다.
또한, 본 발명의 실시예에 따른 다중 인터페이스 SSD의 인터페이스가 PCIe 인터페이스인 경우, 액세스 대역폭은 다른 인터페이스에 비해, PCIe 인터페이스의 성능에 기초하여 더 상승함으로써, 호스트는 SSD의 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 이용할 수 있다. 따라서, 시스템의 성능이 크게 향상된다.
또한, 호스트가 발송한 수신된 작동 명령이 명령 대기 열로부터 인출되면, 작동 명령이 다수의 명령으로 이루어졌는지 여부를 판단한다. 작동 명령이 다수의 명령으로 이루어져 있다고 판단되면, 작동 명령을 다수의 명령으로 분할하고, 다수의 명령을 동시에 전달한다. 이에 따라 다수의 명령이 병렬로 처리되어, 명령 처리 속도를 향상시킬 수 있다. 또한, 병렬로 처리되는 다수의 명령 중의 하나의 처리가 먼저 완료된 후에, 처리 결과가 명령 스케줄링 유닛으로 회신될 수 있어서, 명령 스케줄링 유닛은 명령의 실행을 종료한다. 따라서, SSD는 다른 명령의 처리에 대해 내부에서 가능한 많은 아이들 채널을 가질 수 있다. 이에 따라, SSD의 성능이 향상된다.
제3 실시예
본 발명의 실시예는 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법을 제공한다. 도 4에 나타낸 바와 같이, 본 방법은, 이하의 단계를 포함한다.
단계 201: 다수의 통신 인터페이스를 통해 작동 명령을 수신한다.
구체적으로, 본 발명의 실시예에서, 다중 인터페이스 솔리드 스테이트 디스크에는 다수의 인터페이스 제어 유닛이 배치된다. 인터페이스 제어 유닛의 각각은 일종의 통신 인터페이스에 대응한다. 수신된 작동 명령은 호스트로부터 온 것이며, SSD 내의 플래시를 작동시키는 데에 사용된다.
또한, 작동 명령이 수신된 후에, 작동 명령은 계속해서 스케줄링을 대기할 인터페이스 제어 유닛 내에 임시로 기억된다.
단계 202: 스케줄링 규칙에 따라, 다수의 통신 인터페이스로부터 수신된 작동 명령을 취득하고, 이 작동 명령을 명령 대기 열에 삽입한다.
구체적으로, SSD의 명령 스케줄링 유닛은 스케줄링 규칙에 따라 스케줄링을 수행하고, 작동 명령을 명령 대기 열에 삽입하는 데에 사용될 수 있으며, 구체적으로 이하의 단계를 포함한다.
명령 스케줄링 유닛은 작동 명령을 취득하기 위한 취득 명령을 스케줄링 규칙에 따라 다수의 인터페이스 제어 유닛에 발송한다. 취득 명령을 수신하면, 인터페이스 제어 유닛은 작동 명령을 명령 스케줄링 유닛에 발송한다. 명령 스케줄링 유닛은 수신한 작동 명령을 명령 대기 열에 삽입한다.
명령 스케줄링 유닛은 다수의 통신 인터페이스의 폴링 원칙에 따라 또는 낮은 번호가 우선순위를 갖거나 높은 번호가 우선순위를 갖는 다수의 통신 인터페이스의 번호에 관한 원칙에 따라 다수의 인터페이스 제어 유닛 내의 작동 명령을 스케줄링할 수 있다. 앞서 설명한 스케줄링 규칙과 달리, 본 발명의 실시예에서, 사용자의 요구에 따라 다른 자체 규정된 스케줄링 규칙이 사용될 수 있으며, 이에 한정되는 것은 아니다.
스케줄링의 구체적인 구현에 대하여, 명령 스케줄링 유닛에 의해, 다양한 스케줄링 알고리즘에 따라 다수의 인터페이스 제어 유닛 내의 작동 명령에 대하여 제2 실시예에서 대응하는 설명이 있으므로, 반복해서 설명하지는 않는다.
단계 203: 명령 대기 열로부터 작동 명령을 인출한다.
구체적으로, 작동 명령을 명령 대기 열로부터 인출하면, 작동 명령은 명령 대기 열의 선입선출 원칙에 따라 순차적으로 인출된다.
단계 204: 작동 명령을 플래시 작동 명령으로 변환하고, 솔리드 스테이트 디스크 내의 플래시 칩을 동작시킨다.
단계 203 이후에, 도 5에 나타낸 바와 같이, 본 방법은 이하의 단계를 더 포함할 수 있다.
단계 2031: 작동 명령이 다수의 명령에 의해 이루어졌는지 여부를 판단한다. 작동 명령이 다수의 명령에 의해 이루어졌다고 판단되면, 단계 2032를 실행하고, 작동 명령이 하나의 명령에 의해 이루어졌다고 판단되면, 단계 2033을 실행한다.
단계 2032: 작동 명령을 다수의 명령으로 분할하고 단계 204를 실행한다. 즉, 다수의 명령은 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키기 위해 다수의 대응하는 플래시 작동 명령으로 변환된다.
단계 2033: 단계 204를 실행한다. 즉, 하나의 명령은 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키는 대응하는 플래시 작동 명령으로 변환된다.
구체적으로, 플래시 칩은 성능 개선을 위해 NAND 플래시를 채택할 수 있다. 통신 인터페이스를 통해 수신된 작동 명령은 플래시 칩을 직접 작동시킬 수 없기 때문에, 작동 명령은 플래시 칩을 작동시키기 전에 데이터 판독 또는 데이터 기록 등의 다른 제어 동작을 위한 플래시 작동 명령으로 변환할 필요가 있다.
단계 204 이후에, 본 방법은 이하의 단계를 포함할 수 있다.
작동 명령의 실행 결과는 명령 스케줄링 유닛으로 회신되며, 명령 스케줄링 유닛은 대응하는 작동 명령의 실행을 종료한다. 명령 스케줄링 유닛은 작동 명령의 실행 결과를 수신하고, 작동 명령의 실행 결과를 이에 대응하는 인터페이스 제어 유닛을 통해 호스트로 회신한다.
구체적으로, 작동 명령의 실행 결과가 대응하는 인터페이스 제어 유닛을 통해 호스트로 회신되면, 실행 결과는 인터럽트 방식을 채택함으로써 대응하는 인터페이스 제어 유닛을 통해 직접 호스트에 회신될 수 있다. 이와 달리, 실행 결과는 대응하는 이터페이스 제어 유닛으로 발송될 수 있으며, 호스트는 작동 명령의 실행 결과가 인터페이스 제어 유닛 내에 기억되어 있는지 여부를 주기적으로 검출하고, 작동 명령의 실행 결과가 인터페이스 제어 유닛 내에 기억되어 있다고 검출되면, 호스트는 실행 결과를 취득한다. 본 발명은 그 구체적인 구현에 대해서는 제한이 없다.
구체적으로 채택되는 방법은 구체적인 상황에 따라 특정적으로 정해질 수 있다.
구체적으로 작동 명령을 형성하는 다수의 명령이 동시에 실행되면, 먼저 완전히 실행된 명령이 먼저 명령 스케줄링 유닛으로 회신됨으로써, 명령 스케줄링 유닛은 명령의 실행을 종료한다.
구체적으로, 앞서 설명한 단계의 구체적인 구현을 위한 제1 실시예 및 제2 실시예와 관련된 설명을 참조하면 되므로, 반복해서 설명하지 않는다.
본 발명의 실시예에서, 호스트가 솔리드 스테이트 디스크의 다수의 통신 인터페이스를 통해 솔리드 스테이트 디스크에 작동 명령을 발송하면, 다수의 독립적으로 배치된 인터페이스 제어 유닛은 작동 명령을 수신하고, 명령 스케줄링 유닛은 수신된 작동 명령을 스케줄링하고 스케줄링 규칙에 따라 대기 열에 삽입함으로써, 수신된 작동 명령은 작동 시퀀스를 갖는다. 작동 명령을 동작시킬 필요가 있으면, 작동 명령이 대기 열로부터 인출되어 플래시 제어 유닛으로 발송된다. 이에 의해, 작동 명령이 제어 및 처리되고, 작동 결과가 취득된다. 따라서, 여러 호스트는 여러 통신 인터페이스를 통한 통신을 위한 솔리드 스테이트 디스크 인터페이스에 직접 접속될 수 있으며, SSD에 직접 접속된 호스트를 제외한, 다수의 호스트가 SSD를 공유하고 다른 호스트가 SSD에 간접적으로 액세스하여야 하는 경우에 생기는 문제를 피할 수 있다. 이에 따라, 여러 호스트는 솔리드 스테이트 디스크를 동시에 직접 액세스할 수 있다. 따라서, 액세스 대역폭이 증가하고, SSD의 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 위한 각 호스트의 요건을 만족시킨다.
또한, 호스트에 의해 발송된 작동 명령이 대기 열로부터 인출되면, 작동 명령이 다수의 명령에 의해 이루어졌는지 여부가 판단된다. 작동 명령이 다수의 명령에 의해 이루어졌다고 판단되면, 작동 명령은 다수의 명령으로 분할되고, 다수의 명령은 동시에 전달된다. 이에 의해, 다수의 명령은 병렬로 처리되고, 명령 처리 속도가 증가한다. 또한, 병렬로 처리되는 다수의 명령 중의 하나의 처리가 완료되면, 처리 결과는 먼저, 명령 스케줄링 유닛으로 회신될 수 있으며, 명령 스케줄링 유닛은 명령의 실행을 종료한다. 따라서, SSD는 다른 명령의 처리에 대해 내부에서 가능한 많은 아이들 채널을 가질 수 있다. 이에 따라, SSD의 성능이 향상된다.
제4 실시예
본 발명의 실시예는 다중 인터페이스 솔리드 스테이트 디스크의 처리 시스템을 제공한다. 본 시스템은 하나 이상의 호스트와 다중 인터페이스 SSD를 포함한다. 하나의 호스트가 있는 경우, 이 호스트는 다중 인터페이스 SSD의 둘 이상의 통신 인터페이스에 접속될 수 있는 호스트이다. 호스트가 다수의 호스트이면, 각각의 호스트는 다중 인터페이스 SSD의 하나 이상의 통신 인터페이스에 접속될 수 있는 호스트이다.
본 발명의 실시예에서, 다중 인터페이스 SSD의 처리 시스템을 예로 들어 설명한다. 본 시스템은 다수의 호스트와 하나의 다중 인터페이스 SSD를 포함하며, 각각의 호스트는 통신 인터페이스를 포함한다. 도 6에 나타낸 바와 같이, 시스템은 다수의 호스트와 하나의 다중 인터페이스 SSD를 포함한다.
각각의 호스트는 다중 인터페이스 SSD와 통신하는 인터페이스가 배치되고, 인터페이스를 통해 다중 인터페이스 SSD에 접속된다. 호스트가 다중 인터페이스 SSD 드라이브를 성공적으로 구동하면, 호스트와 다중 인터페이스 SSD 사이에 직접 통신 접속이 달성될 수 있다. 또한, 다중 인터페이스 SSD는 호스트의 기억 장치로서 사용된다.
예를 들어, 호스트 1, 호스트 2,... 및 호스트 n은 각각 다중 인터페이스 SSD의 통신 인터페이스 1, 통신 인터페이스 2,... 및 통신 인터페이스 n(도시하지 않음)을 통해 다중 인터페이스 SSD에 접속된다. 호스트 1, 호스트 2,... 및 호스트 n이 다중 인터페이스 SSD에 작동 명령을 발송하면, 통신 인터페이스 1, 통신 인터페이스 2,... 및 통신 인터페이스 n에 일대일로 대응하는 인터페이스 제어 유닛 1, 인터페이스 제어 유닛 2,... 및 인터페이스 제어 유닛 n은 호스트 1, 호스트 2,... 및 호스트 n에 의해 발송된 작동 명령을 각각 수신한다.
여러 호스트는 여러 통신 인터페이스를 통해 동일한 SSD에 접속된다. 여러 호스트는 각자의 다중 인터페이스 SSD 드라이브를 구동시키며, 호스트의 독립된 기억 장치가 되도록 다중 인터페이스 SSD를 초기화함으로써, 다수의 호스트에 접속되는 다중 인터페이스 SSD는 여러 호스트에서의 독립된 기억 장치로서 도시되어 있다. 각각의 호스트에 의해 액세스되는 다중 인터페이스 SSD의 액세스 공간의 크기와 범위는 다중 인터페이스 SSD에 의해 외부적으로 표시되는 기억 장치의 크기이다.
구체적으로, 다중 인터페이스 SSD에 의한 다중 인터페이스 제어 유닛에 의해 수신되는 작동 명령에 대한 처리를 위해, 제1, 제2 및 제3 실시예에서 설명한 내용을 참조할 수 있으므로, 반복해서 설명하지는 않는다.
본 발명의 실시예에서, 다수의 통신 인터페이스는 다중 인터페이스 SSD 내에 배치되며, 여러 호스트는 여러 통신 인터페이스를 통한 통신을 위해 SSD 인터페이스에 직접 접속되기 때문에, 다수의 호스트가 SSD를 공유하여야 하는 경우에 생기는 문제를 피할 수 있다. SSD에 직접 접속된 호스트를 제외한, 다른 호스트가 SSD에 간접적으로 액세스해야 하기 때문에, 여러 호스트는 솔리드 스테이트 디스크를 동시에 직접 액세스할 수 있다. 따라서, 액세스 대역폭이 증가하고, SSD의 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 위한 각 호스트의 요건을 만족시킨다.
본 발명의 실시예는 다중 인터페이스 SSD의 처리 시스템을 더 제공한다. 여기서는, 다중 인터페이스 SSD에 직접 접속되는 호스트에 대해 액티브-스탠바이(active-standby) 관계가 설정될 수 있다. 본 발명의 실시예에서, 처리 시스템을 구체적으로 예시하기 위한 예를 나타내며, 다중 인터페이스 SSD는 2개의 통신 인터페이스를 포함한다. 도 7에 나타낸 바와 같이, 시스템은 2개의 호스트(호스트 1 및 호스트 2)와 다중 인터페이스 SSD를 포함한다.
2개의 호스트의 각각은 다중 인터페이스 SSD에 접속된 인터페이스를 포함하며, 인터페이스를 통해 다중 인터페이스 SSD에 접속된다. 호스트가 SSD 드라이브를 성공적으로 구동하면, 호스트 1 및 호스트 2는 모두 다중 인터페이스 SSD를 독립적으로 액세스할 수 있다. 구체적인 구현 예로서, 호스트 1은 액티브 장치가 되도록 설정될 수 있으며, 호스트 2는 스탠바이 장치가 되도록 설정될 수 있다. 또한, 호스트 1과 호스트 2 사이에 링크 접속이 유지된다. 호스트 1과 호스트 2는 다중 인터페이스 SSD의 통신 인터페이스 1 및 통신 인터페이스 2를 통해 다중 인터페이스 SSD에 접속된다. 시스템이 정상이면, 호스트 1만이 다중 인터페이스 SSD와의 통신에 사용되며, 스탠바이 장치는 SSD를 액세스하지 않는다. 호스트 1이 실패하면, 스탠바이 상태의 호스트 2가 SSD의 액세스를 시작한다.
시스템이 정상이면, 호스트 1은 다중 인터페이스 SSD의 통신 인터페이스 1을 통해 작동 명령을 다중 인터페이스 SSD에 발송하고, 인터페이스 제어 유닛 1은 통신 인터페이스 1을 통해 작동 명령을 수신한다.
호스트 1이 실패하면, 호스트 2는 다중 인터페이스 SSD의 통신 인터페이스 2를 통해 작동 명령을 다중 인터페이스 SSD에 발송하고, 인터페이스 제어 유닛 2는 통신 인터페이스 2를 통해 작동 명령을 수신한다.
구체적으로, 다중 인터페이스 제어 유닛에 의해 수신된 작동 명령의 다중 인터페이스 SSD에 의한 처리에 대해서는, 제1, 제2 및 제3 실시예의 설명을 참조하면 되므로, 반복해서 설명하지는 않는다.
본 발명의 실시예에서, 다중 인터페이스 SSD에 접속되는 여러 호스트 사이에 액티브/스탠바이 관계가 설정된다. 액티브 호스트가 실패하면, 스탠바이 호스트가 대응하는 동작의 실행을 계속하게 되므로, 시스템의 신뢰성이 향상된다.
본 발명의 실시예는 또한, 다중 인터페이스 SSD의 처리 시스템으로서, 다중 인터페이스 SSD와 통신하는 호스트가 다수의 통신 인터페이스를 갖는 호스트로서 설정될 수 있는 시스템을 제공한다. 본 발명의 실시예는 처리 시스템을 구체적으로 예시하기 위한 예를 나타내며, 호스트는 2개의 통신 인터페이스를 갖는 호스트가 되도록 설정된다. 도 8에 나타낸 바와 같이, 시스템은 호스트 및 다중 인터페이스 SSD를 포함한다.
호스트는 다중 인터페이스 SSD 드라이브와 다중 인터페이스 SSD와 통신할 수 있는 2개의 인터페이스를 포함한다. 호스트의 인터페이스 1 및 인터페이스 2는 각각 다중 인터페이스 SSD의 통신 인터페이스 1 및 통신 인터페이스 2에 접속된다. 호스트의 각각의 인터페이스는 다중 인터페이스 SSD 드라이브의 구동을 통해 다중 인터페이스 SSD에 대해 독립적으로 액세스할 수 있다. 또한, 2개의 독립적인 다중 인터페이스 SSD가 호스트에 접속된 것이 도시되어 있다. 구체적인 구현 예에서, 호스트는 2개의 인터페이스 중의 하나를 통해 다중 인터페이스 SSD에 작동 명령을 발송할 수 있으며, 또한, 2개의 인터페이스를 통해 작동 명령을 다중 인터페이스 SSD에 동시에 발송할 수도 있다. 작동 명령이 2개의 인터페이스를 통해 다중 인터페이스 SSD에 동시에 발송되면, 호스트는 2개의 다중 인터페이스 SSD를 동시에 액세스할 수 있는 것이 호스트 측에 도시되어 있다. 따라서, 호스트와 다중 인터페이스 SSD 간의 대역폭이 넓어짐으로써, SSD의 성능이 향상될 수 있다.
구체적으로, 다수의 인터페이스 제어 유닛에 의해 수신된 작동 명령의 다중 인터페이스 SSD에 의한 처리에 대해서는, 제1, 제2 및 제3 실시예의 설명을 참조하면 되므로, 반복해서 설명하지는 않는다.
본 발명의 실시예에서, 다수의 인터페이스는 동일한 호스트에 배치된다. 다수의 인터페이스는 다중 인터페이스 SSD의 여러 통신 인터페이스에 접속된다. 호스트의 다중 인터페이스 SSD 드라이브 프로그램이 구동되면, 호스트의 다수의 인터페이스는 작동 명령을 다중 인터페이스 SSD에 동시에 발송할 수 있다. 호스트와 SSD 사이의 인터페이스 대역폭이 넓어진다. 여러 호스트는 솔리드 스테이트 디스크 카드의 솔리드 스테이트 디스크를 동시에 직접 액세스할 수 있다. 액세스 대역폭이 증가하고, 높은 성능, 넓은 대역폭 및 대용량 등의 특징을 위한 각 호스트의 요건을 만족시킨다.
이상의 설명은, 본 발명은 필요한 범용의 하드웨어와 소프트웨어에 의해 구현될 수 있으며, 명확하게는 하드웨어에 의해 구현될 수 있지만, 많은 경우에는 소프트웨어에 의해 구현된다는 것을 당업자라면 알 수 있을 것이다. 이러한 이해에 기초하여, 본 발명의 기술적 방안은 소프트웨어 제품의 형태로 실질적으로 구현도리 수 있다. 컴퓨터 소프트웨어 제품은 플로피 디스크, 하드 디스크, 광 디스크 등의 판독가능한 기억 매체가 될 수 있으며, 본 발명의 실시예에서 설명한 방법을 컴퓨터 장치(예를 들어, 개인용 컴퓨터, 서버 또는 네트워크 장치)로 하여금 실행하도록 하기 위한 명령어를 포함한다.
이상의 설명은 본 발명의 구체적인 구현에 불과하며, 본 발명의 보호 범위를 제한하는 것으로 해석되어서는 안 된다. 본 발명에 의해 개시된 기술적 범위 내에서 당업자가 용이하게 생각할 수 있는 다양한 변형 및 변경도 본 발명의 범위에 속한다. 따라서, 본 발명의 보호 범위는 청구범위의 보호 범위에 의해 정해진다.
본 출원은 "MULTI-INTERFACE SOLID STATE DISK, PROCESSING METHOD AND SYSTEM OF MULTI-INTERFACE SOLID STATE DISK"란 명칭으로 2010년 5월 27일에 중국특허청에 제출된 중국특허출원 201010184698.9호에 대하여 우선권을 주장하며, 그 전체 내용을 본원에 참조에 의해 원용한다.
Claims (10)
- 다중 인터페이스 솔리드 스테이트 디스크(multi-interface solid state disk)에 있어서,
다수의 인터페이스 제어 유닛(multiple interface control unit), 명령 스케줄링 유닛(command scheduling unit), 플래시 제어 유닛(flash control unit) 및 플래시 칩(flash chip)을 포함하며,
각각의 인터페이스 제어 유닛은 통신 인터페이스에 대응하고,
상기 인터페이스 제어 유닛은 상기 통신 인터페이스를 통해 작동 명령(operating command)을 수신하며,
상기 명령 스케줄링 유닛은 스케줄링 규칙(scheduling rule)에 따라 상기 다수의 인터페이스 제어 유닛으로부터 작동 명령을 취득해서 명령 대기 열(command queue)에 삽입하고,
상기 명령 스케줄링 유닛은 또한 상기 명령 대기 열로부터 작동 명령을 인출해서 상기 플래시 제어 유닛에 발송하며,
상기 플래시 제어 유닛은 수신한 작동 명령을 플래시 작동 명령으로 변환하고, 이 플래시 작동 명령을 통해 상기 플래시 칩을 동작시키는 것을 특징으로 하는 다중 인터페이스 솔리드 스테이트 디스크. - 제1항에 있어서,
상기 명령 스케줄링 유닛은 스케줄링 규칙에 따라 상기 다중 인터페이스 제어 유닛으로부터 작동 명령을 수신하고,
상기 명령 스케줄링 유닛은 상기 다수의 통신 인터페이스의 폴링 원칙(polling principle)에 따라, 또는 낮은 번호가 우선순위를 갖거나 높은 번호가 우선순위를 갖는 다수의 통신 인터페이스의 번호에 관한 원칙에 따라, 작동 명령을 취득하는, 다중 인터페이스 솔리드 스테이트 디스크. - 제1항에 있어서,
상기 명령 스케줄링 유닛은, 명령 대기 열로부터 작동 명령을 인출하면, 인출한 작동 명령이 다수의 명령에 의해 이루어졌는지 여부를 판단해서, 작동 명령이 다수의 명령에 의해 이루어졌다고 판단되면, 작동 명령을 다수의 명령으로 분할해서 상기 플래시 제어 유닛에 발송하고, 작동 명령이 하나의 명령에 의해 이루어졌다고 판단되면, 그 하나의 작동 명령을 상기 플래시 제어 유닛에 발송하는, 다중 인터페이스 솔리드 스테이트 디스크. - 제1항에 있어서,
상기 통신 인터페이스는 개선된 피씨아이이(PCIe: peripheral component interconnect express) 인터페이스인 것인, 다중 인터페이스 솔리드 스테이트 디스크. - 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법에 있어서,
다수의 통신 인터페이스를 통해 작동 명령을 수신하는 단계;
스케줄링 규칙에 따라 상기 다수의 통신 인터페이스로부터 수신된 작동 명령을 취득하고, 취득한 작동 명령을 명령 대기 열에 삽입하는 단계;
상기 명령 대기 열로부터 작동 명령을 인출하는 단계; 및
작동 명령을 플래시 작동 명령으로 변환하고, 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키는 단계
를 포함하는 것을 특징으로 하는 방법. - 제5항에 있어서,
상기 스케줄링 규칙에 따라 다수의 통신 인터페이스로부터 수신된 작동 명령을 취득하는 단계는, 상기 다수의 통신 인터페이스의 폴링 원칙(polling principle)에 따라 또는 낮은 번호가 우선순위를 갖거나 높은 번호가 우선순위를 갖는 다수의 통신 인터페이스의 번호에 관한 원칙에 따라 작동 명령을 취득하는 단계를 포함하는, 방법. - 제5항에 있어서,
상기 명령 대기 열로부터 작동 명령을 인출하는 단계는, 인출한 작동 명령이 다수의 명령에 의해 이루어졌는지 여부를 판단해서, 작동 명령이 다수의 명령에 의해 이루어졌다고 판단되면, 작동 명령을 다수의 명령으로 분할하고, 다수의 명령을 다수의 대응하는 플래시 작동 명령으로 변환하며, 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키며, 작동 명령이 하나의 명령에 의해 이루어졌다고 판단되면, 그 하나의 작동 명령을 이에 대응하는 플래시 작동 명령으로 변환하고, 솔리드 스테이트 디스크 내의 플래시 칩을 동작시키는 단계를 포함하는, 방법. - 다중 인터페이스 솔리드 스테이트 디스크의 처리 시스템에 있어서,
하나 이상의 호스트; 및
하나 이상의 다중 인터페이스 솔리드 스테이트 디스크
를 포함하며,
상기 호스트는 다중 인터페이스 솔리드 스테이트 디스크 드라이브를 포함하며, 상기 호스트와 상기 다중 인터페이스 솔리드 스테이트 디스크 간의 직접 통신 접속은 상기 드라이브를 구동시킴으로써 달성되고, 상기 호스트는 상기 다중 인터페이스 솔리드 스테이트 디스크에 작동 명령을 발송하도록 되어 있으며,
상기 다중 인터페이스 솔리드 스테이트 디스크는, 다중 인터페이스 제어 유닛, 명령 스케줄링 유닛, 플래시 제어 유닛 및 플래시 칩을 포함하며, 각각의 인터페이스 제어 유닛은 통신 인터페이스에 대응하고, 상기 인터페이스 제어 유닛은 통신 인터페이스를 통해 상기 호스트에 의해 송신된 작동 명령을 수신하고, 상기 명령 스케줄링 유닛은 스케줄링 규칙에 따라 상기 다수의 인터페이스 제어 유닛으로부터 작동 명령을 취득해서 명령 대기 열에 삽입하도록 되어 있으며, 상기 명령 스케줄링 유닛은 상기 명령 대기 열로부터 작동 명령을 인출해서 상기 플래시 제어 유닛에 발송하도록 되어 있으며, 상기 플래시 제어 유닛은 수신한 작동 명령을 플래시 작동 명령으로 변환하고 이 변환한 작동 명령을 통해 상기 플래시 칩을 동작시키도록 된 것을 특징으로 하는 시스템. - 제8항에 있어서,
상기 호스트는 2개의 호스트이며, 상기 호스트는 상기 다중 인터페이스 솔리드 스테이트 디스크의 하나 이상의 통신 인터페이스에 접속된 호스트이고,
상기 시스템은, 하나의 호스트를 액티브(active) 장치가 되도록 설정하고, 다른 호스트를 스탠바이(standby) 장치가 되도록 설정하며,
상기 액티브 장치와 상기 스탠바이 장치 사이에 링크 통신이 유지되도록 한 것인, 시스템. - 제7항 내지 제9항 중 어느 한 항에 있어서,
상기 통신 인터페이스는 개선된 피씨 아이이(PCIe: peripheral component interconnect express) 인터페이스인 것인, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010184698.9 | 2010-05-27 | ||
CN201010184698A CN101833989A (zh) | 2010-05-27 | 2010-05-27 | 多接口固态硬盘及其处理方法和*** |
PCT/CN2011/074760 WO2011147324A1 (zh) | 2010-05-27 | 2011-05-27 | 多接口固态硬盘及其处理方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120087980A true KR20120087980A (ko) | 2012-08-07 |
Family
ID=42718030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127013992A KR20120087980A (ko) | 2010-05-27 | 2011-05-27 | 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120233386A1 (ko) |
EP (1) | EP2492916A4 (ko) |
KR (1) | KR20120087980A (ko) |
CN (1) | CN101833989A (ko) |
BR (1) | BR112012014266A2 (ko) |
MX (1) | MX2012005934A (ko) |
RU (1) | RU2012128534A (ko) |
WO (1) | WO2011147324A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838766B2 (en) | 2017-11-29 | 2020-11-17 | SK Hynix Inc. | Memory system and operating method thereof |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082384B2 (en) | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
CN101833989A (zh) * | 2010-05-27 | 2010-09-15 | 华为技术有限公司 | 多接口固态硬盘及其处理方法和*** |
US9189166B2 (en) | 2011-04-11 | 2015-11-17 | Ineda Systems Pvt. Ltd. | Multi-host SATA controller |
WO2012143944A2 (en) * | 2011-04-18 | 2012-10-26 | Ineda Systems Pvt. Ltd | Multi-host nand flash controller |
CN102566943B (zh) * | 2011-12-31 | 2015-03-11 | 记忆科技(深圳)有限公司 | 基于固态硬盘的通讯方法及固态硬盘 |
CN103150427A (zh) * | 2013-02-19 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于ssd硬盘缓存加速与备份的raid设计方法 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
CN103809920B (zh) * | 2014-02-13 | 2017-05-17 | 杭州电子科技大学 | 一种超大容量固态硬盘的实现方法 |
US9933980B2 (en) | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
US9881680B2 (en) | 2014-06-03 | 2018-01-30 | Qualcomm Incorporated | Multi-host power controller (MHPC) of a flash-memory-based storage device |
US9632953B2 (en) * | 2014-06-03 | 2017-04-25 | Qualcomm Incorporated | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers |
US9690720B2 (en) | 2014-06-03 | 2017-06-27 | Qualcomm Incorporated | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device |
US20160070665A1 (en) * | 2014-09-08 | 2016-03-10 | Htc Corporation | Portable electronic device and user data access method therefor |
KR102367982B1 (ko) | 2015-06-22 | 2022-02-25 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
TWI612429B (zh) * | 2016-04-12 | 2018-01-21 | 緯創資通股份有限公司 | 伺服器系統及其資料存取方法 |
US10909047B2 (en) * | 2016-06-01 | 2021-02-02 | Raymx Microelectronics Corp. | Flash memory control device capable of detecting type of interface and method thereof |
CN106681945A (zh) * | 2016-11-24 | 2017-05-17 | 天津津航计算技术研究所 | 多协议接口的固态硬盘 |
CN106843747A (zh) * | 2016-11-24 | 2017-06-13 | 天津津航计算技术研究所 | 双接口数据实时共享固态硬盘 |
JP6812900B2 (ja) * | 2017-05-17 | 2021-01-13 | 富士通株式会社 | ストレージ装置、ストレージ制御装置、およびストレージ制御プログラム |
CN109445686B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN109976772A (zh) * | 2019-03-29 | 2019-07-05 | 深圳忆联信息***有限公司 | Ssd自动开卡和安装***及其方法 |
CN110888592B (zh) * | 2019-05-15 | 2023-09-15 | 天津大学深圳研究院 | 基于延迟ssd***智能并行资源利用的请求调度方法及*** |
US11768613B2 (en) * | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
US11573708B2 (en) | 2019-06-25 | 2023-02-07 | Micron Technology, Inc. | Fail-safe redundancy in aggregated and virtualized solid state drives |
US11055249B2 (en) * | 2019-06-25 | 2021-07-06 | Micron Technology, Inc. | Access optimization in aggregated and virtualized solid state drives |
US11513923B2 (en) | 2019-06-25 | 2022-11-29 | Micron Technology, Inc. | Dynamic fail-safe redundancy in aggregated and virtualized solid state drives |
US11762798B2 (en) * | 2019-06-25 | 2023-09-19 | Micron Technology, Inc. | Aggregated and virtualized solid state drives with multiple host interfaces |
US10942846B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Aggregated and virtualized solid state drives accessed via multiple logical address spaces |
US10942881B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Parallel operations in aggregated and virtualized solid state drives |
KR20210105201A (ko) | 2020-02-18 | 2021-08-26 | 삼성전자주식회사 | 다중-호스트를 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법 |
CN111897491A (zh) * | 2020-07-15 | 2020-11-06 | 上海实业交通电器有限公司 | 一种nor flash操作处理方法、终端、计算机设备及存储介质 |
CN112114744A (zh) * | 2020-08-10 | 2020-12-22 | 西安交通大学 | 一种多通道全互联架构的ssd固态盘及其控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065861A1 (en) * | 2001-09-28 | 2003-04-03 | Clark Clyde S. | Dual system masters |
WO2003044732A1 (fr) * | 2001-11-23 | 2003-05-30 | Netac Technology Co., Ltd. | Procede de fabrication de dispositif a memoire a semiconducteurs et dispositif portant des interfaces multiples |
US7870334B2 (en) * | 2003-11-12 | 2011-01-11 | International Business Machines Corporation | Distributed task queues in a multiple-port storage system |
CN1558305A (zh) * | 2004-01-19 | 2004-12-29 | 中国科学院计算技术研究所 | 一种总线式通用串行总线复用器 |
US7685374B2 (en) * | 2007-07-26 | 2010-03-23 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US20090100174A1 (en) * | 2007-09-07 | 2009-04-16 | Sushma Annareddy | Method and system for automatic polling of multiple device types |
CN101398745B (zh) * | 2007-09-29 | 2011-12-21 | 群联电子股份有限公司 | 并行数据存取架构的固态盘存储***与固态盘控制器 |
CN101149664A (zh) * | 2007-10-26 | 2008-03-26 | 华为技术有限公司 | 固态硬盘及处理其管理数据的方法 |
US20090150894A1 (en) * | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US8140724B1 (en) * | 2008-08-22 | 2012-03-20 | Marvell International Ltd. | SATA pass through port |
US8756369B2 (en) * | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
CN101373628B (zh) * | 2008-10-14 | 2011-12-28 | 宋涛 | 固态硬盘 |
CN101833989A (zh) * | 2010-05-27 | 2010-09-15 | 华为技术有限公司 | 多接口固态硬盘及其处理方法和*** |
-
2010
- 2010-05-27 CN CN201010184698A patent/CN101833989A/zh active Pending
-
2011
- 2011-05-27 BR BR112012014266A patent/BR112012014266A2/pt not_active IP Right Cessation
- 2011-05-27 MX MX2012005934A patent/MX2012005934A/es not_active Application Discontinuation
- 2011-05-27 WO PCT/CN2011/074760 patent/WO2011147324A1/zh active Application Filing
- 2011-05-27 RU RU2012128534/08A patent/RU2012128534A/ru unknown
- 2011-05-27 KR KR1020127013992A patent/KR20120087980A/ko not_active Application Discontinuation
- 2011-05-27 EP EP11786096A patent/EP2492916A4/en not_active Withdrawn
-
2012
- 2012-05-16 US US13/473,297 patent/US20120233386A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838766B2 (en) | 2017-11-29 | 2020-11-17 | SK Hynix Inc. | Memory system and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
EP2492916A1 (en) | 2012-08-29 |
CN101833989A (zh) | 2010-09-15 |
RU2012128534A (ru) | 2014-01-20 |
EP2492916A4 (en) | 2013-01-23 |
BR112012014266A2 (pt) | 2017-04-04 |
US20120233386A1 (en) | 2012-09-13 |
WO2011147324A1 (zh) | 2011-12-01 |
MX2012005934A (es) | 2012-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120087980A (ko) | 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 | |
KR101744465B1 (ko) | 데이터를 저장하기 위한 방법 및 장치 | |
KR101491484B1 (ko) | 스케일러블 스토리지 디바이스들 | |
US20140068134A1 (en) | Data transmission apparatus, system, and method | |
KR102427550B1 (ko) | 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리 | |
US20150127691A1 (en) | Efficient implementations for mapreduce systems | |
US8707073B2 (en) | Energy-efficient polling loop | |
CN111722786A (zh) | 基于NVMe设备的存储*** | |
AU2015402888B2 (en) | Computer device and method for reading/writing data by computer device | |
CN104123228A (zh) | 一种数据存储***及其使用方法 | |
US9116881B2 (en) | Routing switch apparatus, network switch system, and routing switching method | |
US9898205B1 (en) | Scheduling of commands in a storage area network to minimize latency | |
CN113196225A (zh) | 开放信道矢量命令执行 | |
US20130151885A1 (en) | Computer management apparatus, computer management system and computer system | |
CN112506431B (zh) | 基于磁盘设备属性的i/o指令调度方法及装置 | |
CN105653213A (zh) | 一种基于Freescale P3041的双控磁盘阵列 | |
CN102521155B (zh) | 实现表项在物理存储器上动态分配的方法和装置 | |
EP2300925B1 (en) | System to connect a serial scsi array controller to a storage area network | |
US11971771B2 (en) | Peer storage device messaging for power management | |
US20230362084A1 (en) | Rational value rate limiter | |
US20130132621A1 (en) | Method and apparatus to share hardware resources across storage controllers within a system using resource sharing module | |
CN117938848A (zh) | 数据传输方法、传输通道分配方法、计算设备及管理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |