KR20180016680A - Storage device, test system for testing the same, and method thereof - Google Patents
Storage device, test system for testing the same, and method thereof Download PDFInfo
- Publication number
- KR20180016680A KR20180016680A KR1020160099603A KR20160099603A KR20180016680A KR 20180016680 A KR20180016680 A KR 20180016680A KR 1020160099603 A KR1020160099603 A KR 1020160099603A KR 20160099603 A KR20160099603 A KR 20160099603A KR 20180016680 A KR20180016680 A KR 20180016680A
- Authority
- KR
- South Korea
- Prior art keywords
- port
- command
- commands
- test
- dual port
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
Abstract
Description
본 발명은 저장 장치 및 그것을 테스트 하는 테스트 시스템 및 방법에 관한 것이다.The present invention relates to a storage device and a test system and method for testing it.
최근의 저장 장치(storage device)는 사용 효율을 높이고자 멀티 포트(multi port)를 형태로 개발되고 있다. 종래의 테스트 장치는 저장 장치의 멀티 포트를 동시에 이용하지 않고 순차적으로 포트를 사용함으로 최대 전송속도 이하로 동작 시키는 방식으로 테스트를 수행한다. 게다가 종래의 테스트 장치는 하드웨어/소프트웨어적으로 다수 포트에 대한 접근을 할 수 없다.Recent storage devices are being developed in the form of multi-ports in order to increase the efficiency of use. The conventional test apparatus performs testing in such a manner that the port is sequentially operated at a speed lower than the maximum transmission speed by not using the multi port of the storage device at the same time. In addition, conventional test equipment can not access multiple ports in hardware / software.
본 발명은 위에서 설명한 기술적 과제를 해결하기 위한 것으로, 테스트 효율을 증가시키는 멀티 포트 저장 장치 및 그것을 테스트하는 테스트 시스템 및 방법을 제공하는데 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned technical problems, and it is an object of the present invention to provide a multiport storage device for increasing test efficiency and a test system and method for testing the multiport storage device.
본 발명의 실시 예에 따른 호스트 장치, 및 상기 호스트 장치에 멀티 포트를 통하여 연결된 저장 장치들을 포함하는 테스트 시스템의 방법은, 테스트 프로그램에서 커맨드를 발행하는 단계, 디바이스 드라이버에서 상기 커맨드에 대응하는 복수의 커맨드들을 발생하는 단계, 및 상기 저장 장치들의 각각의 상기 멀티 포트로 상기 복수의 커맨드들을 동시에 전송하는 단계를 포함할 수 있다.A method of a test system including a host apparatus according to an embodiment of the present invention and storage devices connected to the host apparatus via a multiport includes issuing a command in a test program, Generating the commands, and simultaneously transmitting the plurality of commands to the multi-port of each of the storage devices.
본 발명의 실시 예에 따른 저장 장치는, 통신 프로토콜에 따라 구현된 제 1 포트, 상기 통신 프로토콜에 따라 구현된 제 2 포트, 제 1 적어도 하나의 비휘발성 메모리 장치, 제 2 적어도 하나의 비휘발성 메모리 장치, 상기 제 1 포트에 연결되고, 상기 제 1 적어도 하나의 비휘발성 메모리 장치를 제어하는 제 1 메모리 제어기, 및 상기 제 2 포트에 연결되고, 상기 제 2 적어도 하나의 비휘발성 메모리 장치를 제어하는 제 2 메모리 제어기를 포함하고, 테스트 동작시 상기 제 1 포트 및 상기 제 2 포트는 활성화되고, 상기 제 1 및 제 2 메모리 제어기들의 각각은 대응하는 포트를 통하여 커맨드들을 수신하고, 상기 수신된 커맨드들에 응답하여 대응하는 비휘발성 메모리 장치를 테스트할 수 있다.A storage device according to an embodiment of the present invention includes a first port implemented according to a communication protocol, a second port implemented according to the communication protocol, a first at least one non-volatile memory device, a second at least one non- A first memory controller coupled to the first port and controlling the first at least one non-volatile memory device, and a second memory controller coupled to the second port and configured to control the second at least one non-volatile memory device Wherein the first port and the second port are activated during a test operation, each of the first and second memory controllers receives commands via a corresponding port, and the received commands The corresponding non-volatile memory device may be tested.
본 발명의 실시 예에 따른 테스트 시스템은, 호스트 장치, 및 상기 호스트 장치에 듀얼 포트를 통하여 연결된 복수의 더트들을 포함하고, 상기 호스트 장치는, 중앙 처리 장치, 및 상기 중앙 처리 장치와 상기 복수의 더트들을 연결하는 호스트 버스 어댑터를 포함하고, 테스트 동작시 상기 듀얼 포트 중 제 1 포트로 제 1 커맨드가 전송되면서, 상기 듀얼 포트 중 제 2 포트로 제 2 커맨드가 동시에 전송될 수 있다.A test system according to an embodiment of the present invention includes a host device and a plurality of dots connected to the host device through a dual port, the host device including a central processing unit, And a second command can be simultaneously transmitted to a second port of the dual port while a first command is transmitted to a first port of the dual port in a test operation.
본 발명의 실시 예에 따른 저장 장치의 테스트 방법은, 제 1 포트를 통하여 제 1 커맨드를 수신하는 단계, 상기 제 1 커맨드를 수신하면서 제 2 포트를 통하여 제 2 커맨드를 수신하는 단계, 상기 제 1 커맨드에 응답하여 제 1 메모리를 테스트 하는 단계, 및 상기 제 1 메모리를 테스트하면서, 상기 제 2 커맨드에 응답하여 제 2 메모리를 테스트하는 단계를 포함할 수 있다.A method of testing a storage device according to an embodiment of the present invention includes receiving a first command through a first port, receiving a second command through a second port while receiving the first command, Testing the first memory in response to the command, and testing the first memory in response to the second command while testing the first memory.
본 발명의 실시 예에 따른 저장 장치 및 그것을 테스트하는 테스트 시스템 및 그것의 방법은 다수의 Port를 이용한 Write/Read를 효율적으로 수행함으로써 데이터 전송속도를 향상시키고, 정량적인 테스트 진행 시 테스트 시간을 감소시킴으로써 테스트 효율성을 향상시킬 수 있다.A storage device according to an embodiment of the present invention and a test system for testing the same and a method thereof can improve data transmission speed by efficiently performing Write / Read using a plurality of ports and reduce test time during quantitative test The test efficiency can be improved.
도 1은 본 발명의 실시 예에 따른 테스트 시스템을 예시적으로 보여주는 도면이다.
도 2a 및 도 2b는 듀얼 포트를 갖는 커넥터들을 예시적으로 보여주는 실시 예들이다.
도 3은 본 발명의 실시 예에 따른 테스트 시스템의 소프트웨어 계층을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 테스트 프로그램에서 발생되는 듀얼 포트 커맨드 발생 방법을 예시적 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 테스트 프로그램에서 발생된 커맨드 구조를 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 듀얼 포트 커맨드 처리 과정을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 듀얼 포트 SSD에 대한 실시 예를 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따른 듀얼 포트 SSD에 대한 다른 실시 예를 보여주는 블록도이다.
도 9는 본 발명의 실시 예에 따른 호스트의 커맨드 발생 방법을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 듀얼 포트 SSD의 테스트 방법을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 테스트 시스템을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 실시 예에 따른 저장 장치가 적용된 데이터 서버 시스템을 예시적으로 보여주는 도면이다.1 is an exemplary illustration of a test system in accordance with an embodiment of the present invention.
Figures 2a and 2b are illustrative examples of connectors having dual ports.
3 is an exemplary illustration of a software layer of a test system according to an embodiment of the present invention.
4 is a diagram illustrating a method of generating a dual port command generated in a test program according to an embodiment of the present invention.
5 is a diagram illustrating a command structure generated in a test program according to an exemplary embodiment of the present invention.
FIG. 6 is a diagram illustrating a dual port command process according to an exemplary embodiment of the present invention. Referring to FIG.
7 is a block diagram illustrating an embodiment of a dual port SSD according to an embodiment of the present invention.
8 is a block diagram illustrating another embodiment of a dual port SSD according to an embodiment of the present invention.
9 is a diagram illustrating an exemplary method of generating a host command according to an embodiment of the present invention.
10 is a diagram illustrating a method of testing a dual port SSD according to an exemplary embodiment of the present invention.
11 is a diagram illustrating an exemplary test system according to another embodiment of the present invention.
FIG. 12 is an exemplary diagram illustrating a data server system to which a storage device according to an embodiment of the present invention is applied.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.
본 발명의 실시 예에 따른 저장 장치는, 멀티 포트를 지원하고, 멀티 포트를 통하여 테스트 동작을 수행함으로써, 테스트 시간을 감소시키고, 테스트 효율성을 향상시킬 수 있다.The storage device according to the embodiment of the present invention supports the multi-port and performs the test operation through the multi-port, thereby reducing the test time and improving the test efficiency.
도 1은 본 발명의 실시 예에 따른 테스트 시스템(10)을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 테스트 시스템(10)은 호스트 장치(100) 및 복수의 더트들(DUT(device under test), 210, 220, ... , 2N0, N은 2 이상의 정수)을 포함할 수 있다.1 is an exemplary illustration of a
호스트 장치(100)는 중앙 처리 장치(CPU, 110) 및 호스트 버스 어댑터(HBA, 120)를 포함할 수 있다. 예를 들어, 호스트 장치(100)는 컴퓨팅 장치일 수 있다.The
중앙 처리 장치(110)는 하드웨어/소프트웨어/펌웨어를 제어함으로써 복수의 더트들(210, 220, ... , 2N0)에 대한 테스트 동작을 수행할 수 있다. The
호스트 버스 어댑터(120)는 중앙 처리 장치(110)에 연결되고, 중앙 처리 장치(110)의 테스트 커맨드들을 복수의 더트들(210, 220, ... , 2N0)로 전송하거나, 복수의 더트들(210, 220, ..., 2NO)의 각각의 테스트 커맨드들에 대한 수행 결과 값을 중앙 처리 장치(110)로 전송할 수 있다.The
호스트 버스 어댑터(120)는 복수의 더트들(210, 220, ... , 2N0)의 각각에 듀얼 포트들(PT1, PT2)에 연결될 수 있다. 실시 예에 있어서, 호스트 버스 어댑터(120)는 복수의 더트들(210, 220, ... , 2N0)의 각각에 듀얼 포트들(PT1, PT2)에 연결된 복수의 버스 어댑터 유닛들을 포함할 수 있다. 여기서 버스 어댑터 유닛들의 각각은 동일한 테스트 커맨드에 대한 테스트 동작을 병렬적으로 처리하도록 구현될 수 있다. 한편, 도 1에서는 중앙 처리 장치(110)에 하나의 호스트 버스 어댑터(120)가 도시되지만, 본 발명의 호스트 버스 어댑터의 개수가 여기에 제한되지 않을 것이다. 중앙 처리 장치(110)에 복수의 호스트 버스 어댑터들이 연결될 수도 있다고 이해되어야 할 것이다.The
실시 예에 있어서, 호스트 장치(100)는 더트들(210, 220, ... , 2N0)로부터 테스트 커맨드에 대응하는 테스트 결과 값을 수신하기 전에, 새로운 테스트 커맨드를 더트들(210, 220, ..., 2N0)에 전송할 수 있다.In an embodiment, the
실시 예에 있어서, 호스트 장치(100)는 테스트 동작을 수행하기 위하여 더트들(210, 220, ... , 2N0)의 듀얼 포트를 활성화시킬 수 있다.In an embodiment, the
실시 예에 있어서, 호스트 장치(100)는 듀얼 포트를 통하여 큐잉(queuing) 방식으로 테스트 커맨드를 더트들(210, 220, ... , 2N0)에 전송할 수 있다. In an embodiment, the
복수의 더트들(210, 220, ... , 2N0)은 테스트 동작이 수행된 메모리 장치들이다. 실시 예에 있어서, 복수의 더트들(210, 220, ... , 2N0)의 각각은 듀얼 포트들(PT1, PT2)을 포함할 수 있다. 여기서 듀얼 포트(PT1, PT2)의 각각은 동일한 통신 프로토콜에 의해 구현될 수 있다. 여기서 통신 프로토콜은, NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial at attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over ethernet), 및 이와 같은 것 중 어느 하나 일 수 있다.The plurality of
실시 예에 있어서, 듀얼 포트(PT1, PT2)는 대응하는 더트의 테스트 동작에서 동시에 활성화 될 수 있다. 다른 말로, 제 1 포트(PT1)를 통하여 더트에 대한 제 1 테스트 동작과 제 2 포트(PT2)를 통하여 더트에 대한 제 2 테스트 동작이 독립적으로 수행될 수 있다.In the embodiment, the dual ports PT1 and PT2 can be activated simultaneously in the test operation of the corresponding dirt. In other words, the first test operation for the dirt through the first port PT1 and the second test operation for the dirt through the second port PT2 can be performed independently.
실시 예에 있어서, 복수의 더트들(210, 220, ... , 2N0)의 각각은 SSD(solid state drive)일 수 있다. 예를 들어, 복수의 더트들(210, 220, ... , 2N0)은 SAS (serial attached SCSI) SSD일 수 있다.In an embodiment, each of the plurality of
실시 예에 있어서, 복수의 더트들(210, 220, ... , 2N0)의 각각은 HDD(hard disk drive)일 수 있다. 예를 들어, 복수의 더트들(210, 220, ... , 2N0)은 SAS (serial attached SCSI) HDD일 수 있다. 한편, 복수의 더트들(210, 220, ... , 2N0)의 각각은 SSD, HDD 이외에도 듀얼 포트로 구성된 어떠한 종류의 메모리 장치일 수 있다고 이해되어야 할 것이다.In an embodiment, each of the plurality of
호스트 장치(100)는 더트들(210, 220, ... , 2N0)의 각각의 모든 포트들(PT1, PT2)에 물리적으로 연결되고, 동시에 포트들(PT1, PT2)에 대한 접근을 수행할 수 있다.The
한편, 도 1에 도시된 더트들(210, 220, ... , 2N0)의 각각은 2개의 포트들(PT1, PT2)을 포함하였다. 하지만, 본 발명의 더트들이 여기에 제한될 필요는 없다. 본 발명의 더트들은 3개 이상의 포트들(멀티 포트)을 포함할 수 있다고 이해되어야 할 것이다.On the other hand, each of the
본 발명의 실시 예에 따른 테스트 시스템(10)은 듀얼 포트(PT1, PT2)를 모두 이용하여 대응하는 더트에 대한 테스트 동작을 수행함으로써, 종래의 그것과 비교하여 테스트 시간을 감소시키고, 이에 따른 테스트 성능 향상을 기대할 수 있다.The
도 2a 및 도 2b는 듀얼 포트를 갖는 커넥터들(201a, 201b)을 예시적으로 보여주는 실시 예들이다. 도 2a를 참조하면, 커넥터(201a)의 제 1 측면에 제 1 싱글 핀들, 전원 및 제어 핀들이 배치되고, 제 1측면에 대향하는 제 2 측면에 제 1 싱글 핀들이 배치된다. 여기서 제 1 싱글 핀들은 제 1 포트(Port A)을 지시하고, 제 2 싱글 핀들은 제 2 포트(Port B)을 지시한다.2A and 2B are illustrative examples of connectors 201a and 201b having a dual port. Referring to FIG. 2A, first single pins, power and control pins are disposed on a first side of the connector 201a, and first single pins are disposed on a second side opposite to the first side. Wherein the first single pins indicate a first port (Port A) and the second single pins indicate a second port (Port B).
도 2b를 참조하면, 커넥터(201b)의 제 1 측면에 전원핀들(P1~P15), PCIe 사이드밴드 핀들(E1 ~ E6), 제 1 포트(S1 ~ S7)가 배치되고, 제 1 측면에 대향하는 제 2 측면에 PCIe 레인들 및 사이드밴드 핀들(E17 ~ E39), 제 2 포트(S8 ~ S14), 및 PCIe 레인들 및 기준 클록 핀들(E7 ~ E16)이 배치될 수 있다.Referring to FIG. 2B, power pins P1 to P15, PCIe sideband pins E1 to E6, and first ports S1 to S7 are disposed on a first side of the connector 201b, The PCIe lanes and the sideband pins E17 to E39, the second ports S8 to S14, and the PCIe lanes and the reference clock pins E7 to E16 may be disposed on the second side.
실시 예에 있어서, 커넥터(201a, 201b)의 각각은 SSD Form Factor 커넉터로 구현될 수 있다.In an embodiment, each of connectors 201a, 201b may be implemented with an SSD Form Factor connector.
한편, 도 2a 및 도 2b에 도시된 커넥터들(201a, 201b)의 핀 배치는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다. 본 발명의 저장 장치에 포함된 커넥터는 다양한 형태로 듀얼 포트를 구성할 수 있다. On the other hand, it should be understood that the pin arrangement of the connectors 201a and 201b shown in Figs. 2A and 2B is merely an embodiment that does not limit the present invention. The connector included in the storage device of the present invention can constitute a dual port in various forms.
도 3은 본 발명의 실시 예에 따른 테스트 시스템(10, 도 1 참조)의 소프트웨어 계층을 예시적으로 보여주는 도면이다. 도 1 내지 도 3을 참조하면, 테스트 동작을 수행하기 위한 호스트 장치(100)의 소프트웨어 계층은, 어플리케이션 계층, 커맨드 계층, 전송 계층, 링크 계층, 및 물리 계층을 포함할 수 있다. 또한 테스트 동작이 수행되는 더트(예를 들어, 도 1의 210))의 소프트웨어 계층은, 어플리케이션 계층, 커맨드 계층, 전송 계층, 링크 계층, 및 물리 계층을 포함할 수 있다.Figure 3 is an exemplary illustration of a software layer of a test system 10 (Figure 1) in accordance with an embodiment of the present invention. 1 to 3, the software layer of the
실시 예에 있어서, 호스트 장치(100)의 어플리케이션 계층과 더트(210)의 어플리케이션 계층은 논리적으로 연결될 수 있고, 호스트 장치(100)의 전송 계층과 더트(210)의 전송 계층은 논리적으로 연결될 수 있고, 호스트 장치(100)의 링크 계층과 더트(210)의 링크 계층은 논리적으로 연결될 수 있다.In an embodiment, the application layer of the
실시 예에 있어서, 호스트 장치(100)는 어플리케이션 계층에 대응하는 테스트 프로그램(소프트웨어)으로 구현되고, 커맨드 계층에 대응하는 커널(kernel, 혹은 "device driver")로 구현될 수 있다.In the embodiment, the
여기서 테스트 프로그램은 호스트 장치(100)의 메모리(미도시)에 저장될 수 있다. 테스트 프로그램은 테스트 동작을 수행하기 위한 테스트 시퀀스 혹은 테스트 데이터를 포함할 수 있다. 예를 들어, 더트의 저장 영역에 특정 데이터를 저장한 후, 이를 읽은 후에 읽혀진 데이터가 특정 데이터와 동일한 지 여부를 따라 테스트 동작의 성공/실패가 판별될 수 있다. 더트 내의 특정 저장 영역이 불량으로 판별될 경우, 테스트 프로그램은 특정 저장 영역을 호스트 장치(100)로 전송하도록 구현될 수 있다. 또한, 테스트 프로그램은 특정 저장 영역을 리던던시 영역으로 대체하거나 특정 저장 영역이 불량임을 표시하도록 구현될 수 있다.Here, the test program may be stored in a memory (not shown) of the
실시 예에 있어서, 테스트 프로그램은 멀티 포트를 지원하는 더트의 테스트 효율성 향상을 위하여 복수의 커맨드들 동시에 발생하도록 구현될 수 있다. 일반적으로 더트에 대한 접근을 수행하기 위해 프로그램은 디바이스 드라이버(예, 커널)로 커맨드를 전달한다.In an embodiment, the test program may be implemented to generate a plurality of commands at the same time in order to improve the test efficiency of the dots supporting multi-port. Generally, to access the dirt, the program passes the command to the device driver (eg, the kernel).
실시 예에 있어서, 호스트 장치(100)의 물리 계층과 더트(210)의 물리 계층은 물리적으로 연결될 수 있다. 여기서 물리적인 연결은 듀얼 포트(PT1, PT2)를 이용할 수 있다. 예를 들어, 호스트 장치(100)는 물리 계층에 대응하는 하드웨어(예, PCIe 포트들)로 구현될 수 있다.In an embodiment, the physical layer of the
한편, 일반적인 어플리케이션 프로그램에서 발행된 커맨드 구조는, 동작을 정의하는 위한 동작 코드, 제어(특징)와 물리적 데이터 접근을 위한 논리 블록 어드레스, 정량적인 데이터 양을 지시하는 전송 길이를 포함할 수 있다. 본 발명의 테스트 프로그램에서 발생된 커맨드 구조는, 듀얼 포트를 사용을 지시하는 정보 및 듀얼 포트 지원으로 추가되는 어드레스를 더 포함할 수 있다.On the other hand, a command structure issued in a general application program may include an operation code for defining an operation, a control (feature) and a logical block address for accessing physical data, and a transmission length indicating a quantitative amount of data. The command structure generated in the test program of the present invention may further include information indicating use of a dual port and addresses added with dual port support.
도 4는 본 발명의 실시 예에 따른 테스트 프로그램에서 발생되는 듀얼 포트 커맨드 발생 방법을 예시적 보여주는 도면이다. 도 4를 참조하면, 어플리케이션 계층에 대응하는 테스트 프로그램에서 발생되는 커맨드는, 동작 코드(OP code), 제 1 어드레스(ADDR1), 전송 길이에 대응하는 섹터 카운트, 피쳐스(features), 듀얼포트 딜리미터(플래그), 및 제 2 어드레스(ADDR2)를 포함할 수 있다.4 is a diagram illustrating a method of generating a dual port command generated in a test program according to an embodiment of the present invention. 4, a command generated in a test program corresponding to an application layer includes an operation code (OP code), a first address ADDR1, a sector count corresponding to a transmission length, features, A meter (flag), and a second address ADDR2.
테스트 프로그램에서 발생되는 커맨드는 커맨드 계층, 즉 디바이스 드라이버에서 듀얼 포트 딜리미터(플래그)에 의거하여 2 개의 커맨드들로 분리 및 발생할 수 있다. 실시 예에 있어서, 디바이스 드라이버에서 발생된 제 1 커맨드는 동작 코드, 제 1 어드레스(ADDR1), 섹터 카운트, 및 피쳐스(features)를 포함할 수 있다. 여기서 제 1 커맨드는 듀얼 포트(PT1, PT2) 중에서 제 1 포트(PT1)에 전송될 수 있다.The commands generated in the test program can be separated and generated into two commands based on the command layer, i.e., the dual port delimiter (flag) in the device driver. In an embodiment, the first command generated in the device driver may include an operation code, a first address (ADDR1), a sector count, and features. Here, the first command may be transmitted to the first port PT1 out of the dual ports PT1 and PT2.
실시 예에 있어서, 디바이스 드라이버에서 발생된 제 2 커맨드는 동작 코드, 제 2 어드레스(ADDR2), 섹터 카운트, 및 피쳐스를 포함할 수 있다. 여기서 제 2 커맨드는 듀얼 포트(PT1, PT2) 중에서 제 2 포트(PT2)에 전송될 수 있다.In an embodiment, the second command generated in the device driver may include an operation code, a second address (ADDR2), a sector count, and a feature. Here, the second command may be transmitted to the second port PT2 out of the dual ports PT1 and PT2.
한편, 도 4에 도시된 커맨드 발생 방법은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다. 본 발명의 호스트 장치(100)는 다양한 방법으로 듀얼 포트에 대응하는 커맨드를 발생할 수 있다.Meanwhile, it should be understood that the method of generating the command shown in FIG. 4 is merely an embodiment that does not limit the present invention. The
도 5는 본 발명의 실시 예에 따른 테스트 프로그램에서 발생된 커맨드 구조를 예시적으로 보여주는 도면이다. 도 5를 참조하면, 테스트 프로그램에서 발생된 읽기 커맨드의 구조는, 1 바이트의 동작 코드, 7 바이트의 제 1 어드레스(ADDR1), 전송 길이에 대응하는 그룹 넘버, 1 바이트의 듀얼 포트 딜리미터(dual port delimiter)를 지시하는 플래그, 7 바이트의 제 2 어드레스(ADDR2)를 포함할 수 있다.5 is a diagram illustrating a command structure generated in a test program according to an exemplary embodiment of the present invention. 5, the structure of the read command generated in the test program includes a 1-byte operation code, a 7-byte first address ADDR1, a group number corresponding to the transmission length, a 1-byte dual port delimiter (dual a flag indicating a port delimiter, and a second address ADDR2 of 7 bytes.
한편, 도 5에 도시된 읽기 커맨드의 구조는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다. 예를 들어 어드레스(ADDR1, ADDR2)의 크기가 7 바이트에 제한되지 않을 것이다.On the other hand, it should be understood that the structure of the read command shown in FIG. 5 is merely an embodiment that does not limit the present invention. For example, the size of the addresses ADDR1 and ADDR2 will not be limited to 7 bytes.
본 발명의 실시 예에 따른 테스트 프로그램에서 발생된 커맨드 구조는 일반적인 그것과 비교하여, 일반적인 커맨드에 플래그와 추가적인 어드레스를 연접함으로써 구성될 수 있다. 이러한 구성은 테스트 프로그램에서 하나의 커맨드를 디바이스 드라이버에 전송하는 시간 동안에, 실질적으로 다수의 커맨드들이 전송될 수 있도록 한다. 그 결과로써, 본 발명의 테스트 프로그램은 일반적인 그것과 비교하여 듀얼 포트 동작에 따른 커맨드 발생에 대한 오버헤드를 최소화시킬 수 있다.The command structure generated in the test program according to the embodiment of the present invention can be configured by concatenating a flag with an additional address in a general command in comparison with a general command structure. This configuration allows a substantial number of commands to be transmitted during the time of transmitting one command to the device driver in the test program. As a result, the test program of the present invention can minimize the overhead of command generation according to the dual port operation as compared with the general test program.
실시 예에 있어서, Dual Port SAS의 읽기 함수는 read(rdbuf1, rdbuf2, LBA1, LBA2, Test_SC )으로 표현 될 수 있다. 여기서 rebuf1와 rdbuf2는 각 포트에서 출력된 읽기 데이터 버퍼를, LBA1는 첫 번째 논리 블록 어드레스를, LBA2는 추가 논리 블록 어드레스를, Test_SC는 섹터 카운트를 지시할 수 있다.In an embodiment, the read function of the Dual Port SAS can be expressed as read (rdbuf1, rdbuf2, LBA1, LBA2, Test_SC). Here, rebuf1 and rdbuf2 can indicate the read data buffer output from each port, LBA1 indicates the first logical block address, LBA2 indicates the additional logical block address, and Test_SC indicates the sector count.
실시 예에 있어서, 실시 예에 있어서, Dual Port SAS의 쓰기 함수는 write(wdbuf, LBA1, LBA2, Test_SC )으로 표현될 수 있다. 여기서 wdbuf는 쓰기 버퍼를, LBA1는 첫 번째 논리 블록 어드레스를, LBA2는 추가 논리 블록 어드레스를, Test_SC는 섹터 카운트를 지시할 수 있다.In an embodiment, in an embodiment, the write function of the Dual Port SAS may be expressed as write (wdbuf, LBA1, LBA2, Test_SC). Here, wdbuf may indicate a write buffer, LBA1 may indicate a first logical block address, LBA2 may indicate an additional logical block address, and Test_SC may indicate a sector count.
실시 예에 있어서, Dual Port NVMe의 읽기 함수는 readnvme(rdbuf1, rdbuf2, LBA1, LBA2, SC)으로 표현될 수 있다. 여기서 rdbuf1는 읽기 버퍼를, rdbuf2는 듀얼 포트 지원 읽기 버퍼를, LBA1는 논리 블록 어드레스를, LBA2는 듀얼 포트 지원 논리 블록 어드레스를, 및 SC는 섹터 카운트를 지시할 수 있다.In an embodiment, the read function of the Dual Port NVMe may be expressed as readnvme (rdbuf1, rdbuf2, LBA1, LBA2, SC). Where rdbuf1 is the read buffer, rdbuf2 is the dual port enabled read buffer, LBA1 is the logical block address, LBA2 is the dual port enabled logical block address, and SC is the sector count.
실시 예에 있어서, Dual Port NVMe의 쓰기 함수는 writenvme(wdbuf, LBA1, LBA2, SC)으로 표현될 수 있다. 여기서 wdbuf는 쓰기 버퍼를, LBA1는 논리 블록 어드레스의 비트들, LBA2는 듀얼 포트 지원 논리 블록 어드레스의 비트들, SC는 섹터 카운트를 지시할 수 있다.In an embodiment, the write function of Dual Port NVMe may be expressed as writenvme (wdbuf, LBA1, LBA2, SC). Where wdbuf is the write buffer, LBA1 is the bits of the logical block address, LBA2 is the bits of the dual port enabled logical block address, and SC is the sector count.
한편, 디바이스 드라이버는 커맨드의 플래그 값에 따라 듀얼 포트 동작 지원 여부를 결정하고, 듀얼 포트 동작 지원 가능할 때 상위 계층에서 전송된 커맨드를 듀얼 포트 지원에 적합한 커맨드들로 변경할 수 있다.On the other hand, the device driver determines whether to support the dual port operation according to the flag value of the command, and can change the command transmitted from the upper layer to the commands suitable for the dual port support when the dual port operation can be supported.
도 6은 본 발명의 실시 예에 따른 듀얼 포트 커맨드 처리 과정을 예시적으로 보여주는 도면이다. 도 6을 참조하면, CPU는 듀얼 포트 커맨드를 발행하고, 제 1 포트(PT1)을 통하여 제 1 커맨드들이 순차적으로 SSD에 전송되고, 동시에 제 1 포트(PT2)를 통하여 제 2 커맨드들이 순차적으로 SSD에 전송될 수 있다. SSD는 제 1 및 및 제 2 포트들(PT1, PT2)을 통하여 수신된 제 1 및 제 2 커맨드들을 동시에 처리할 수 있다.FIG. 6 is a diagram illustrating a dual port command process according to an exemplary embodiment of the present invention. Referring to FIG. 6, the CPU issues a dual port command, the first commands are sequentially transmitted to the SSD through the first port PT1, and the second commands are sequentially transmitted to the SSD through the first port PT2, Lt; / RTI > The SSD may simultaneously process the first and second commands received via the first and second ports PT1 and PT2.
실시 예에 있어서, CPU와 SSD 사이에서 제 1 및 제 2 커맨드들은 큐잉(queuing) 방식에 따라 송수신될 수 있다.In an embodiment, the first and second commands between the CPU and the SSD may be transmitted and received according to a queuing scheme.
도 7은 본 발명의 실시 예에 따른 듀얼 포트 SSD에 대한 실시 예를 보여주는 블록도이다. 도 7을 참조하면, 듀얼 포트 SSD(300)는 제 1 포트(PT1)에 연결된 제 1 메모리 제어기(MC1, 311), 제 1 메모리 제어기(311)에 연결된 적어도 하나의 비휘발성 메모리 장치(NVM(s), 321), 제 2 포트(PT2)에 연결된 제 2 메모리 제어기(MC2, 312), 제 2 메모리 제어기(312)에 연결된 적어도 하나의 비휘발성 메모리 장치(NVM(s), 322)를 포함할 수 있다.7 is a block diagram illustrating an embodiment of a dual port SSD according to an embodiment of the present invention. 7, the
메모리 제어기(311/312)는 복수의 채널들을 통하여 비휘발성 메모리 장치(321/322)에 연결될 수 있다. 메모리 제어기(312/312)는 ECC(error correction code) 기능, 웨어 레벨링(wear leveling), 배드 블록 관리(bad block management), 신호 처리 등을 수행하도록 구현될 수 있다. 메모리 제어기(312/312)는, 도시되지 않았지만, 적어도 하나의 프로세서, 버퍼 메모리, 버퍼 메모리 제어기, 에러 정정 회로, 호스트 인터페이스, 비휘발성 메모리 인터페이스 등을 포함할 수 있다.The
적어도 하나의 프로세서는 듀얼 포트 저장 장치(300)의 전반적인 동작을 제어할 수 있다. 버퍼 메모리 제어기는 버퍼 메모리를 제어하도록 구현될 수 있다. 에러 정정 회로는 쓰기 동작에서 프로그램 될 데이터의 에러 정정 코드 값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 비휘발성 메모리 장치(321/322)로부터 복구된 데이터의 에러를 정정할 수 있다. 에러 정정 회로는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다.At least one processor may control the overall operation of the dual
도시되지 않았지만, 메모리 제어기(321/322)를 동작하는 데 필요한 코드 데이터를 저장하는 코드 메모리가 더 포함될 수 있다. 코드 메모리는 비휘발성 메모리 장치로 구현될 수 있다.Although not shown, a code memory for storing code data necessary for operating the
호스트 인터페이스는 외부의 호스트(100, 도 1 참조)와 인터페이스 기능을 제공할 수 있다. 실시 예에 있어서, 호스트 인터페이스는 다양한 종류의 인터페이스에 의해 구현될 수 있으며, NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial at attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over ethernet) 등과 같은 통신 인터페이스로 구현될 수 있다.The host interface may provide an interface function with an external host 100 (see FIG. 1). In an embodiment, the host interface may be implemented by various types of interfaces and may include non-volatile memory express (NVMe), peripheral component interconnect express (PCIe), serial at attachment (SATA), small computer system interface , SAS (serial attached SCSI), UAS (universal storage bus) attached SCSI, iSCSI (Internet Small Computer System Interface), Fiber Channel, Fiber Channel over Ethernet (FCoE), and the like.
비휘발성 메모리 인터페이스는 비휘발성 메모리 장치(321/322)와 인터페이스 기능을 제공할 수 있다. 예를 들어, 비휘발성 메모리 인터페이스는 래거시(legacy) 낸드 인터페이스 혹은 VNAND(vertical nand flash memory) 인터페이스로 구현될 수 있다. 하지만, 비휘발성 메모리 인터페이스가 여기에 제한되지 않는다고 이해되어야 할 것이다.The non-volatile memory interface may provide an interface function with the
버퍼 메모리는 메모리 제어기(311/312)의 동작에 필요한 데이터를 임시로 저장할 것이다. 버퍼 메모리는 데이터 혹은 명령을 저장하는 복수의 메모리 라인들을 포함할 수 있다. 여기서 복수의 메모리 라인들은 캐시 라인들에 다양한 방법으로 맵핑 될 수 있다. 버퍼 메모리는 페이지 비트맵 정보 및 읽기 카운트 정보를 저장할 수 있다. 실시 예에 있어서, 버퍼 메모리는 휘발성 메모리 혹은 비휘발성 메모리로 구현될 수 있다. 예를 들어, 버퍼 메모리는 DRAM(dynamic random access memory) 혹은 PRAM(phase random access memory)로 구현될 수 있다.The buffer memory will temporarily store the data necessary for the operation of the
실시 예에 있어서, 제 1 포트(PT1)를 통하여 전송된 제 1 커맨드들은 제 1 메모리 제어기(311)에서 처리되고, 제 2 포트(PT2)를 통하여 전송된 제 2 커맨드들은 제 2 메모리 제어기(312)에서 처리될 수 있다. 실시 예에 있어서, 제 1 메모리 제어기(311) 및 제 2 메모리 제어기(312)는 대응하는 커맨드들을 독립적으로 처리할 수 있다.The first commands transmitted through the first port PT1 are processed in the
실시 예에 있어서, 적어도 하나의 비휘발성 메모리 장치들(321, 322)의 각각은, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.Each of the at least one
또한, 비휘발성 메모리 장치는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다. 본 발명의 실시 예로서, 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착 됨을 의미한다.The non-volatile memory device may also be implemented as a three-dimensional array structure. As an embodiment of the present invention, a three-dimensional memory array may be monolithically connected to one or more physical levels of arrays of memory cells having active areas disposed above a circuit associated with operation of a silicon substrate and memory cells. ). The circuitry associated with the operation of the memory cells may be located within or on the substrate. The term monolithical means that layers of each level in a three-dimensional array are deposited directly on the lower-level layers of the three-dimensional array.
본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.As an embodiment in accordance with the inventive concept, a three-dimensional memory array has vertical directionality and includes vertical NAND strings in which at least one memory cell is located on the other memory cell. The at least one memory cell includes a charge trap layer. Each vertical NAND string may include at least one select transistor located over the memory cells. The at least one select transistor has the same structure as the memory cells and can be formed monolithically with the memory cells.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖는다. 3차원 메모리 어레이에 적합한 구성은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌으로 결합된 US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, 및 US 2011/0233648에 설명될 것이다. 본 발명의 비휘발성 메모리 장치(NVM)는 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(charge trap flash; CTF)에도 모두 적용 가능하다. A three-dimensional memory array is composed of a plurality of levels and has word lines or bit lines shared between the levels. Suitable configurations for a three-dimensional memory array will be described in US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, and US 2011/0233648, filed by Samsung Electronics and incorporated herein by reference. The nonvolatile memory device (NVM) of the present invention is applicable not only to a flash memory device in which the charge storage layer is composed of a conductive floating gate but also to a charge trap flash (CTF) in which the charge storage layer is composed of an insulating film.
한편, 도 7에 도시된 듀얼 포트 SSD(300)는 포트들(PT1, PT2)의 각각에 대응하는 비휘발성 메모리 장치들(321, 322)을 포함 하였다. 하지만, 본 발명의 듀얼 포트 SSD가 여기에 제한되지 않을 것이다.Meanwhile, the
도 8은 본 발명의 실시 예에 따른 듀얼 포트 SSD에 대한 다른 실시 예를 보여주는 블록도이다. 도 8을 참조하면, 듀얼 포트 SSD(400)는 도 7의 그것과 비교하여 버스(415)를 통하여 공유하는 적어도 하나의 비휘발성 메모리 장치(420)를 포함할 수 있다. 제 1 및 제 2 메모리 제어기들(411, 422)은, 도 7의 그것들과 동일한 기능을 수행하도록 구현될 수 있다.8 is a block diagram illustrating another embodiment of a dual port SSD according to an embodiment of the present invention. 8,
도 9는 본 발명의 실시 예에 따른 호스트의 커맨드 발생 방법을 예시적으로 보여주는 도면이다. 도 1 내지 도 9를 참조하면, 호스트 장치(100)의 커맨드 발생 방법은 다음과 같다.9 is a diagram illustrating an exemplary method of generating a host command according to an embodiment of the present invention. 1 to 9, a method of generating a command of the
CPU(110)은 테스트 프로그램을 수행함으로써 테스트 동작을 위한 듀얼 포트 커맨드를 발행할 수 있다(S110). 디바이스 드라이버는 발행된 듀얼 포트 커맨드를 수신하고, 대응하는 제 1 포트(PT1)로 전송할 제 1 커맨드와 제 2 포트(PT2)로 전송할 제 2 커맨드를 발생할 수 있다(S120). 여기서 디바이스 드라이버는 듀얼 포트 커맨드의 포함된 듀얼 포트 딜리미터를 판별하고, 듀얼 포트 딜리미터의 판별 동작에 따른 듀얼 포트 지원 여부를 결정하고, 듀얼 포트 지원 시 각 포트에 대응하는 커맨드들을 발생할 수 있다. 이후, 제 1 및 제 2 커맨드들은 대응하는 포트들(PT1, PT2)로 각각 동시에 전송될 수 있다(S130).The
도 10은 본 발명의 실시 예에 따른 듀얼 포트 SSD의 테스트 방법을 예시적으로 보여주는 도면이다. 도 1 내지 도 10을 참조하면, 듀얼 포트 SSD의 테스트 방법은 다음과 같다.10 is a diagram illustrating a method of testing a dual port SSD according to an exemplary embodiment of the present invention. Referring to FIGS. 1 to 10, a method of testing a dual port SSD is as follows.
우선 테스트 동작을 위하여 듀얼 포트 SSD의 제 1 및 제 2 포트들(PT1, PT2, 도 1 참조)이 활성화될 것이다. 제 1 및 제 2 포트들(PT1, PT2)의 활성화는 호스트 장치(100)의 제어에 따라 수행될 수 있다. 하지만, 제 1 및 제 2 포트들(PT1, PT2)의 활성화가 반드시 여기에 제한되지는 않을 것이다. 듀얼 포트 SSD는 제 1 및 제 2 포트들(PT1, PT2)을 통하여 제 1 및 제 2 커맨드들을 동시에 수신할 수 있다(S210). 여기서 듀얼 포트 SSD는 복수의 제 1 커맨드들, 복수의 제 2 커맨드들을 저장할 수 있다. 예를 들어, 듀얼 포트 SSD는 큐잉 방식으로 제 1 포트를 통하여 복수의 제 1 커맨드들을 차례로 수신 및 저장하고, 제 2 포트를 통하여 복수의 제 2 커맨드들을 차례로 수신 및 저장 할 수 있다.First, the first and second ports PT1 and PT2 (see FIG. 1) of the dual port SSD will be activated for the test operation. Activation of the first and second ports PT1 and PT2 may be performed under the control of the
이후, 듀얼 포트 SSD는 저장된 제 1 및 제 2 커맨드들에 응답하여 각각에 대응하는 제 1 메모리 및 제 2 메모리를 동시에 테스트할 수 있다(S220). 테스트 결과 값들은 임시로 버퍼에 저장되었다가, 이후에 호스트 장치(100)로 전송될 수 있다.Then, the dual port SSD may simultaneously test the first and second memories corresponding to the first and second commands, respectively (S220). The test result values may be temporarily stored in a buffer and then transmitted to the
한편, 본 발명의 테스트 시스템은 듀얼 포트 지원하는 더트에 제한되지 않을 것이다. 본 발명의 테스트 시스템은 3개 이상의 멀티 포트 지원하는 더트에 적용 가능하다.On the other hand, the test system of the present invention will not be limited to a dual-port supporting dirt. The test system of the present invention is applicable to dots that support three or more multi-ports.
도 11은 본 발명의 다른 실시 예에 따른 테스트 시스템을 예시적으로 보여주는 도면이다. 도 11을 참조하면, 테스트 시스템(20)은 호스트(100a) 및 복수의 더트들(210a, ... , 2N0b)을 포함할 수 있다. 호스트(100a)는 도 1의 그것과 비교하여 4개의 포트들(PT1, PT2, PT3, PT4)을 통하여 연결된 더트들(210a, ..., 2N0a)을 테스트 할 수 있다. 더트들(210, ... , 2N0a)의 각각은 4개의 포트들(PT1, PT2, PT3, PT4)을 모두 활성화시킬 수 있고, 활성화된 4개의 포트들(PT1, PT2, PT3, PT4)을 통하여 수신된 커맨드들을 동시에 독립적으로 처리할 수 있다.11 is a diagram illustrating an exemplary test system according to another embodiment of the present invention. 11, the
도 12는 본 발명의 실시 예에 따른 저장 장치가 적용된 데이터 서버 시스템을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 데이터 서버 시스템(1000)은 데이터 베이스 관리 시스템(RDBMS, 1100), 캐시 서버(1200), 및 어플리케이션 서버(1300)를 포함할 수 있다.FIG. 12 is an exemplary diagram illustrating a data server system to which a storage device according to an embodiment of the present invention is applied. 12, the
캐시 서버(1200)는 데이터 베이스 관리 시스템(1100)로부터의 무효화 통지에 대응하여 서로 다른 키(key), 값(value) 쌍을 유지하고, 삭제하는 키값 저장을 포함할 수 있다. 데이터 베이스 관리 시스템(1200)은 도 1 내지 도 11에서 설명된 듀얼 포트 저장 장치를 포함할 수 있다.The
본 발명의 실시 예에 따른 데이터 서버 시스템(1000)은 멀티 포트를 통하여 테스트 동작을 빠르고 신속하게 수행할 수 있기에, 종래의 그것과 비교하여 관리 비용을 크게 줄일 수 있다.Since the
본 발명의 실시 예에 따른 SAS Device는 다수의 Port를 이용한 Write/Read를 효율적으로 수행함으로써 데이터 전송속도를 향상시키고, 정량적인 테스트 진행 시 테스트 시간을 감소시킴으로써 테스트 효율성을 향상시킬 수 있다.The SAS device according to the embodiment of the present invention can improve the test efficiency by improving the data transfer rate by efficiently performing Write / Read using a plurality of ports and decreasing the test time during the quantitative test.
본 발명의 실시 예에 따른 SAD Device를 테스트하는 방법은 각 포트를 동시에 이용하여 최대 성능으로 테스트를 수행할 수 있다.In the method of testing the SAD device according to the embodiment of the present invention, testing can be performed at the maximum performance by simultaneously using each port.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.The above-described contents of the present invention are only specific examples for carrying out the invention. The present invention will include not only concrete and practical means themselves, but also technical ideas which are abstract and conceptual ideas that can be utilized as future technologies.
10, 20: 테스트 시스템
100, 100a: 호스트
110, 110a: CPU
120, 120a: HBA
210, 220, 2N0: 더트
PT1: 제 1 포트
PT2: 제 2 포트
201a, 201b: 커넥터
300, 400: 듀얼 포트 SSD10, 20: Test system
100, 100a: host
110, 110a: CPU
120, 120a: HBA
210, 220, 2N0: dirt
PT1: First port
PT2: second port
201a, 201b: Connector
300, 400: Dual port SSD
Claims (20)
테스트 프로그램에서 커맨드를 발행하는 단계;
디바이스 드라이버에서 상기 커맨드에 대응하는 복수의 커맨드들을 발생하는 단계; 및
상기 저장 장치들의 각각의 상기 멀티 포트로 상기 복수의 커맨드들을 동시에 전송하는 단계를 포함하는 방법.A method of a test system comprising a host device and storage devices connected to the host device through a multiport, the method comprising:
Issuing a command in a test program;
Generating a plurality of commands in the device driver corresponding to the command; And
And simultaneously transmitting the plurality of commands to the multi-port of each of the storage devices.
상기 멀티 포트는 듀얼 포트인 방법.The method according to claim 1,
Wherein the multiport is a dual port.
상기 커맨드는 동작 코드, 제 1 어드레스, 듀얼 포트 동작을 지시하는 플래그, 및 제 2 어드레스를 포함하는 방법.The method according to claim 1,
Wherein the command comprises an operation code, a first address, a flag indicating dual port operation, and a second address.
상기 복수의 커맨드들을 발생하는 단계는,
상기 디바이스 드라이버에서 상기 커맨드로부터 상기 플래그의 존재 여부를 판별하는 단계를 포함하는 방법.The method of claim 3,
Wherein generating the plurality of commands comprises:
And judging whether or not the flag is present from the command in the device driver.
상기 복수의 커맨드들을 발생하는 단계는,
상기 플래그가 존재할 때, 상기 동작 코드 및 상기 제 1 어드레스를 갖는 제 1 커맨드, 및 상기 동작 코드 및 상기 제 2 어드레스를 갖는 제 2 커맨드를 발생하는 단계를 포함하는 방법. 5. The method of claim 4,
Wherein generating the plurality of commands comprises:
When the flag is present, generating a first command having the operation code and the first address, and a second command having the operation code and the second address.
상기 저장 장치들의 각각의 상기 멀티 포트의 모든 포트들을 활성화시키는 단계를 더 포함하는 방법.The method according to claim 1,
Further comprising activating all the ports of the multi-port of each of the storage devices.
물리 계층에서 PCIe(peripheral component interconnect express) 인터페이스에 따라 상기 복수의 커맨드들이 전송되는 방법.The method according to claim 1,
Wherein the plurality of commands are transmitted according to a peripheral component interconnect express (PCIe) interface at the physical layer.
상기 통신 프로토콜에 따라 구현된 제 2 포트;
제 1 적어도 하나의 비휘발성 메모리 장치;
제 2 적어도 하나의 비휘발성 메모리 장치;
상기 제 1 포트에 연결되고, 상기 제 1 적어도 하나의 비휘발성 메모리 장치를 제어하는 제 1 메모리 제어기; 및
상기 제 2 포트에 연결되고, 상기 제 2 적어도 하나의 비휘발성 메모리 장치를 제어하는 제 2 메모리 제어기를 포함하고,
테스트 동작시 상기 제 1 포트 및 상기 제 2 포트는 활성화되고,
상기 제 1 및 제 2 메모리 제어기들의 각각은 대응하는 포트를 통하여 커맨드들을 수신하고, 상기 수신된 커맨드들에 응답하여 대응하는 비휘발성 메모리 장치를 테스트하는 저장 장치. A first port implemented according to a communication protocol;
A second port implemented in accordance with the communication protocol;
A first at least one non-volatile memory device;
A second at least one non-volatile memory device;
A first memory controller coupled to the first port and controlling the first at least one non-volatile memory device; And
And a second memory controller coupled to the second port and controlling the second at least one non-volatile memory device,
During the test operation, the first port and the second port are activated,
Wherein each of the first and second memory controllers receives commands via a corresponding port and tests the corresponding non-volatile memory device in response to the received commands.
상기 제 1 포트 및 제 2 포트를 갖는 커넥터를 더 포함하는 저장 장치.9. The method of claim 8,
And a connector having the first port and the second port.
상기 커넥터는,
상기 제 1 포트에 대응하는 싱글 핀들, 전원 및 제어 핀들을 갖는 제 1 측면; 및
상기 제 1 측면에 대향하고, 상기 제 2 포트에 대응하는 싱글 핀들을 갖는 제 2 측면을 포함하는 저장 장치.10. The method of claim 9,
Wherein the connector comprises:
A first side having single pins, power and control pins corresponding to the first port; And
And a second side opposite the first side and having single pins corresponding to the second port.
상기 커넥터는,
상기 제 1 포트에 대응하는 신호 핀들, PCIe 사이드밴드를 위한 제 1 핀들, 및 전원핀들을 갖는 제 1 측면; 및
상기 제 1 측면에 대향하고, 상기 PCIe 사이드밴드를 위한 제 2 핀들, 상기 제 2 포트에 대응하는 신호 핀들, 및 상기 PCIe 사이드밴드를 위한 제 3 핀들을 갖는 제 2 측면을 포함하는 저장 장치.10. The method of claim 9,
Wherein the connector comprises:
A first side having signal pins corresponding to the first port, first pins for a PCIe sideband, and power pins; And
And a second side opposite the first side and having second pins for the PCIe sideband, signal pins corresponding to the second port, and third pins for the PCIe sideband.
상기 제 1 적어도 하나의 비휘발성 메모리 장치와 상기 제 2 적어도 하나의 비휘발성 메모리 장치는 동일하고,
상기 제 1 및 제 2 메모리 제어기들의 각각은 버스를 통하여 상기 동일한 비휘발성 메모리 장치를 제어하는 저장 장치.9. The method of claim 8,
Wherein the first at least one non-volatile memory device and the second at least one non-volatile memory device are the same,
Wherein each of the first and second memory controllers controls the same non-volatile memory device via a bus.
상기 제 1 및 제 2 포트들을 통하여 대응하는 제 1 및 제 2 커맨드들이 동시에 수신되고,
상기 제 1 및 제 2 커맨드들에 응답하여 대응하는 적어도 하나의 비휘발성 메모리 장치에 대한 테스트가 동시에 수행되는 저장 장치.9. The method of claim 8,
Corresponding first and second commands are simultaneously received through the first and second ports,
Wherein tests for the corresponding at least one non-volatile memory device are performed concurrently in response to the first and second commands.
상기 통신 프로토콜은 NVMe(nonvolatile memory device express) 인터페이스에 따른 프로토콜인 저장 장치.9. The method of claim 8,
Wherein the communication protocol is a protocol according to a nonvolatile memory device express (NVMe) interface.
상기 호스트 장치에 듀얼 포트를 통하여 연결된 복수의 더트들을 포함하고,
상기 호스트 장치는,
중앙 처리 장치; 및
상기 중앙 처리 장치와 상기 복수의 더트들을 연결하는 호스트 버스 어댑터를 포함하고,
테스트 동작시 상기 듀얼 포트 중 제 1 포트로 제 1 커맨드가 전송되면서, 상기 듀얼 포트 중 제 2 포트로 제 2 커맨드가 동시에 전송되는 테스트 시스템.A host device; And
A plurality of dots connected to the host device through a dual port,
The host apparatus includes:
A central processing unit; And
And a host bus adapter connecting the central processing unit and the plurality of dirts,
Wherein during a test operation, a first command is transmitted to a first port of the dual port, and a second command is simultaneously transmitted to a second port of the dual port.
상기 호스트 버스 어댑터는 상기 복수의 더트들에 대응하는 복수의 버스 어댑터 유닛들을 포함하는 테스트 시스템.16. The method of claim 15,
Wherein the host bus adapter comprises a plurality of bus adapter units corresponding to the plurality of dots.
상기 호스트 장치의 소프트웨어 계층은, 듀얼 포트 커맨드를 발행하는 어플리케이션 계층과, 상기 듀얼 포트 커맨드에 응답하여 상기 제 1 및 제 2 포트들에 전송할 상기 제 1 및 제 2 커맨드들 발생하는 커맨드 계층을 포함하는 테스트 시스템.16. The method of claim 15,
Wherein the software layer of the host device comprises an application layer for issuing a dual port command and a command layer for generating the first and second commands to be transmitted to the first and second ports in response to the dual port command Test system.
상기 듀얼 포트 커맨드는 동작 코드, 제 1 어드레스, 섹터 카운트, 피쳐스, 듀얼 포트 딜리미터, 제 2 어드레스를 포함하고,
상기 제 1 커맨드는 상기 동작 코드, 상기 제 1 어드레스, 상기 섹터 카운트, 및 상기 피쳐스를 포함하고,
상기 제 2 커맨드는 상기 동작 코드, 상기 제 2 어드레스, 상기 섹터 카운트, 및 상기 피쳐스를 포함하는 테스트 시스템.18. The method of claim 17,
Wherein the dual port command comprises an operation code, a first address, a sector count, a feature, a dual port delimiter, a second address,
Wherein the first command includes the operation code, the first address, the sector count, and the feature,
Wherein the second command comprises the operation code, the second address, the sector count, and the feature.
상기 복수의 더트들의 각각은 SAS(serial attached small computer system interface)SSD(solid state drive)인 테스트 시스템.16. The method of claim 15,
Wherein each of the plurality of dots is a SAS (serial attached small computer system interface) solid state drive (SSD).
제 1 포트를 통하여 제 1 커맨드를 수신하는 단계;
상기 제 1 커맨드를 수신하면서 제 2 포트를 통하여 제 2 커맨드를 수신하는 단계;
상기 제 1 커맨드에 응답하여 제 1 메모리를 테스트 하는 단계; 및
상기 제 1 메모리를 테스트하면서, 상기 제 2 커맨드에 응답하여 제 2 메모리를 테스트하는 단계를 포함하는 방법. A method of testing a storage device comprising:
Receiving a first command through a first port;
Receiving a second command via a second port while receiving the first command;
Testing a first memory in response to the first command; And
Testing the first memory while testing the second memory in response to the second command.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160099603A KR20180016680A (en) | 2016-08-04 | 2016-08-04 | Storage device, test system for testing the same, and method thereof |
US15/481,441 US10372570B2 (en) | 2016-08-04 | 2017-04-06 | Storage device, test system for testing the same, and method thereof |
CN201710530193.5A CN107688516A (en) | 2016-08-04 | 2017-06-30 | Storage device, test system and method for testing the storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160099603A KR20180016680A (en) | 2016-08-04 | 2016-08-04 | Storage device, test system for testing the same, and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180016680A true KR20180016680A (en) | 2018-02-19 |
Family
ID=61071423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160099603A KR20180016680A (en) | 2016-08-04 | 2016-08-04 | Storage device, test system for testing the same, and method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US10372570B2 (en) |
KR (1) | KR20180016680A (en) |
CN (1) | CN107688516A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190106771A (en) * | 2018-03-09 | 2019-09-18 | 삼성전자주식회사 | Adaptive interface high availability storage device |
US10922000B2 (en) | 2019-05-10 | 2021-02-16 | SK Hynix Inc. | Controller, operating method thereof, and memory system including the same |
KR102362775B1 (en) * | 2020-11-04 | 2022-02-14 | 주식회사 더원 | Memory Test Equipment |
KR20230065067A (en) * | 2021-11-04 | 2023-05-11 | 주식회사 엑시콘 | Apparatus for Testing Solid State Drive based on PCIe Interface |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10634723B2 (en) * | 2017-01-03 | 2020-04-28 | Advantest Corporation | Method and system for acquisition of test data |
CN110377221A (en) * | 2018-04-13 | 2019-10-25 | 北京忆恒创源科技有限公司 | Dual-port solid storage device and its data processing method |
CN109032866A (en) * | 2018-07-25 | 2018-12-18 | 太仓市同维电子有限公司 | A kind of multimachine test method of more network interface card test same network segment products |
CN109144802A (en) * | 2018-09-12 | 2019-01-04 | 杭州智享新电科技有限公司 | Internet of Things module health control diagnostic method |
TW202022626A (en) * | 2018-12-14 | 2020-06-16 | 威聯通科技股份有限公司 | Multiple-path thunderbolt storage apparatus and system |
KR20200123680A (en) * | 2019-04-22 | 2020-10-30 | 에스케이하이닉스 주식회사 | Test board |
CN110297735B (en) * | 2019-06-28 | 2023-06-06 | 深圳忆联信息系统有限公司 | Universal re-judging test system based on solid state disk |
KR20210012439A (en) * | 2019-07-25 | 2021-02-03 | 삼성전자주식회사 | Master device and method of controlling the same |
US11899550B2 (en) * | 2020-03-31 | 2024-02-13 | Advantest Corporation | Enhanced auxiliary memory mapped interface test systems and methods |
CN113254297B (en) * | 2021-05-28 | 2022-05-24 | 长江存储科技有限责任公司 | Device and system for testing dual-port hard disk |
CN113468083B (en) * | 2021-07-02 | 2024-01-26 | 成都忆芯科技有限公司 | Dual-port NVMe controller and control method |
TWI789122B (en) * | 2021-11-17 | 2023-01-01 | 瑞昱半導體股份有限公司 | Command transforming system and command transforming method |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168005B2 (en) * | 2000-09-14 | 2007-01-23 | Cadence Design Systems, Inc. | Programable multi-port memory BIST with compact microcode |
US7480840B2 (en) * | 2004-10-12 | 2009-01-20 | International Business Machines Corporation | Apparatus, system, and method for facilitating port testing of a multi-port host adapter |
KR100745374B1 (en) * | 2006-02-21 | 2007-08-02 | 삼성전자주식회사 | Multi-port semiconductor memory device and method for signals input/output therefore |
US20070208968A1 (en) * | 2006-03-01 | 2007-09-06 | Anand Krishnamurthy | At-speed multi-port memory array test method and apparatus |
JP4897387B2 (en) | 2006-08-10 | 2012-03-14 | 株式会社日立製作所 | Storage apparatus and data management method using the same |
US7904672B2 (en) * | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
US8499308B2 (en) | 2006-12-22 | 2013-07-30 | Lsi Corporation | Initiator notification method and apparatus |
TWI376603B (en) | 2007-09-21 | 2012-11-11 | Phison Electronics Corp | Solid state disk storage system with a parallel accessing architecture and a solid state disk controller |
KR101226685B1 (en) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | Vertical type semiconductor device and Method of manufacturing the same |
US8042011B2 (en) * | 2009-04-28 | 2011-10-18 | Synopsys, Inc. | Runtime programmable BIST for testing a multi-port memory device |
US8201020B2 (en) * | 2009-11-12 | 2012-06-12 | International Business Machines Corporation | Method apparatus and system for a redundant and fault tolerant solid state disk |
US8850128B2 (en) | 2009-12-23 | 2014-09-30 | HGST Netherlands B.V. | Implementing data storage and dual port, dual-element storage device |
KR101691092B1 (en) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | Nonvolatile memory device, operating method thereof and memory system including the same |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101682666B1 (en) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | Nonvolatile memory devicwe, channel boosting method thereof, programming method thereof, and memory system having the same |
US9830958B2 (en) * | 2012-05-03 | 2017-11-28 | Nvidia Corporation | Time-multiplexed communication protocol for transmitting a command and address between a memory controller and multi-port memory |
KR101254646B1 (en) | 2012-08-13 | 2013-04-15 | 주식회사 유니테스트 | Apparatus for storage interface in solid state drive tester |
US9207749B2 (en) | 2012-08-28 | 2015-12-08 | Intel Corporation | Mechanism for facilitating efficient operations paths for storage devices in computing systems |
US9280298B2 (en) | 2013-03-15 | 2016-03-08 | Kabushiki Kaisha Toshiba | Storage device and storage system |
KR101522293B1 (en) | 2013-08-29 | 2015-05-21 | 주식회사 유니테스트 | Test device capable of individual control for a plurality storage |
KR101547317B1 (en) | 2013-09-30 | 2015-08-26 | 주식회사 유니테스트 | System for detecting fail block using logic block address and data buffer address in storage test device |
US20150242160A1 (en) | 2014-02-26 | 2015-08-27 | Kabushiki Kaisha Toshiba | Memory system, control method of memory system, and controller |
US9852779B2 (en) * | 2014-03-12 | 2017-12-26 | Futurewei Technologies, Inc. | Dual-port DDR4-DIMMs of SDRAM and NVRAM for SSD-blades and multi-CPU servers |
US9619164B2 (en) | 2014-05-06 | 2017-04-11 | Nimble Storage, Inc. | Cluster solid state drives |
KR102282006B1 (en) | 2014-08-19 | 2021-07-28 | 삼성전자주식회사 | Computer device and storage device |
US9946620B2 (en) * | 2015-02-03 | 2018-04-17 | Invecas, Inc. | Memory built-in self test system |
-
2016
- 2016-08-04 KR KR1020160099603A patent/KR20180016680A/en unknown
-
2017
- 2017-04-06 US US15/481,441 patent/US10372570B2/en active Active
- 2017-06-30 CN CN201710530193.5A patent/CN107688516A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190106771A (en) * | 2018-03-09 | 2019-09-18 | 삼성전자주식회사 | Adaptive interface high availability storage device |
KR20220127798A (en) * | 2018-03-09 | 2022-09-20 | 삼성전자주식회사 | Adaptive interface high availability storage device |
US10922000B2 (en) | 2019-05-10 | 2021-02-16 | SK Hynix Inc. | Controller, operating method thereof, and memory system including the same |
KR102362775B1 (en) * | 2020-11-04 | 2022-02-14 | 주식회사 더원 | Memory Test Equipment |
WO2022097895A1 (en) * | 2020-11-04 | 2022-05-12 | 주식회사 더원 | Memory testing apparatus |
KR20230065067A (en) * | 2021-11-04 | 2023-05-11 | 주식회사 엑시콘 | Apparatus for Testing Solid State Drive based on PCIe Interface |
Also Published As
Publication number | Publication date |
---|---|
US10372570B2 (en) | 2019-08-06 |
US20180039554A1 (en) | 2018-02-08 |
CN107688516A (en) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372570B2 (en) | Storage device, test system for testing the same, and method thereof | |
US11281601B2 (en) | Multi-device storage system with hosted services on peer storage devices | |
CN111373362B (en) | Multi-device memory system with distributed read/write processing | |
US10496312B2 (en) | Method of operating a storage device to compress or decompress data and a data storage system including the storage device | |
US20190018805A1 (en) | System and method for fast execution of in-capsule commands | |
US10019367B2 (en) | Memory module, computing system having the same, and method for testing tag error thereof | |
US20180336139A1 (en) | Systems and methods for a highly-available memory | |
KR20180049338A (en) | Storage device and operating method thereof | |
KR20140145834A (en) | Storage device, global garbage collection method of data storage system having the same | |
US10127103B2 (en) | System and method for detecting and correcting mapping table errors in a non-volatile memory system | |
US20190114114A1 (en) | Storage compute offloads on sharded and erasure-coded data | |
CN110689915A (en) | Remote SSD debug via host/serial interface and method of performing same | |
KR20150015764A (en) | Memory sub-system and computing system including the same | |
CN113448497A (en) | Dynamic allocation of sub-blocks | |
US10614890B2 (en) | Memory system and operating method thereof | |
US9940034B2 (en) | Reducing read access latency by straddling pages across non-volatile memory channels | |
KR20220124318A (en) | Storage controller redirecting a write operation and operating method thereof | |
CN112540869A (en) | Memory controller, memory device, and method of operating memory device | |
TW202334807A (en) | Firmware updating method, device and data system | |
US11119855B2 (en) | Selectively storing parity data in different types of memory | |
US20190108095A1 (en) | Data integrity in non-volatile storage | |
US11934270B2 (en) | Write command execution for data protection and recovery schemes | |
EP4310846A1 (en) | Storage controllers, operating methods of storage controllers, and operating methods of storage devices including storage controllers | |
US20230152984A1 (en) | Storage devices configured to obtain data of external devices for debugging | |
US11734094B2 (en) | Memory component quality statistics |