KR20140128852A - Data storage device for performing fast response about data processing latency and methods using the same - Google Patents
Data storage device for performing fast response about data processing latency and methods using the same Download PDFInfo
- Publication number
- KR20140128852A KR20140128852A KR1020130117519A KR20130117519A KR20140128852A KR 20140128852 A KR20140128852 A KR 20140128852A KR 1020130117519 A KR1020130117519 A KR 1020130117519A KR 20130117519 A KR20130117519 A KR 20130117519A KR 20140128852 A KR20140128852 A KR 20140128852A
- Authority
- KR
- South Korea
- Prior art keywords
- data storage
- storage device
- access command
- host
- memory chips
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명의 개념에 따른 실시 예는 데이터 저장 장치에 관한 것으로, 특히 데이터 처리 레이턴시(latency)에 대한 빠른 응답을 호스트로 출력할 수 있는 장치와 상기 장치를 이용한 데이터 처리 방법들에 관한 것이다.An embodiment according to the concept of the present invention relates to a data storage device, and more particularly to a device capable of outputting a quick response to a data processing latency to a host and data processing methods using the device.
데이터 처리 시스템은 데이터를 저장하는 데이터 저장 장치와 상기 데이터 저장 장치에 대한 데이터 리드 동작과 데이터 라이트 동작을 제어하는 호스트를 포함한다. The data processing system includes a data storage device for storing data and a host for controlling data read operation and data write operation for the data storage device.
특정 동작이 상기 데이터 저장 장치에서 실행되는 도중에, 상기 데이터 저장 장치가 상기 호스트로부터 리드 명령 또는 라이트 명령을 수신하면, 상기 데이터 저장 장치는 상기 특정 동작이 종료될 때까지 상기 리드 명령 또는 상기 라이트 명령을 수행하지 못한다.When the data storage device receives a read command or a write command from the host while the specific operation is being executed in the data storage device, the data storage device transmits the read command or the write command I can not do it.
이때, 상기 호스트는 상기 리드 명령 또는 상기 라이트 명령이 상기 데이터 저장 장치에서 언제 실행될지는 예측할 수 없다. At this time, the host can not predict when the read command or the write command will be executed in the data storage device.
본 발명이 이루고자 하는 기술적인 과제는 호스트로부터 출력된 현재 액세스 명령에 관련된 데이터 처리 레이턴시가 길어질 것이라고 판단될 때 상기 판단에 대한 빠른 응답을 상기 호스트로 출력할 수 있는 장치와 상기 장치를 이용한 데이터 처리 방법들을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a device capable of outputting a quick response to the determination to the host when it is determined that the data processing latency related to the current access command output from the host will be long, .
본 발명의 실시 예에 따른 복수의 메모리 칩들을 포함하는 데이터 저장 장치의 동작 방법은 상기 복수의 메모리 칩들에 대한 상태 정보를 생성하여 메모리에 저장하는 단계와, 호스트로부터 액세스 명령을 수신하는 단계와, 상기 액세스 명령에 응답하여 상기 상태 정보를 해석하고, 해석 결과에 따라 상기 액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송하는 단계를 포함한다.A method of operating a data storage device including a plurality of memory chips according to an embodiment of the present invention includes generating state information for the plurality of memory chips and storing the state information in a memory, receiving an access command from the host, Interpreting the status information in response to the access command, and transmitting a response related to execution of the access command to the host according to the analysis result.
실시 예에 따라, 상기 상태 정보는 백그라운드 동작에 대한 정보를 포함한다. 상기 백그라운드 동작은 가비지 컬렉션 동작 카운트, 웨어-레벨 동작 카운트, 또는 배드-블록 관리 동작 카운트 중에서 적어도 하나를 포함한다.According to an embodiment, the status information includes information about a background operation. The background operation includes at least one of a garbage collection operation count, a wear-level operation count, or a bad-block management operation count.
다른 실시 예에 따라, 상기 상태 정보는 상기 복수의 메모리 칩들 각각에서 수행될 프로그램 동작 카운트, 리드 동작 카운트, 또는 이레이즈 동작 카운트를 포함한다.According to another embodiment, the status information includes a program operation count, a read operation count, or an erase operation count to be performed in each of the plurality of memory chips.
또 다른 실시 예에 따라, 상기 상태 정보는 상기 복수의 메모리 칩들이 접속된 버스의 상태에 대한 정보를 포함한다.According to another embodiment, the status information includes information on the status of the bus to which the plurality of memory chips are connected.
또 다른 실시 예에 따라, 상기 상태 정보는 상기 복수의 메모리 칩들에서 현재 수행 중인 동작에 대한 정보를 포함한다.According to yet another embodiment, the status information includes information about operations currently performed in the plurality of memory chips.
상기 액세스 명령은 리드 명령의 수행 여부 또는 라이트 명령의 수행 여부를 나타낼수 있다.The access command may indicate whether the read command is performed or whether a write command is performed.
상기 응답은 상기 액세스 명령을 현재 실행할 수 있는지 여부를 나타낼 수 있다.The response may indicate whether the access command is currently executable.
상기 응답은 상기 액세스 명령을 실행할 시간을 나타낼 수 있다.The response may indicate the time at which to execute the access command.
상기 응답은 타임아웃 응답 또는 중단 응답(abort response)일 수 있다.The response may be a timeout response or an abort response.
본 발명의 실시 예에 따른 제1메모리 칩들을 포함하는 제1데이터 저장 장치, 제2메모리 칩들을 포함하는 제2데이터 저장 장치, 및 호스트를 포함하는 데이터 처리 시스템의 동작 방법은 상기 호스트가 상기 제1데이터 저장 장치로 제1액세스 명령을 전송하는 단계와, 상기 제1데이터 저장 장치가 상기 제1액세스 명령에 응답하여 상기 제1메모리 칩들의 상태 정보를 해석하고, 해석 결과에 따라 상기 제1액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송하는 단계와, 상기 응답에 기초하여 상기 호스트가 상기 제1데이터 저장 장치에 대한 액세스 동작을 보류하고 상기 제2데이터 저장 장치로 제2액세스 명령을 전송하는 단계와, 상기 제2데이터 저장 장치가 상기 제2메모리 칩들에 대해 상기 제2액세스 명령에 상응하는 동작을 수행하는 단계를 포함한다.A method of operating a data processing system including a first data storage device comprising first memory chips, a second data storage device including second memory chips, and a host according to an embodiment of the present invention, The method comprising: transmitting a first access command to a first data storage device; analyzing status information of the first memory chips in response to the first access command; Sending, by the host, an access operation to the first data storage device based on the response and transmitting a second access command to the second data storage device based on the response; And performing the operation corresponding to the second access command for the second memory chips by the second data storage device .
상기 제1데이터 저장 장치는 상기 제1액세스 명령을 수신하기 이전에 상기 상태 정보를 생성하고, 상기 상태 정보는 백그라운드 동작에 대한 정보, 상기 복수의 메모리 칩들 각각에서 수행될 동작 카운트, 상기 복수의 메모리 칩들이 접속된 버스의 상태에 대한 정보, 또는 상기 복수의 메모리 칩들에서 현재 수행중인 동작에 대한 정보 중에서 적어도 하나를 포함한다.Wherein the first data storage device generates the status information prior to receiving the first access command, the status information includes information about a background operation, an operation count to be performed in each of the plurality of memory chips, Information on the status of the bus to which the chips are connected, or information on the operation currently being performed in the plurality of memory chips.
상기 제1데이터 저장 장치와 상기 제2데이터 저장 장치는 RAID(Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)에 포함된다.The first data storage device and the second data storage device are included in a RAID (Redundant Array of Independent Disks or Redundant Array of Inexpensive Disks).
상기 제1데이터 저장 장치와 상기 제2데이터 저장 장치는 솔리드 스테이트 드라이브들(solid state drives)이고, 상기 제1메모리 칩들과 상기 제2메모리 칩들은 플래시 메모리 칩들이다.The first data storage device and the second data storage device are solid state drives, and the first memory chips and the second memory chips are flash memory chips.
상기 데이터 처리 시스템은 데이터베이스 관리 시스템(database management system(DBMS))일 수 있다.The data processing system may be a database management system (DBMS).
상기 동작 방법은 상기 제2데이터 저장 장치가 상기 제2액세스 명령에 상응하는 상기 동작에 따라 리드된 리드 데이터를 상기 호스트로 전송하는 단계를 더 포함한다.The operating method further comprises the step of the second data storage device sending the read data to the host in accordance with the operation corresponding to the second access command.
상기 동작 방법은 상기 호스트에 접속된 웹 서버가 유저 브라이저로부터 서치 기준을 수신하는 단계와, 상기 웹 서버가 상기 서치 기준에 상응하는 명령을 상기 호스트로 전송하는 단계와, 상기 호스트가 상기 명령에 상응하는 상기 제1액세스 명령을 생성하는 단계를 더 포함한다.The method comprising: receiving a search criterion from a user browser connected to the host; transmitting, by the web server, a command corresponding to the search criterion to the host; And generating the corresponding first access command.
상기 방법은 상기 제2데이터 저장 장치가 상기 제2액세스 명령에 상응하는 상기 동작에 따라 리드된 리드 데이터를 상기 호스트로 전송하는 단계와, 상기 호스트가 상기 리드 데이터를 상기 웹 서버로 전송하는 단계와, 상기 웹 서버가 상기 웹 서버로부터 전송된 상기 리드 데이터를 상기 유저 브라우저로 전송하는 단계를 더 포함한다.The method comprising the steps of: the second data storage device transmitting the read data to the host in accordance with the operation corresponding to the second access command; transmitting the read data to the web server by the host; And the web server transmitting the read data transmitted from the web server to the user browser.
본 발명의 실시 예에 따른 데이터 저장 장치는 복수의 메모리 칩들과 스토리지 컨트롤러를 포함한다.A data storage device according to an embodiment of the present invention includes a plurality of memory chips and a storage controller.
상기 스토리지 컨트롤러는 상기 복수의 메모리 칩들에 대한 상태 정보를 생성하고 생성된 상태 정보를 메모리에 저장하고, 호스트로부터 출력된 액세스 명령에 응답하여 상기 메모리에 저장된 상기 상태 정보를 해석하고, 해석 결과에 따라 상기 액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송한다.Wherein the storage controller generates status information for the plurality of memory chips, stores the generated status information in a memory, analyzes the status information stored in the memory in response to an access command output from the host, And transmits a response relating to execution of the access command to the host.
본 발명의 실시 예에 따른 데이터 저장 장치와 이의 동작 방법은 상기 데이터 저장 장치에 내장된 복수의 메모리 칩들에 대한 상태 정보를 호스트로부터 출력된 액세스 명령에 기초하여 해석하고, 해석 결과에 따라 상기 액세스 명령에 관련된 데이터 처리 레이턴시가 길어질 것이라고 판단될 때 상기 판단에 대한 빠른 응답을 상기 호스트로 출력할 수 있는 효과가 있다.The data storage device and the method of operating the same according to an embodiment of the present invention analyze state information about a plurality of memory chips built in the data storage device based on an access command output from a host, It is possible to output a quick response to the determination to the host when it is determined that the data processing latency related to the determination is likely to be long.
따라서, 상기 호스트는 다른 데이터 저장 장치로 하여금 상기 액세스 명령에 관련된 데이터 처리를 요청할 수 있으므로, 상기 호스트는 신속한 데이터 처리를 할 수 있는 효과가 있다.Therefore, the host can request data processing related to the access command by the other data storage device, so that the host can perform the rapid data processing.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 2는 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 상태 정보를 저장하는 테이블이다.
도 4는 본 발명의 다른 실시 예에 따른 상태 정보를 저장하는 테이블이다.
도 5는 본 발명의 또 다른 실시 예에 따른 상태 정보를 저장하는 테이블이다.
도 6은 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 7은 도 1, 도 2, 또는 도 6에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트의 일 실시 예이다.
도 8은 도 1, 도 2, 또는 도 6에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트의 다른 실시 예이다.
도 9는 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 10은 도 9에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트이다.
도 11은 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 12는 도 11에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 shows a schematic block diagram of a data processing system according to an embodiment of the present invention.
2 shows a schematic block diagram of a data processing system according to another embodiment of the present invention.
3 is a table for storing state information according to an embodiment of the present invention.
4 is a table for storing state information according to another embodiment of the present invention.
5 is a table for storing state information according to another embodiment of the present invention.
Figure 6 shows a schematic block diagram of a data processing system in accordance with another embodiment of the present invention.
Fig. 7 is an embodiment of a flowchart for explaining the operation of the data processing system shown in Fig. 1, Fig. 2, or Fig.
FIG. 8 is another embodiment of a flowchart for explaining the operation of the data processing system shown in FIG. 1, FIG. 2, or FIG.
9 shows a schematic block diagram of a data processing system according to another embodiment of the present invention.
10 is a flowchart for explaining the operation of the data processing system shown in Fig.
Figure 11 shows a schematic block diagram of a data processing system according to another embodiment of the present invention.
12 is a flowchart for explaining the operation of the data processing system shown in FIG.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like are used to specify that there are features, numbers, steps, operations, elements, parts or combinations thereof described herein, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached hereto.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a data processing system according to an embodiment of the present invention.
도 1을 참조하면, 데이터 처리 시스템(100)은 호스트(200)와 데이터 저장 장치(300)를 포함한다.Referring to FIG. 1, a
데이터 처리 시스템(100)은 PC(personal computer), 랩탑(laptop) 컴퓨터, 또는 데이터베이스 관리 시스템(database management system(DBMS))일 수 있다.The
호스트(200)는 데이터 저장 장치(300)에 대한 액세스 동작(예컨대, 리드 동작 또는 라이트 동작)을 제어할 수 있는 액세스 명령(예컨대, 리드 명령 또는 라이트 명령; CMD)을 데이터 저장 장치(300)로 출력할 수 있다.The
데이터 저장 장치(300)는 호스트(200)에 의해 처리된 데이터 또는 처리될 데이터를 저장할 수 있다.The
호스트(200)는 인터페이스를 통해 데이터 저장 장치(300)와 접속될 수 있다. 상기 인터페이스는 SATA(serial advance technology attachment), SAS(serial-attached small computer system interface) 또는 PCIe(Peripheral Component Interconnect Express)일 수 있다.The
데이터 저장 장치(300)는 하드디스크 드라이브(hard disc drive(HDD) 또는 솔리드 스테이트 드라이브(solid state drive)로 구현될 수 있다.The
데이터 저장 장치(300)는 USB 플래시 드라이브, UFS(Universal Flash Storage), MMC(Multi-Media Card), 또는 eMMC(embedded MMC)로 구현될 수 있다.The
데이터 저장 장치(300)는 복수의 메모리 칩들(CHIP1-1~CHIP1-4)과 스토리지 컨트롤러(310)를 포함한다. 복수의 메모리 칩들(CHIP1-1~CHIP1-4)은 플래시 메모리 칩들로 구현될 수 있다. 상기 플래시 메모리 칩들 각각은 메모리 셀들을 포함하고, 상기 메모리 셀들 각각은 하나 또는 그 이상의 비트들을 저장할 수 있다.The
스토리지 컨트롤러(310)는 복수의 메모리 칩들(CHIP1-1~CHIP1-4)에 대한 상태 정보를 생성하고, 생성된 상태 정보를 메모리에 저장하고, 호스트(200)로부터 출력된 액세스 명령(CMD)에 응답하여 상기 메모리에 저장된 상기 상태 정보를 해석하고, 해석 결과에 따라 액세스 명령(CMD)의 실행에 관련된 응답(RES)을 호스트 (200)로 전송할 수 있다.The
스토리지 컨트롤러(310)는 집적 회로 또는 시스템 온 칩(system on chip(SoC))로 구현될 수 있다.The
상기 상태 정보는 백그라운드 동작에 대한 정보, 복수의 메모리 칩들(CHIP1-1~CHIP1-4) 각각에서 수행될 동작 카운트, 복수의 메모리 칩들(CHIP1-1~CHIP1-4)이 접속된 버스(BUS#1)의 상태에 대한 정보, 또는 복수의 메모리 칩들(CHIP1-1~CHIP1-4)에서 현재 수행중인 동작에 대한 정보 중에서 적어도 하나를 포함할 수 있다.The status information includes information on a background operation, an operation count to be performed in each of the plurality of memory chips (CHIP1-1 to CHIP1-4), a bus number (BUS # 1) to which a plurality of memory chips (CHIP1-1 to CHIP1-4) 1), or information on an operation currently being performed in the plurality of memory chips (CHIP1-1 to CHIP1-4).
액세스 명령(CMD)은 호스트(200)가 데이터 저장 장치(300)로 리드 동작의 가능 여부 또는 라이트 동작의 가능 여부를 요청(request)하는 명령일 수 있다.The access command CMD may be a command that requests the
실시 예에 따라, 액세스 명령(CMD)은 판매 회사 명령(vendor command)일 수도 있다. 이때, 액세스 명령(CMD)은 데이터 저장 장치(300)에서 수행될 리드 동작에 관련된 리드 명령 또는 데이터 저장 장치(300)에서 수행될 라이트 명령과 다른 별도의 새로운 명령일 수 있다.Depending on the embodiment, the access command CMD may be a vendor command. The access command CMD may be a read command related to a read operation to be performed in the
다른 실시 예에 따라, 액세스 명령(CMD)은 요청과 일반적인 리드 명령 또는 요청과 일반적인 라이트 명령을 포함하는 명령일 수 있다. 상술한 바와 같이, 상기 요청은 호스트(200)가 데이터 저장 장치(300)로 리드 동작의 가능 여부 또는 라이트 동작의 가능 여부를 요청하는 명령일 수 있다.According to another embodiment, the access command CMD may be a command including a request and a general read command or request and a general write command. As described above, the request may be a command that requests the
실시 예에 따라, 응답(RES)은 액세스 명령(CMD), 즉 리드 명령 또는 라이트 명령을 현재 실행할 수 있는지 또는 실행할 수 없는지를 나타낼 수 있다.Depending on the embodiment, the response RES may indicate whether the access command CMD, i. E., A read command or a write command, is currently executable or not executable.
다른 실시 예에 따라, 응답(RES)은 상기 리드 명령 또는 상기 라이트 명령을 실행할 수 있는 시간 또는 언제 실행할 수 있는지를 나타낼 수 있다.According to another embodiment, the response RES may indicate when or at which time the read command or the write command can be executed.
또 다른 실시 예에 따라, 응답(RES)은 액세스 명령(CMD)에 상응하는 동작의 지연을 나타낼 수 있다.According to another embodiment, the response RES may indicate a delay in operation corresponding to the access command CMD.
또 다른 실시 예에 따라, 응답(RES)은 액세스 명령(CMD)에 대한 타임아웃 응답 또는 중단 응답(abort response)일 수 있다. 상기 타임아웃 응답 또는 상기 중단 응답은 실제 타임아웃 또는 실제 중단에 대한 응답이 아니고 액세스 명령(CMD)에 상응하는 동작에 대해 일정 시간 이상의 지연이 예상될 때 생성되는 빠른 응답을 의미한다.According to another embodiment, the response RES may be a timeout response or an abort response to the access command CMD. The timeout response or the termination response is not a response to the actual timeout or actual termination, but a quick response that is generated when a delay of more than a predetermined time is expected for the operation corresponding to the access command (CMD).
실시 예에 따라, 액세스 명령(CMD)이 비정상적인 지연(abnormal delay) 없이 액세스 동작(예컨대, 리드 동작 또는 라이트 동작)을 수행할 수 있는지만을 요청하는 판매 회사 명령이고 응답(RES)이 상기 액세스 동작이 가능함을 지시할 때, 호스트(200)는 액세스 명령(CMD)에 대한 응답(RES)에 기초하여 리드 동작을 위한 리드 명령 또는 라이트 동작을 위한 라이트 명령을 데이터 저장 장치(300)로 전송할 수 있다. According to an embodiment, a sales company command that requests only that an access command (CMD) can perform an access operation (e.g., a read operation or a write operation) without an abnormal delay and a response (RES) The
예컨대, 데이터 저장 장치(300)에서 현재 백그라운드 동작이 수행되거나 또는 수행될 예정일 때, 또는 복수의 메모리 칩들(CHIP1-1~CHIP1-4) 각각에서 현재 특정 동작이 수행되거나 수행될 특정 동작이 남아 있을 때, 비정상적인 지연이 발생할 수 있다. 상기 특정 동작은 프로그램 동작, 리드 동작, 또는 이레이즈 동작을 의미할 수 있다.For example, when a current background operation is to be performed or scheduled to be performed in the
도 2는 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.2 shows a schematic block diagram of a data processing system according to another embodiment of the present invention.
도 1의 데이터 처리 시스템(100)의 일 실시 예에 따른 데이터 처리 시스템 (100A)은 호스트(200)와 데이터 저장 장치(300A)를 포함한다.The
호스트(200)는 호스트(200)의 동작을 제어할 수 있는 CPU(central processing unit; 211)과 스토리지 인터페이스(213)를 포함한다.The
CPU(211)는 액세스 명령(CMD)을 생성하고 액세스 명령(CMD)을 스토리지 인터페이스(213)를 통해 호스트 인터페이스(311)로 전송할 수 있다.The
CPU(211)는 스토리지 인터페이스(213)를 통해 수신된 응답(RES)을 해석하고, 해석 결과에 따라 다른 명령을 생성할 수 있다.The
호스트(200)는 외부의 다른 장치와 통신할 수 있는 인터페이스(215)를 더 포함할 수 있다.The
CPU(211)는 접속 수단, 예컨대 버스(201)를 통해 각 구성 요소(213과 215)의 동작을 제어할 수 있다.The
각 인터페이스(213과 311)는 SATA, SAS 또는 PCIe를 지원할 수 있다.Each of the
데이터 저장 장치(300A)는 스토리지 컨트롤러(310A), 메인 메모리 장치 (319), 및 각 버스(BUS#1~BUS#4)에 접속된 복수의 메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)를 포함할 있다.The
스토리지 컨트롤러(310A)는 호스트 인터페이스(311), CPU(313), 휘발성 메모리 장치(315), 예컨대 SRAM(static random access memory), 메인 메모리 컨트롤러 (317), 및 복수의 메모리 컨트롤러(321-1~321-4)를 포함한다.The
호스트(200)와 스토리지 컨트롤러(310A)는 호스트 인터페이스(311)를 통해 데이터 및/또는 명령들을 주거나 받을 수 있다.The
CPU(313)는 접속 수단, 예컨대 버스(301)를 통해 각 구성 요소(311, 315, 317, 및 321-1~321-4)의 동작을 제어할 수 있다.The
SRAM(315)은 CPU(313)에서 필요한 데이터를 저장하거나 CPU(313)에서 처리된 데이터를 저장할 수 있다.The
도 2에서는 SRAM(315)이 CPU(313)의 외부에 도시되어 있으나 실시 예에 따라 SRAM(315)은 CPU(313)에 내장될 수 있다.2, the
메인 메모리 컨트롤러(317)는 주기억 장치(319)와 데이터 및/또는 명령을 주거나 받을 수 있다. 예컨대, 메인 메모리 장치(319)가 DRAM으로 구현될 때, 메인 메모리 컨트롤러(317)는 DRAM 컨트롤러로 구현될 수 있다.The
각 메모리 컨트롤러(321-1~321-4)는 각 버스(BUS#1~BUS#4)에 접속된 복수의 메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 동작을 제어할 수 있다.Each of the memory controllers 321-1 to 321-4 includes a plurality of memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4) connected to respective buses (
도 2에서는 설명의 편의를 위해 4개의 버스들(BUS#1~BUS#4)에 접속된 4개의 메모리 컨트롤러들(321-1~321-4)이 도시되나 이는 예시적인 것에 불과하다.In FIG. 2, four memory controllers 321-1 to 321-4 connected to four busses (
실시 예에 따라, 복수의 메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에 대한 상태 정보는 SRAM(315), 주기억 장치(319), 또는 각 메모리 컨트롤러(321-1~321-4)에 내장된 메모리(또는 레지스터; 322)에 저장될 수 있다.According to the embodiment, the status information for the plurality of memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) 315, the
다른 실시 예에 따라, 상기 상태 정보는 복수의 메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4) 중에서 적어도 하나에 저장될 수 있다.According to another embodiment, the status information includes at least one of a plurality of memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) Can be stored in one.
실시 예에 따라 상기 상태 정보는 CPU(313)에 의해 생성될 수도 있고 각 메모리 컨트롤러(321-1~321-4)에 의해 생성될 수도 있다.According to the embodiment, the status information may be generated by the
상기 상태 정보는 대응되는 메모리(315, 319, 또는 322)에 테이블 형태로 저장될 수 있다.The status information may be stored in a
도 3은 본 발명의 일 실시 예에 따른 상태 정보를 저장하는 테이블이다.3 is a table for storing state information according to an embodiment of the present invention.
도 1부터 도 3을 참조하면, CPU(313) 및/또는 각 메모리 컨트롤러(321-1~321-4)는 데이터 저장 장치(300 또는 300A)에서 현재 수행되는 또는 수행될 백그라운드 동작에 대한 정보를 생성하고, 생성된 상태 정보를 대응되는 메모리(315, 319, 또는 322)에 저장할 수 있다.1 to 3, the
테이블1(TABLE1)에 예시적으로 도시된 바와 같이, 백그라운드 동작의 종류는 가비지 컬렉션 동작(GCO), 웨어-레벨 동작(WLO), 및 배드-블록 관리 동작(BBMO) 등을 포함할 수 있다.The types of background operations may include garbage collection operations (GCO), ware-level operations (WLO), and bad-block management operations (BBMO), as illustrated illustratively in Table 1.
데이터 저장 장치(300 또는 300A)에서 상기 백그라운드 동작이 수행될 때, 데이터 저장 장치(300 또는 300A)는 상기 백그라운드 동작이 종료될 때까지 액세스 명령(CMD)에 상응하는 동작, 예컨대 리드 동작 또는 라이트 동작을 수행할 수 없다.When the background operation is performed in the
동작 카운트(OPERATION COUNT) 컬럼에, 수행되어야 할 각 동작(GCO, WLO, 및 BBMO)에 대한 각 카운트 값(CNT1, CNT2, 및 CNT3)이 저장된다. 상기 카운트 값은 수행되어야 할 각 동작(GCO, WLO, 및 BBMO)의 회수를 의미한다.Each count value (CNT1, CNT2, and CNT3) for each operation (GCO, WLO, and BBMO) to be performed is stored in the OPERATION COUNT column. The count value means the number of each operation (GCO, WLO, and BBMO) to be performed.
예컨대, 각 동작(GCO, WLO, 및 BBMO)에 대한 각 카운트 값(CNT1, CNT2, 및 CNT3)이 영(zero)일 때, 데이터 저장 장치(300 또는 300A)에서 백그라운드 동작은 수행되지 않는다고 판단될 수 있다.For example, when each count value CNT1, CNT2, and CNT3 for each operation (GCO, WLO, and BBMO) is zero, it is determined that the background operation is not performed in the
도 4는 본 발명의 다른 실시 예에 따른 상태 정보를 저장하는 테이블이다.4 is a table for storing state information according to another embodiment of the present invention.
도 1, 도 2, 및 도 4를 참조하면, CPU(313) 및/또는 각 메모리 컨트롤러 (321-1~321-4)는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에 대한 상태 정보를 생성하고, 생성된 상태 정보를 대응되는 메모리(315, 319, 또는 322)에 저장한다.Referring to FIGS. 1, 2 and 4, the
테이블2(TABLE2)에 예시적으로 도시된 바와 같이, 상기 상태 정보는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에서 수행될 동작 카운트(또는 동작 회수)를 포함한다.As illustrated illustratively in Table 2, the state information is stored in each memory chip (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 (Or the number of operations) to be performed in the CHIP4 to CHIP4-4.
상기 동작 카운트는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에서 수행될 프로그램 동작의 회수(PROGRAM COUNT), 리드 동작의 회수(READ COUNT), 및 이레이즈 동작의 회수(ERASE COUNT) 중에서 적어도 하나를 포함한다.The operation count is the number of program operations to be performed in each memory chip (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) COUNT), the number of read operations (READ COUNT), and the number of erase operations (ERASE COUNT).
즉, 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에서 현재 수행중인 동작, 예컨대 프로그램 동작, 리드 동작, 및/또는 이레이즈 동작에 대한 정보는 상태 정보로서 대응되는 메모리(315, 319, 또는 322)에 저장될 수 있다.That is, an operation currently performed in each of the memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) Information about operation, and / or erase operation may be stored in the
도 4에 도시된 바와 같이, 테이블2(TABLE2)에 저장된 상태 정보는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 현재 상태(current status)와 계류 중인 동작 수(pending operation count)를 나타낼 수 있다.As shown in Fig. 4, state information stored in Table 2 is stored in each memory chip (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 To CHIP4-4) and the pending operation count of the mobile station.
테이블2(TABLE2)에 도시된 바와 같이, 버스(BUS#1)에 접속된 메모리 칩 (CHIP1-2)에 대해 수행될 프로그램 동작의 회수는 1이고, 버스(BUS#1)에 접속된 메모리 칩(CHIP1-4)에 대해 수행될 이레이즈 동작의 회수는 1이고, 버스(BUS#2)에 접속된 메모리 칩(CHIP2-1)에 대해 수행될 프로그램 동작의 회수는 1이다.As shown in Table 2, the number of program operations to be performed on the memory chips CHIP1-2 connected to the
도 5는 본 발명의 또 다른 실시 예에 따른 상태 정보를 저장하는 테이블이다.5 is a table for storing state information according to another embodiment of the present invention.
테이블3(TABLE3)에 예시적으로 도시된 바와 같이, 상기 상태 정보는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에 대한 준비/바쁨(READY/BUSY)을 나타낼 수 있다. 이때 "0"은 준비(READY)를 나타내고, "0"은 바쁨(BUSY)을 나타낸다.As illustrated illustratively in Table 3, the status information is stored in each memory chip (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 (READY / BUSY) for the CHIP4 ~ CHIP4-4. At this time, "0" indicates ready (READY) and "0" indicates busy (BUSY).
테이블3(TABLE3)에 저장된 상태 정보는 각 메모리 컨트롤러(321-1~321-4)의 관점에서 판단된 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 상태를 나타낸다.The state information stored in the table 3 is stored in each of the memory chips CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 To CHIP4-4, and CHIP4-1 to CHIP4-4).
테이블3(TABLE3)에 도시된 바와 같이, 버스(BUS#1)에 접속된 메모리 칩 (CHIP1-2)의 상태는 바쁨(BUSY)이고, 버스(BUS#2)에 접속된 메모리 칩(CHIP2-1)의 상태는 바쁨(BUSY)이다.The state of the memory chips CHIP1-2 connected to the
테이블3(TABLE3)에 기초하여 CPU(313) 및/또는 각 메모리 컨트롤러(321-1~321-4)는 각 버스(BUS#1~BUS#4)의 상태, 예컨대 사용 가능성을 판단할 수 있다.The
도 6은 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.Figure 6 shows a schematic block diagram of a data processing system in accordance with another embodiment of the present invention.
도 1의 데이터 처리 시스템(100)의 다른 실시 예에 따른 데이터 처리 시스템 (100B)은 호스트(200)와 데이터 저장 장치(300B)를 포함한다.The
도 6의 데이터 저장 장치(300B)는 도 2의 데이터 저장 장치(300A)와 달리 주기억 장치와 상기 주기억 장치의 동작을 제어하는 주기억 장치 컨트롤러를 포함하지 않고 하나의 메모리 컨트롤러(321-1)를 포함한다.Unlike the
예컨대, 데이터 저장 장치(300B)는 MMC 또는 eMMC로 구현될 수 있다.For example, the
각 인터페이스(213과 311)는 MMC 인터페이스 또는 eMMC 인터페이스를 지원할 수 있다.Each of the
메모리 컨트롤러(321-1)는 버스(BUS#1)에 접속된 복수의 메모리 칩들(CHIP1-1~CHIP1-4)의 동작을 제어할 수 있다.The memory controller 321-1 can control the operation of a plurality of memory chips (CHIP1-1 to CHIP1-4) connected to the bus (BUS # 1).
실시 예에 따라, 복수의 메모리 칩들(CHIP1-1~CHIP1-4)에 대한 상태 정보는 SRAM(315), 또는 메모리 컨트롤러(321-1)에 내장된 메모리(또는 레지스터; 322)에 저장될 수 있다.State information for the plurality of memory chips CHIP1-1 through CHIP1-4 may be stored in the
다른 실시 예에 따라, 상기 상태 정보는 복수의 메모리 칩들(CHIP1-1~CHIP1-4) 중에서 적어도 하나에 저장될 수 있다.According to another embodiment, the status information may be stored in at least one of the plurality of memory chips (CHIP1-1 to CHIP1-4).
상기 상태 정보는 CPU(313)에 의해 생성될 수도 있고, 메모리 컨트롤러 (321-1)에 의해 생성될 수도 있다.The status information may be generated by the
도 3부터 도 5를 참조하여 설명된 각 테이블(TABLE1~TABLE3)에는 복수의 메모리 칩들(CHIP1-1~CHIP1-4)에 대한 상태 정보만이 저장될 수 있다.Only the status information of the plurality of memory chips (CHIP1-1 to CHIP1-4) can be stored in each of the tables (TABLE1 to TABLE3) described with reference to Figs. 3 to 5.
도 7은 도 1, 도 2, 또는 도 6에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트의 일 실시 예이다.FIG. 7 is an embodiment of a flowchart for explaining the operation of the data processing system shown in FIG. 1, FIG. 2, or FIG.
도 1부터 도 5, 및 도 7을 참조하면, 데이터 저장 장치(300A)의 CPU(313) 또는 각 메모리 컨트롤러(321-1~321-4)는 각 메모리 칩(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)에 대한 상태 정보를 생성하고,생성된 상태 정보를 상응하는 메모리(315, 319, 또는 322) 또는 메모리 칩들 (CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4) 중에서 적어도 하나에 저장할 수 있다(S110).1 to 5 and 7, the
데이터 저장 장치(300A)의 CPU(313)는 호스트(200)로부터 출력된 액세스 명령 (CMD)을 수신하고(S120), 액세스 명령(CMD)에 기초하여 상기 상태 정보를 해석하고, 해석 결과에 기초하여 액세스 명령(CMD)의 실행에 관련된 응답(RES)을 호스트로 전송한다(S130).The
도 1, 도 6, 및 도 7을 참조하면, 데이터 저장 장치(300 또는 300B)의 CPU(313) 또는 메모리 컨트롤러(321-1)는 각 메모리 칩(CHIP1-1~CHIP1-4)에 대한 상태 정보를 생성하고, 생성된 상태 정보를 상응하는 메모리(315 또는 322) 또는 메모리 칩들(CHIP1-1~CHIP1-4) 중에서 적어도 하나에 저장할 수 있다(S110).1, 6, and 7, the
데이터 저장 장치(300 또는 300B)의 CPU(313)는 호스트(200)로부터 출력된 액세스 명령(CMD)을 수신하고(S120), 액세스 명령(CMD)에 기초하여 상기 상태 정보를 해석하고, 해석 결과에 기초하여 액세스 명령(CMD)의 실행에 관련된 응답(RES)을 호스트로 전송한다(S130).The
도 8은 도 1, 도 2, 또는 도 6에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트의 다른 실시 예이다.FIG. 8 is another embodiment of a flowchart for explaining the operation of the data processing system shown in FIG. 1, FIG. 2, or FIG.
도 7과 도 8을 참조하면, CPU(313)는 상기 상태 정보를 해석한다(S131).Referring to FIGS. 7 and 8, the
데이터 저장 장치(300, 300A, 또는 300B, 집합적으로 300)에서 현재 백그라운드 동작이 수행되고 있거나 수행될 백그라운드 동작이 있을 때(S133), CPU(313)는 액세스 명령(CMD)에 상응하는 리드 동작 또는 라이트 동작이 현재 수행될 수 없음을 지시하는 응답(RES)을 호스트(200)로 전송한다(S139-2). 이때, CPU(133)는 테이블1(TABLE1)을 참조하여 응답(RES)을 호스트(200)로 전송할 수 있다(S139-2)When there is a background operation in the
데이터 저장 장치(300)에서 현재 백그라운드 동작이 수행되고 있지 않거나 수행될 백그라운드 동작이 없을 때(S133), CPU(133)는 메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 동작 상태를 해석한다(S135).When no background operation is currently being performed in the
메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 동작 상태가 준비(READY)일 때, CPU(313)는 액세스 명령(CMD)에 상응하는 리드 동작 또는 라이트 동작이 현재 수행될 수 있음을 지시하는 응답 (RES)을 호스트(200)로 전송한다(S139-1). 이때, CPU(133)는 테이블2(TABLE2) 및/또는 테이블(TABLE3)을 참조하여 응답(RES)을 호스트(200)로 전송할 수 있다(S139-1).When the operation state of the memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) is ready (READY), the
메모리 칩들(CHIP1-1~CHIP1-4, CHIP2-1~CHIP2-4, CHIP3-1~CHIP3-4, 및 CHIP4-1~CHIP4-4)의 동작 상태가 준비(READY)가 아닐 때, CPU(313)는 액세스 명령(CMD)에 상응하는 리드 동작 또는 라이트 동작이 현재 수행될 수 없음을 지시하는 응답(RES)을 호스트(200)로 전송할 수 있다(S139-2). 이때, CPU(133)는 테이블2(TABLE2) 및/또는 테이블(TABLE3)을 참조하여 응답(RES)을 호스트(200)로 전송할 수 있다(S139-1). When the operation state of the memory chips (CHIP1-1 to CHIP1-4, CHIP2-1 to CHIP2-4, CHIP3-1 to CHIP3-4, and CHIP4-1 to CHIP4-4) is not ready (READY) 313 may transmit a response RES to the
도 9는 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타내고, 도 10은 도 9에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트이다.FIG. 9 shows a schematic block diagram of a data processing system according to another embodiment of the present invention, and FIG. 10 is a flowchart for explaining the operation of the data processing system shown in FIG.
데이터 처리 시스템(400)은 호스트(200)와 복수의 데이터 저장 장치들(300-1~300-N; N은 자연수)을 포함한다. 데이터 처리 시스템(400)은 데이터베이스 관리 시스템(database management system(DBMS))으로 구현될 수 있다.The
복수의 데이터 저장 장치들(300-1~300-N)은 RAID(Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)를 구성할 수 있다.The plurality of data storage devices 300-1 to 300-N may constitute a RAID (Redundant Array of Independent Disks or Redundant Array of Inexpensive Disks).
복수의 데이터 저장 장치들(300-1~300-N)을 RAID로 구성할 때, 복수의 데이터 저장 장치들(300-1~300-N) 중에서 어느 하나에 저장된 데이터(DATA)는 복수의 데이터 저장 장치들(300-1~300-N) 중에서 다른 적어도 하나에 저장된 데이터를 조합하여 구성할 수 있다.When the plurality of data storage devices 300-1 to 300-N are configured as RAID, the data (DATA) stored in any one of the plurality of data storage devices 300-1 to 300-N is divided into a plurality of data Data stored in at least one of the storage devices 300-1 to 300-N may be combined.
각 데이터 저장 장치(300-1~300-N)의 구조와 동작은 각 데이터 저장 장치 (310A 또는 300B)의 구조와 동작과 실질적으로 동일하다.The structure and operation of each data storage device 300-1 to 300-N are substantially the same as the structure and operation of each
각 데이터 저장 장치(300-1~300-N)는 그 안에 포함된 복수의 메모리 칩들에 대한 상태 정보를 생성하고 생성된 상태 정보를 대응되는 메모리에 저장한다 (S210).Each of the data storage devices 300-1 to 300-N generates status information on a plurality of memory chips contained therein and stores the generated status information in a corresponding memory (S210).
호스트(200)는 복수의 데이터 저장 장치들(300-1~300-N) 중의 어느 하나(이하, 제1데이터 저장 장치(300-2)라 한다)로 제1액세스 명령(CMD1)을 전송한다 (S220).The
제1데이터 저장 장치(300-2)가 제1액세스 명령(CMD1)에 응답하여 제1데이터 저장 장치(300-2)에 내장된 제1메모리 칩들의 상태 정보를 해석하고, 해석 결과에 따라 제1액세스 명령(CMD1)의 실행에 관련된 응답(RES)을 호스트(200)로 전송한다 (S230).The first data storage 300-2 analyzes the status information of the first memory chips built in the first data storage 300-2 in response to the first access command CMD1, 1 response (RES) related to the execution of the access command CMD1 to the host 200 (S230).
호스트(200)는 수신된 응답(RES)에 기초하여 제1데이터 저장 장치(300-2)에 대한 액세스 동작을 보류하고 복수의 데이터 저장 장치들(300-1~300-N) 중의 다른 하나(이하, 제2데이터 저장 장치(300-N)라 한다)로 제2액세스 명령(CMD2)을 전송한다(S240).The
제2데이터 저장 장치(300-N)는 제2데이터 저장 장치(300-N)에 내장된 제2메모리 칩들에 대해 제2액세스 명령(CMD2)에 상응하는 동작을 수행한다(S250).The second data storage device 300-N performs an operation corresponding to the second access command CMD2 for the second memory chips built in the second data storage device 300-N (S250).
제2액세스 명령(CMD2)에 상응하는 상기 동작이 리드 동작일 때, 제2데이터 저장 장치(300-N)는 상기 동작에 따라 상기 제2메모리 칩들 중에서 적어도 하나로부터 리드된 리드 데이터(DATA)를 호스트(200)로 전송한다(S260).When the operation corresponding to the second access command CMD2 is a read operation, the second data storage device 300-N reads the read data DATA from at least one of the second memory chips in accordance with the operation To the host 200 (S260).
상술한 바와 같이, 제1데이터 저장 장치(300-2)에서 백그라운드 동작이 수행되거나 수행될 예정일 때, 제1데이터 저장 장치(300-2)는 호스트(200)로부터 출력된 제1액세스 명령(CMD)에 응답하여 정상적인 시간 내에 제1액세스 명령(CMD)에 상응하는 리드 동작 또는 라이트 동작을 수행할 수 없다. As described above, when the background operation is to be performed or scheduled to be performed in the first data storage device 300-2, the first data storage device 300-2 receives the first access command CMD It can not perform a read operation or a write operation corresponding to the first access command CMD in a normal time.
상기 정상적인 시간은 복수의 데이터 저장 장치들(300-1~300-N) 각각의 설계 사양에 따라 정해지는 정상적인 리드 동작에 필요한 시간 또는 정상적인 라이트 동작에 필요한 시간을 의미할 수 있다.The normal time may be a time required for a normal read operation or a time required for a normal write operation determined according to a design specification of each of the plurality of data storage devices 300-1 to 300-N.
이 경우, 제1데이터 저장 장치(300-2)는 상기 정상적인 시간 내에 제1액세스 명령(CMD1)에 상응하는 리드 동작 또는 라이트 동작을 수행할 수 없음을 나타내는 빠른 응답(RES)을 호스트(200)로 출력할 수 있다. 따라서, 호스트(200)는 빠른 응답 (RES)에 기초하여 제2데이터 저장 장치(300-N)로 제1액세스 명령(CMD1)에 관련된 제2액세스 명령(CMD2)을 출력할 수 있다.In this case, the first data storage 300-2 transmits a quick response (RES) to the
도 11은 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타내고, 도 12는 도 11에 도시된 데이터 처리 시스템의 동작을 설명하기 위한 플로우차트이다.Fig. 11 shows a schematic block diagram of a data processing system according to another embodiment of the present invention, and Fig. 12 is a flowchart for explaining the operation of the data processing system shown in Fig.
데이터 처리 시스템(500)은 클라이언트 컴퓨터(간단히, 클라이언트(510)라 한다), 제1네트워크(520), 웹서버(530), 제2네트워크(540), 데이터베이스 서버(200), 및 데이터베이스(410)를 포함한다. 데이터 처리 시스템(500)은 데이터베이스 관리 시스템(database management system(DBMS))으로 구현될 수 있다.The
데이터 처리 시스템(500)은 웹 포탈(web portal)일 수 있다.The
클라이언트(510)는 유저 브라우저(511)를 포함하고, 유저 브라우저(511)는 웹 브라이저를 의미할 수 있다.The
유저 브라우저(511)가 입력 장치(예컨대, 키보드, 마우스, 또는 터치 스크린)를 통해 유저로부터 입력된 서치 기준(search criteria; SC)), 예컨대 서치 키워드를 제1네트워크(520)를 통해 웹서버(530)로 전송하면(S310), 웹서버(530)는 유저 브라우저(511)로부터 서치 기준(SC)을 수신한다(S310).The
제1네트워크(520)는 유선 인터넷 또는 무선 인터넷일 수 있다. The
웹서버(530)는 제2네트워크(540)를 통해 서치 기준(SC)에 상응하는 명령 (WCMD)을 데이터베이스 서버(200)로 전송한다(S320). 데이터베이스 서버(200)는 호스트(200)와 동일한 기능을 수행할 수 있다.The
제2네트워크(540)는 유선 인터넷, 무선 인터넷, 또는 인트라넷일 수 있다.The
데이터베이스(410)는 복수의 데이터 저장 장치들(300-1~300-N)을 포함하는 물리적인 장치로 정의한다.The
각 데이터 저장 장치(300-1~300-N)는 그 안에 포함된 복수의 메모리 칩들에 대한 상태 정보를 생성하고, 생성된 상태 정보를 대응되는 메모리에 저장한다.Each of the data storage devices 300-1 to 300-N generates status information on a plurality of memory chips contained therein, and stores the generated status information in a corresponding memory.
데이터베이스 서버(200)는 제1데이터 저장 장치(300-2)로 제1액세스 명령 (CMD1)을 전송한다(S330).The
제1데이터 저장 장치(300-2)는 제1액세스 명령(CMD1)에 응답하여 제1데이터 저장 장치(300-2)에 내장된 제1메모리 칩들의 상태 정보를 해석하고, 해석 결과에 따라 제1액세스 명령(CMD1)의 실행에 관련된 응답(RES)을 데이터베이스 서버(200)로 전송한다(S340). 제1액세스 명령(CMD1)은 서치 기준(SC)에 상응하는 리드 명령 또는 라이트 명령일 수 있다.The first data storage device 300-2 analyzes the status information of the first memory chips built in the first data storage device 300-2 in response to the first access command CMD1, 1 response (RES) related to the execution of the access command (CMD1) to the database server 200 (S340). The first access command CMD1 may be a read command or a write command corresponding to the search criteria SC.
웹서버(530) 또는 데이터베이스 서버(200)는 키워드 서치 엔진을 포함할 수 있다.
호스트(200)는 수신된 응답(RES)에 기초하여 제1데이터 저장 장치(300-2)에 대한 액세스 동작을 보류하고 제2데이터 저장 장치(300-N)로 제2액세스 명령(CMD2)을 전송한다(S350).The
제2데이터 저장 장치(300-N)는 제2데이터 저장 장치(300-N)에 내장된 제2메모리 칩들에 대해 제2액세스 명령(CMD2)에 상응하는 동작을 수행한다(S360).The second data storage device 300-N performs an operation corresponding to the second access command CMD2 for the second memory chips built in the second data storage device 300-N (S360).
제2액세스 명령(CMD2)에 상응하는 상기 동작이 리드 동작일 때, 제2데이터 저장 장치(300-N)는 상기 동작에 따라 상기 제2메모리 칩들 중에서 적어도 하나로부터 리드된 리드 데이터(DATA)를 데이터베이스 서버(200)로 전송한다(S370).When the operation corresponding to the second access command CMD2 is a read operation, the second data storage device 300-N reads the read data DATA from at least one of the second memory chips in accordance with the operation To the database server 200 (S370).
웹서버(530)는 데이터베이스 서버(200)로부터 제2네트워크(540)를 통해 리드 데이터(DATA)를 수신한다(S380).The
웹서버(530)는 리드 데이터(DATA)를 제1네트워크(520)를 통해 클라이언트 (510)의 유저 브라이저(511)로 전송한다(S390).The
따라서, 유저 브라이저(511)는 서치 기준(SC)에 상응하는 리드 데이터(DATA)를 디스플레이를 통해 디스플레이할 수 있다.Therefore, the
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
100, 100A, 100B, 400, 및 500; 데이터 처리 시스템
200; 호스트
300, 300-1~300-N, 300A, 및 300B; 데이터 저장 장치
311; 호스트 인터페이스
313; CPU
315; SRAM
317; 메인 메모리 컨트롤러
319; 메인 메모리
321-1~321-4; 메모리 컨트롤러
322; 메모리100, 100A, 100B, 400, and 500; Data processing system
200; Host
300, 300-1 to 300-N, 300A, and 300B; Data storage device
311; Host interface
313; CPU
315; SRAM
317; Main memory controller
319; Main memory
321-1 to 321-4; Memory controller
322; Memory
Claims (20)
상기 복수의 메모리 칩들에 대한 상태 정보를 생성하여 메모리에 저장하는 단계;
호스트로부터 액세스 명령을 수신하는 단계; 및
상기 액세스 명령에 응답하여 상기 상태 정보를 해석하고, 해석 결과에 따라 상기 액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송하는 단계를 포함하는 데이터 저장 장치의 동작 방법.A method of operating a data storage device comprising a plurality of memory chips,
Generating status information for the plurality of memory chips and storing the status information in a memory;
Receiving an access command from a host; And
Interpreting the status information in response to the access command, and sending a response related to the execution of the access command to the host according to a result of the analysis.
상기 상태 정보는 백그라운드 동작에 대한 정보, 상기 복수의 메모리 칩들 각각에서 수행될 프로그램 동작 카운트, 리드 동작 카운트, 이레이즈 동작 카운트, 상기 복수의 메모리 칩들이 접속된 버스의 상태에 대한 정보, 및 상기 복수의 메모리 칩들에서 현재 수행중인 동작에 대한 정보 중에서 적어도 하나를 포함하는 데이터 저장 장치의 동작 방법.The method according to claim 1,
Wherein the status information includes information about a background operation, a program operation count to be performed in each of the plurality of memory chips, a read operation count, an erase operation count, information on a state of a bus to which the plurality of memory chips are connected, Lt; RTI ID = 0.0 > memory chips < / RTI >
상기 백그라운드 동작은 가비지 컬렉션 동작 카운트, 웨어-레벨 동작 카운트, 또는 배드-블록 관리 동작 카운트 중에서 적어도 하나를 포함하는 데이터 저장 장치의 동작 방법.3. The method of claim 2,
Wherein the background operation comprises at least one of a garbage collection operation count, a wear-level operation count, or a bad-block management operation count.
상기 액세스 명령은 리드 명령의 수행 여부 또는 라이트 명령의 수행 여부를 나타내고,
상기 응답은 상기 액세스 명령을 현재 실행할 수 있는지 여부를 나타내는 데이터 저장 장치의 동작 방법.The method according to claim 1,
Wherein the access command indicates whether to execute the read command or whether to execute the write command,
Wherein the response indicates whether the access command is currently executable.
상기 응답은 상기 액세스 명령을 실행할 시간을 나타내는 데이터 저장 장치의 동작 방법.The method according to claim 1,
Wherein the response indicates a time at which the access command is to be executed.
상기 응답은 타임아웃 응답 또는 중단 응답(abort response)인 데이터 저장 장치의 동작 방법.The method according to claim 1,
Wherein the response is a timeout response or an abort response.
상기 호스트가 상기 제1데이터 저장 장치로 제1액세스 명령을 전송하는 단계;
상기 제1데이터 저장 장치가 상기 제1액세스 명령에 응답하여 상기 제1메모리 칩들의 상태 정보를 해석하고, 해석 결과에 따라 상기 제1액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송하는 단계; 및
상기 응답에 기초하여 상기 호스트가 상기 제1데이터 저장 장치에 대한 액세스 동작을 보류하고 상기 제2데이터 저장 장치로 제2액세스 명령을 전송하는 단계; 및
상기 제2데이터 저장 장치가 상기 제2메모리 칩들에 대해 상기 제2액세스 명령에 상응하는 동작을 수행하는 단계를 포함하는 데이터 처리 시스템의 동작 방법.A method of operating a data processing system including a first data storage device including first memory chips, a second data storage device including second memory chips, and a host,
The host sending a first access command to the first data storage device;
The first data storage device interprets status information of the first memory chips in response to the first access command and transmits a response related to the execution of the first access command to the host according to a result of the analysis; And
The host holding an access operation to the first data storage device and transmitting a second access command to the second data storage device based on the response; And
And the second data storage device performing an operation corresponding to the second access command for the second memory chips.
상기 제1데이터 저장 장치는 상기 제1액세스 명령을 수신하기 이전에 상기 상태 정보를 생성하고,
상기 상태 정보는 백그라운드 동작에 대한 정보, 상기 복수의 메모리 칩들 각각에서 수행될 동작 카운트, 상기 복수의 메모리 칩들이 접속된 버스의 상태에 대한 정보, 또는 상기 복수의 메모리 칩들에서 현재 수행중인 동작에 대한 정보 중에서 적어도 하나를 포함하는 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the first data storage device generates the status information before receiving the first access command,
Wherein the status information includes information about a background operation, an operation count to be performed in each of the plurality of memory chips, information on a status of a bus to which the plurality of memory chips are connected, Wherein the at least one of the at least one of the at least one of the at least two of the at least two of the at least two of the at least two of the plurality of data processing systems.
상기 응답은 상기 제1액세스 명령을 현재 실행할 수 있는지 여부 또는 상기 제1액세스 명령을 실행할 시간을 나타내는 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the response indicates whether the first access command is currently executable or when the first access command is to be executed.
상기 제1데이터 저장 장치와 상기 제2데이터 저장 장치는 RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)에 포함되는 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the first data storage device and the second data storage device are included in a RAID (Redundant Array of Independent Disks or a Redundant Array of Inexpensive Disks).
상기 제1데이터 저장 장치와 상기 제2데이터 저장 장치는 솔리드 스테이트 드라이브들(solid state drives)이고,
상기 제1메모리 칩들과 상기 제2메모리 칩들은 플래시 메모리 칩들인 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the first data storage device and the second data storage device are solid state drives,
Wherein the first memory chips and the second memory chips are flash memory chips.
상기 제1데이터 저장 장치와 상기 제2데이터 저장 장치는 데이터베이스에 포함되고,
상기 호스트는 데이터베이스 서버인 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the first data storage device and the second data storage device are included in a database,
Wherein the host is a database server.
상기 데이터 처리 시스템은 데이터베이스 관리 시스템(database management system(DBMS))인 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
Wherein the data processing system is a database management system (DBMS).
상기 제2데이터 저장 장치가 상기 제2액세스 명령에 상응하는 상기 동작에 따라 리드된 리드 데이터를 상기 호스트로 전송하는 단계를 더 포함하는 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
The second data storage device transmitting the read data to the host in accordance with the operation corresponding to the second access command.
상기 호스트에 접속된 웹 서버가 유저 브라이저(user browser)로부터 서치 기준를 수신하는 단계;
상기 웹 서버가 상기 서치 기준에 상응하는 명령을 상기 호스트로 전송하는 단계; 및
상기 호스트가 상기 명령에 상응하는 상기 제1액세스 명령을 생성하는 단계를 더 포함하는 데이터 처리 시스템의 동작 방법.8. The method of claim 7,
The web server connected to the host receiving the search criteria from a user browser;
The web server transmitting an instruction corresponding to the search criterion to the host; And
Further comprising the step of the host generating the first access command corresponding to the command.
상기 제2데이터 저장 장치가 상기 제2액세스 명령에 상응하는 상기 동작에 따라 리드된 리드 데이터를 상기 호스트로 전송하는 단계;
상기 호스트가 상기 리드 데이터를 상기 웹 서버로 전송하는 단계; 및
상기 웹 서버가 상기 웹 서버로부터 전송된 상기 리드 데이터를 상기 유저 브라우저로 전송하는 단계를 더 포함하는 데이터 처리 시스템의 동작 방법.16. The method of claim 15,
The second data storage device transmitting the read data to the host in accordance with the operation corresponding to the second access command;
The host transmitting the read data to the web server; And
Wherein the web server transmits the read data transmitted from the web server to the user browser.
상기 복수의 메모리 칩들에 대한 상태 정보를 생성하고 생성된 상태 정보를 메모리에 저장하고, 호스트로부터 출력된 액세스 명령에 응답하여 상기 메모리에 저장된 상기 상태 정보를 해석하고, 해석 결과에 따라 상기 액세스 명령의 실행에 관련된 응답을 상기 호스트로 전송하는 스토리지 컨트롤러를 포함하는 데이터 저장 장치.A plurality of memory chips; And
Storing the generated state information in a memory, interpreting the state information stored in the memory in response to an access command output from the host, and outputting the state information of the access command And a storage controller for transmitting a response related to the execution to the host.
상기 스토리지 컨트롤러에 집적된 CPU(central processing unit); 및
상기 스토리지 컨트롤러에 집적되고 상기 복수의 메모리 칩들의 동작을 제어하는 메모리 컨트롤러를 더 포함하고,
상기 상태 정보는 상기 CPU와 상기 메모리 컨트롤러 중 어느 하나에 의해 생성되고,
상기 상태 정보는 백그라운드 동작에 대한 정보, 상기 복수의 메모리 칩들 각각에서 수행될 동작 카운트, 상기 복수의 메모리 칩들이 접속된 버스의 상태에 대한 정보, 또는 상기 복수의 메모리 칩들에서 현재 수행중인 동작에 대한 정보 중에서 적어도 하나를 포함하는 데이터 저장 장치.18. The method of claim 17,
A central processing unit (CPU) integrated in the storage controller; And
Further comprising a memory controller integrated in the storage controller and controlling operation of the plurality of memory chips,
Wherein the status information is generated by either the CPU or the memory controller,
Wherein the status information includes information about a background operation, an operation count to be performed in each of the plurality of memory chips, information on a status of a bus to which the plurality of memory chips are connected, ≪ / RTI > information.
상기 메모리는 상기 스토리지 컨트롤러에 내장되는 데이터 저장 장치.19. The method of claim 18,
Wherein the memory is embedded in the storage controller.
상기 메모리는 상기 스토리지 컨트롤러의 외부에 구현된 주메모리 장치인 데이터 저장 장치.19. The method of claim 18,
Wherein the memory is a main memory device implemented external to the storage controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/264,119 US20140325148A1 (en) | 2013-04-29 | 2014-04-29 | Data storage devices which supply host with data processing latency information, and related data processing methods |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361816822P | 2013-04-29 | 2013-04-29 | |
US61/816,822 | 2013-04-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140128852A true KR20140128852A (en) | 2014-11-06 |
Family
ID=52454628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130117519A KR20140128852A (en) | 2013-04-29 | 2013-10-01 | Data storage device for performing fast response about data processing latency and methods using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140128852A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190008643A (en) * | 2017-07-17 | 2019-01-25 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory system |
KR20190093364A (en) * | 2018-02-01 | 2019-08-09 | 에스케이하이닉스 주식회사 | Memory controller, memory system having the same and operating method thereof |
US11144225B2 (en) | 2019-06-28 | 2021-10-12 | SK Hynix Inc. | Memory system, memory controller, and operation method thereof utilizing at least first and second operational modes |
-
2013
- 2013-10-01 KR KR1020130117519A patent/KR20140128852A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190008643A (en) * | 2017-07-17 | 2019-01-25 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory system |
KR20190093364A (en) * | 2018-02-01 | 2019-08-09 | 에스케이하이닉스 주식회사 | Memory controller, memory system having the same and operating method thereof |
US11144225B2 (en) | 2019-06-28 | 2021-10-12 | SK Hynix Inc. | Memory system, memory controller, and operation method thereof utilizing at least first and second operational modes |
US11500562B2 (en) | 2019-06-28 | 2022-11-15 | SK Hynix Inc. | Memory system, memory controller, and operation method thereof utilizing at least first and second operational modes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140325148A1 (en) | Data storage devices which supply host with data processing latency information, and related data processing methods | |
US9747044B2 (en) | Interleaving read and write requests to reduce latency and maximize throughput in a flash storage device | |
US9378846B2 (en) | Non-mounted storage test device based on FPGA | |
US9607120B2 (en) | Implementing system irritator accelerator FPGA unit (AFU) residing behind a coherent attached processors interface (CAPI) unit | |
JP7039631B2 (en) | Methods, devices, devices, and storage media for managing access requests | |
KR101986355B1 (en) | A embedded Multimedia Card(eMMC), eMMC system including the eMMC, and a method for operating the eMMC | |
US10474374B2 (en) | Method and apparatus for storage device latency/bandwidth self monitoring | |
US20190012251A1 (en) | Distributed architecture for determining performance parameters | |
US20230229357A1 (en) | Storage controller, computational storage device, and operational method of computational storage device | |
CN109791510B (en) | Managing data flows in heterogeneous computing | |
Huffman et al. | The nonvolatile memory transformation of client storage | |
KR20140128852A (en) | Data storage device for performing fast response about data processing latency and methods using the same | |
KR20190089429A (en) | Storage device and method of operating the storage device | |
KR20210013845A (en) | Method of operating storage device for improving qos latency and storage device performing the same | |
US10216591B1 (en) | Method and apparatus of a profiling algorithm to quickly detect faulty disks/HBA to avoid application disruptions and higher latencies | |
KR102634776B1 (en) | Data storage device and operating method thereof | |
CN102945214B (en) | Based on the method for IO distribution optimization time delay interrupt processing task | |
US10019390B2 (en) | Using memory cache for a race free interrupt scheme without the use of “read clear” registers | |
CN102929819B (en) | For the treatment of the method for the interrupt request of the memory device in computer system | |
KR20160118602A (en) | Data storage device and devices having same | |
KR20150090621A (en) | Storage device and method for data processing | |
US11816004B2 (en) | Systems and methods for file level prioritization during multi-object data restores | |
KR20230037906A (en) | A computational storage device, and a storage system including the same computational storage device | |
US8966133B2 (en) | Determining a mapping mode for a DMA data transfer | |
US10846020B2 (en) | Drive assisted storage controller system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |