KR20240074611A - Method and electronic device for manufacturing storage device - Google Patents

Method and electronic device for manufacturing storage device Download PDF

Info

Publication number
KR20240074611A
KR20240074611A KR1020230004055A KR20230004055A KR20240074611A KR 20240074611 A KR20240074611 A KR 20240074611A KR 1020230004055 A KR1020230004055 A KR 1020230004055A KR 20230004055 A KR20230004055 A KR 20230004055A KR 20240074611 A KR20240074611 A KR 20240074611A
Authority
KR
South Korea
Prior art keywords
storage space
data
electronic device
state
memory
Prior art date
Application number
KR1020230004055A
Other languages
Korean (ko)
Inventor
정원석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2023/018575 priority Critical patent/WO2024112015A1/en
Publication of KR20240074611A publication Critical patent/KR20240074611A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

다양한 실시예에 따르면, 저장 장치는, 제 1 비트의 데이터가 저장되는 제 1 저장 공간 및 상기 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간을 포함하는 제 1 메모리, 상태 정보가 저장되는 제 2 메모리, 및 제 1 메모리 및 제 2 메모리에 작동적으로 연결된 메모리 컨트롤러를 포함할 수 있다. 메모리 컨트롤러는 제 2 메모리에 저장된 상태 정보를 기반으로, 저장 장치에서 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 메모리 컨트롤러는 PSA 인터페이스의 지원 확인에 응답하여, 상태 정보를 제 1 상태로 변경할 수 있다. 메모리 컨트롤러는 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리의 제 1 저장 공간에 저장할 수 있다. 메모리 컨트롤러는 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경할 수 있다. 메모리 컨트롤러는 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간에 저장된 데이터를 제 2 저장 공간으로 마이그레이션할 수 있다. 그 밖에 다양한 실시예들이 가능할 수 있다.According to various embodiments, a storage device includes a first memory including a first storage space in which a first bit of data is stored and a second storage space in which a second bit or more of data other than the first bit is stored. It may include a second memory in which information is stored, and a memory controller operatively connected to the first memory and the second memory. The memory controller may check whether the storage device supports the PSA interface based on the status information stored in the second memory. The memory controller may change the state information to the first state in response to confirmation of support of the PSA interface. In response to the status information being in the first state, the memory controller may store data downloaded from the external electronic device in the first storage space of the first memory. The memory controller may change the state information to the second state in response to completion of the process corresponding to the downloaded data. The memory controller may migrate data stored in the first storage space to the second storage space in response to the state information being in the second state. Various other embodiments may be possible.

Description

저장 장치의 제조 방법 및 전자 장치 {METHOD AND ELECTRONIC DEVICE FOR MANUFACTURING STORAGE DEVICE}Manufacturing method and electronic device of storage device {METHOD AND ELECTRONIC DEVICE FOR MANUFACTURING STORAGE DEVICE}

다양한 실시예들은 저장 장치를 제조하는 방법 및 전자 장치에 관한 것이다.Various embodiments relate to methods of manufacturing storage devices and electronic devices.

최근 정보통신 기술과 반도체 기술 등의 눈부신 발전에 힘입어 전자 장치(예: 휴대용 단말 장치, 스마트폰)의 보급과 이용이 급속도로 증가하고 있으며, 현대인의 필수품이 되고 있다. 전자 장치는 사용자들이 필요로 하는 다양한 기능(예: 이동 통신 기능, 근거리 무선 통신 기능, 방송 수신 기능, 인터넷 접속 기능)을 제공하고 있다.Recently, thanks to remarkable developments in information and communication technology and semiconductor technology, the spread and use of electronic devices (e.g. portable terminal devices, smartphones) are rapidly increasing and have become a necessity for modern people. Electronic devices provide various functions required by users (e.g., mobile communication function, short-range wireless communication function, broadcast reception function, Internet access function).

전자 장치는 데이터(data)를 보관하기 위한 저장 장치(예: 낸드 플래시 메모리(NAND Flash memory))가 포함될 수 있다. 예를 들어, 저장 장치는 Host와 NAND Flash memory간의 인터페이스(interface) 규약에 따라 eMMC (embedded Multimedia Card), UFS (Universal Flash Storage), SSD(Solid State Drive) 장치로 분류 될 수 있다. 전자 장치가 제조되는 공정에 있어서, 저장 장치에는 전자 장치를 운영 시키기 위한 데이터(예: S/W binary)가 저장될 수 있다. Electronic devices may include a storage device (eg, NAND flash memory) for storing data. For example, storage devices can be classified into eMMC (embedded multimedia card), UFS (Universal Flash Storage), and SSD (Solid State Drive) devices according to the interface protocol between the host and NAND Flash memory. In the process of manufacturing an electronic device, data (e.g., S/W binary) for operating the electronic device may be stored in a storage device.

상술한 정보는 본 개시에 대한 이해를 돕기 위한 목적으로 하는 배경 기술로 제공될 수 있다. 상술한 내용 중 어느 것도 본 개시와 관련하여 종래 기술(prior art)로서 적용될 수 있는지에 관해서는 어떠한 주장이나 결정이 제기되지 않는다.The above information may be provided as background technology for the purpose of aiding understanding of the present disclosure. No claim or determination is made as to whether any of the foregoing may apply as prior art with respect to the present disclosure.

통상적으로 전자 장치를 제조하는 공정에 있어서, 열이 발생되는 공정이 포함될 수 있다. 예를 들어, 저장 장치 및 기타 장치들(예: 부품들)이 인쇄 회로 기판(printed circuit board, PCB)에 실장되는 제조 공정(예: SMD(Surface Mount Device)) 시, 열이 발생할 수 있다. 예를 들어, 제조 공정이 변경되는 상황 및 상기 제조 공정 상 불량이 발생되는 상황으로 인해, 재 작업이 발생될 수 있고, 재 작업 시, 열이 발생될 수 있다.Typically, in the process of manufacturing an electronic device, a process that generates heat may be included. For example, heat may be generated during a manufacturing process (e.g., Surface Mount Device (SMD)) in which storage devices and other devices (e.g., components) are mounted on a printed circuit board (PCB). For example, due to a situation in which the manufacturing process is changed and a defect occurs in the manufacturing process, rework may occur, and heat may be generated during rework.

전자 장치의 제조 공정에 있어서, 열이 발생하게 되면, 저장 장치에 저장된 데이터가 손상되거나, 또는 배드 블록(예: runtime bad block)이 증가할 수 있다. 이로 인해, 전자 장치의 성능이 저하되거나, 전자 장치가 오동작하는 문제가 발생할 수 있다.In the manufacturing process of electronic devices, if heat is generated, data stored in the storage device may be damaged or bad blocks (eg, runtime bad blocks) may increase. As a result, the performance of the electronic device may deteriorate or the electronic device may malfunction.

일 실시예에 따르면, 전자 장치는 제조 공정 정보(예: 제조 프로세스)를 활용하여, 저장 장치와 관련된 제어 정보를 저장 장치에 전달할 수 있고, 저장 장치 제어부의 제어 하에, 열이 발생하는 제조 공정 과정에서 저장 장치에 저장된 데이터의 손상을 방지할 수 있다.According to one embodiment, the electronic device may utilize manufacturing process information (e.g., manufacturing process) to transmit control information related to the storage device to the storage device, and under the control of the storage device controller, the manufacturing process process in which heat is generated. You can prevent damage to data stored on the storage device.

본 개시의 다양한 실시예들은, 제조 공정 중에 발생되는 열로 인해, 저장 장치에 저장된 데이터가 손실되는 상황을 방지하기 위한 전자 장치를 제공하고자 한다.Various embodiments of the present disclosure seek to provide an electronic device to prevent data stored in a storage device from being lost due to heat generated during a manufacturing process.

본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 문서에 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical challenges sought to be achieved in this document are not limited to the technical challenges mentioned above, and other technical challenges not mentioned can be clearly understood by those skilled in the art of this document from the description below. There will be.

일 실시예에 따르면, 저장 장치는, 제 1 비트의 데이터가 저장되는 제 1 저장 공간 및 상기 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간을 포함하는 제 1 메모리, 상태 정보가 저장되는 제 2 메모리, 및 제 1 메모리 및 제 2 메모리에 작동적으로 연결된 메모리 컨트롤러를 포함할 수 있다. 메모리 컨트롤러는 제 2 메모리에 저장된 상태 정보를 기반으로, 저장 장치에서 PSA(product state awareness) 인터페이스를 지원하는지 여부를 확인할 수 있다. 메모리 컨트롤러는 PSA 인터페이스의 지원 확인에 응답하여, 상태 정보를 제 1 상태로 변경할 수 있다. 메모리 컨트롤러는 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리의 제 1 저장 공간에 저장할 수 있다. 메모리 컨트롤러는 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경할 수 있다. 메모리 컨트롤러는 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간에 저장된 데이터를 제 2 저장 공간으로 마이그레이션할 수 있다. According to one embodiment, the storage device includes a first memory including a first storage space in which a first bit of data is stored and a second storage space in which a second or more bit of data other than the first bit is stored. It may include a second memory in which information is stored, and a memory controller operatively connected to the first memory and the second memory. The memory controller may check whether the storage device supports a product state awareness (PSA) interface based on the state information stored in the second memory. The memory controller may change the state information to the first state in response to confirmation of support of the PSA interface. In response to the status information being in the first state, the memory controller may store data downloaded from the external electronic device in the first storage space of the first memory. The memory controller may change the state information to the second state in response to completion of the process corresponding to the downloaded data. The memory controller may migrate data stored in the first storage space to the second storage space in response to the state information being in the second state.

일 실시예에 따른 저장 장치의 동작 방법에 있어서, 제 1 비트의 데이터가 저장되는 제 1 저장 공간(231) 및 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(232)을 포함하는 제 1 메모리(230) 및 상태 정보가 저장되는 제 2 메모리 중 제 2 메모리에 저장된 상태 정보를 기반으로, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 확인하는 동작, PSA 인터페이스의 지원 확인에 상태 정보를 제 1 상태로 변경하는 동작, 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작, 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경하는 동작, 및 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션하는 동작을 포함할 수 있다.In a method of operating a storage device according to an embodiment, a first storage space 231 in which a first bit of data is stored and a second storage space 232 in which data of a second or more bit, rather than the first bit, is stored. An operation of checking whether the storage device 220 supports the PSA interface based on the state information stored in the second memory of the first memory 230 and the second memory in which the state information is stored, the operation of the PSA interface An operation of changing state information to a first state upon confirmation of support, and in response to the state information being in a first state, storing data downloaded from an external electronic device in the first storage space 231 of the first memory 230. An operation, in response to completion of a process corresponding to the downloaded data, changing the state information to a second state, and in response to the state information being in the second state, storing the data stored in the first storage space 231. An operation of migrating to the second storage space 232 may be included.

일 실시예에 따르면, 하나 이상의 프로그램을 저장하는 비일시적인 컴퓨터 판독가능 저장 매체(또는, 컴퓨터 프로그램 제품(product))가 기술될 수 있다. 일 실시예에 따르면, 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 제 1 비트의 데이터가 저장되는 제 1 저장 공간(231) 및 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(232)을 포함하는 제 1 메모리(230) 및 상태 정보가 저장되는 제 2 메모리 중 제 2 메모리에 저장된 상태 정보를 기반으로, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 확인하는 동작, PSA 인터페이스의 지원 확인에 상태 정보를 제 1 상태로 변경하는 동작, 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작, 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경하는 동작, 및 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션하는 동작을 수행하는 명령어들을 포함할 수 있다.According to one embodiment, a non-transitory computer-readable storage medium (or computer program product) storing one or more programs may be described. According to one embodiment, when one or more programs are executed by a processor of an electronic device, a first storage space 231 in which a first bit of data is stored and a first storage space 231 in which second or more bits of data, rather than the first bit, are stored. Based on the state information stored in the second memory of the first memory 230 including the second storage space 232 and the second memory in which the state information is stored, whether the storage device 220 supports the PSA interface An operation of confirming, an operation of changing status information to a first state upon confirmation of support of the PSA interface, and in response to the status information being in the first state, first storing data downloaded from an external electronic device in the first memory 230. An operation of storing in the space 231, in response to completion of a process process corresponding to the downloaded data, an operation of changing the state information to a second state, and in response to the state information being in the second state, the first storage space. It may include instructions for migrating data stored in 231 to the second storage space 232 .

일 실시예에 따르면, 전자 장치는 저장 장치에 제조 공정과 관련된 정보를 제공할 수 있고, 저장 장치 제어부의 제어 하에, 열로 인한 데이터 손상을 방지할 수 있다. 예를 들어, 저장 장치 제어부는 열이 발생되는 공정을 수행하기 전에, 데이터를 열에 강한 저장 공간으로 이동시킬 수 있다.According to one embodiment, the electronic device can provide information related to the manufacturing process to the storage device and prevent data damage due to heat under the control of the storage device controller. For example, the storage device controller may move data to a heat-resistant storage space before performing a process that generates heat.

일 실시예에 따르면, 열에 의한 데이터 손상을 방지하기 위해, 데이터를 열에 강한 저장 공간으로 이동함에 따라, 데이터의 쓰기 성능이 향상될 수 있고, 제조 공정에 따른 불량률이 감소할 수 있다. 일 실시예에 따르면, 전자 장치 및 저장 장치와 관련된 생산성이 증가할 수 있다.According to one embodiment, in order to prevent data damage due to heat, by moving data to a heat-resistant storage space, data writing performance can be improved and the defect rate due to the manufacturing process can be reduced. According to one embodiment, productivity associated with electronic devices and storage devices may increase.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.

도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 본 개시의 일 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치에 포함된 프로세서 및 저장 장치에 대한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 1 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 2 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 공정 프로세스를 도시한 예시도이다.
도 6은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 1 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 2 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 공정 프로세스를 도시한 예시도이다.
In relation to the description of the drawings, identical or similar reference numerals may be used for identical or similar components.
1 is a block diagram of an electronic device in a network environment according to embodiments of the present disclosure.
Figure 2 is a block diagram of a processor and a storage device included in an electronic device according to an embodiment of the present disclosure.
FIG. 3 is a first flowchart illustrating a method of migrating data based on status information of an electronic device according to an embodiment of the present disclosure.
FIG. 4 is a second flowchart illustrating a method of migrating data based on status information of an electronic device according to an embodiment of the present disclosure.
FIG. 5 is an exemplary diagram illustrating a process for migrating data based on status information of an electronic device according to an embodiment of the present disclosure.
FIG. 6 is a first flowchart illustrating a method of migrating data based on the write booster function according to an embodiment of the present disclosure.
FIG. 7 is a second flowchart illustrating a method of migrating data based on the write booster function according to an embodiment of the present disclosure.
Figure 8 is an example diagram illustrating a process for migrating data based on the write booster function according to an embodiment of the present disclosure.

도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments. Referring to FIG. 1, in the network environment 100, the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197. In some embodiments, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101. In some embodiments, some of these components (e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134. According to one embodiment, the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device 101 includes a main processor 121 and a secondary processor 123, the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서(image signal processor) 또는 커뮤니케이션 프로세서(communication processor, CP)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled. According to one embodiment, the auxiliary processor 123 (e.g., image signal processor (image signal processor) or communication processor (CP)) is connected to other functionally related components (e.g., camera module 180 or communication module According to one embodiment, the auxiliary processor 123 (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. This learning may be generated through machine learning, for example, may be performed in the electronic device 101 itself where the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108). Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model may include a plurality of artificial neural network layers, such as a deep neural network (DNN), a convolutional neural network (CNN), or a recurrent neural network (RNN). It may be one of a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is limited to the examples described above. In addition to hardware structures, artificial intelligence models may additionally or alternatively include software structures.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto. Memory 130 may include volatile memory 132 or non-volatile memory 134.

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user). The input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device. According to one embodiment, the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.The sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 can capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 can manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101. According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서(communication processor, CP)를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. The communication module 190 operates independently of the processor 120 (e.g., an application processor) and may include one or more communication processors (CPs) that support direct (e.g., wired) communication or wireless communication. . According to one embodiment, the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included. Among these communication modules, the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 can be confirmed or authenticated.

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology). NR access technology provides high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access to multiple terminals (massive machine type communications (mMTC)), or ultra-reliable and low-latency (URLLC). -latency communications)) can be supported. The wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates. The wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC. Example: Downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) can be supported.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나, 제 1 안테나, 제 2 안테나)을 포함할 수 있다. 예를 들어, 제 1 안테나는 선형 편파 방식을 기반으로, 제 1 방향에 따른 제 1 안테나 신호를 생성할 수 있고, 제 2 안테나는 선형 편파 방식을 기반으로, 상기 제 1 방향과는 상이한, 제 2 방향에 따른 제 2 안테나 신호를 생성할 수 있다. 예를 들어, 제 1 안테나 신호와 제 2 안테나 신호는 상호 간에 직각 방향으로 구현될 수 있다. 제 1 안테나 신호가 x축 방향에 따른 통신 신호라면, 제 2 안테나 신호는 y축 방향에 따른 통신 신호를 포함할 수 있다. The antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device). According to one embodiment, the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna, a first antenna, and a second antenna). For example, the first antenna may generate a first antenna signal according to a first direction based on a linear polarization method, and the second antenna may generate a first antenna signal different from the first direction based on a linear polarization method. A second antenna signal according to two directions can be generated. For example, the first antenna signal and the second antenna signal may be implemented in directions perpendicular to each other. If the first antenna signal is a communication signal along the x-axis direction, the second antenna signal may include a communication signal along the y-axis direction.

일 실시예에 따르면, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.According to one embodiment, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199, for example, is connected to the plurality of antennas by the communication module 190. Can be selected from antennas. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna. According to some embodiments, in addition to the radiator, other components (eg, radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module 197.

다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to one embodiment, a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.

일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.According to one embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 101 must perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may perform the function or service instead of executing the function or service on its own. Alternatively, or additionally, one or more external electronic devices may be requested to perform at least part of the function or service. One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology can be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

도 2는 본 개시의 일 실시예에 따른 전자 장치에 포함된 프로세서 및 저장 장치에 대한 블록도이다.Figure 2 is a block diagram of a processor and a storage device included in an electronic device according to an embodiment of the present disclosure.

일 실시예들에 따르면, 도 2의 전자 장치(201)는 도 1의 전자 장치(101)와 적어도 일부 유사하거나, 전자 장치(210)의 다른 실시예들을 포함할 수 있다. 도 2의 프로세서(210)는 도 1의 프로세서(120)와 적어도 일부 유사하거나, 프로세서(210)의 다른 실시예들을 포함할 수 있다. 도 2의 저장 장치(220)는 도 1의 메모리(130)와 적어도 일부 유사하거나, 저장 장치(220)의 다른 실시예들을 포함할 수 있다.According to some embodiments, the electronic device 201 of FIG. 2 may be at least partially similar to the electronic device 101 of FIG. 1 or may include other embodiments of the electronic device 210. The processor 210 of FIG. 2 may be at least partially similar to the processor 120 of FIG. 1 or may include other embodiments of the processor 210. The storage device 220 of FIG. 2 may be at least partially similar to the memory 130 of FIG. 1 or may include other embodiments of the storage device 220 .

도 2를 참조하면, 전자 장치(201)(예: 도 1의 전자 장치(101))는 DRAM(dynamic random access memory)(205)(예: 임시 기억 장치), 프로세서(210)(예: AP(application processor), 호스트(host)), 및 저장 장치(UFS(universal flash storage))(220)를 포함할 수 있다. 프로세서(210)는 DRAM(205) 및 저장 장치(220)에 저장된 데이터(예: 바이너리 데이터)를 활용할 수 있다.Referring to FIG. 2, the electronic device 201 (e.g., the electronic device 101 of FIG. 1) includes a dynamic random access memory (DRAM) 205 (e.g., a temporary storage device) and a processor 210 (e.g., AP). It may include an application processor, a host, and a storage device (universal flash storage (UFS)) 220. The processor 210 may utilize data (eg, binary data) stored in the DRAM 205 and the storage device 220.

일 실시예에 따르면, 프로세서(210)는 DRAM(205) 및 저장 장치(220)에 저장된 데이터를 로딩하거나, 또는, 저장 장치(220)에 데이터를 저장할 수 있다. 프로세서(210)는 전자 장치(101)에 포함된 다른 구성 요소들(예: 하드웨어 및/또는 소프트웨어 구성요소)을 적어도 부분적으로 제어할 수 있고, 다양한 데이터 처리 및/또는 연산을 수행할 수 있다. 일 실시예에 따르면, 프로세서(210)는 DRAM(205) 및 저장 장치(220)와 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로(electrically) 연결될 수 있다.According to one embodiment, the processor 210 may load data stored in the DRAM 205 and the storage device 220, or may store data in the storage device 220. The processor 210 may at least partially control other components (eg, hardware and/or software components) included in the electronic device 101 and may perform various data processing and/or calculations. According to one embodiment, the processor 210 may be operatively, functionally, and/or electrically connected to the DRAM 205 and the storage device 220.

도 2를 참조하면, 프로세서(210)는 SOC(system on chip) 형태로, 저장 장치(220)를 제어하기 위한 호스트 컨트롤러(host controller)(211)를 포함할 수 있다. 예를 들어, 프로세서(210)는 전자 장치(101)에 포함된 구성 요소들, 각각에 대응되는 호스트 장치를 포함할 수도 있다. 호스트 컨트롤러(211)는 프로세서(210)와 DRAM(205) 및 저장 장치(220) 간의 작동적 연결에 응답하여, 데이터를 DRAM(205) 및 저장 장치(220)에 저장하거나, 또는, DRAM(205) 및 저장 장치(220)에 저장된 데이터를 로딩할 수 있다.Referring to FIG. 2 , the processor 210 may be in the form of a system on chip (SOC) and may include a host controller 211 for controlling the storage device 220 . For example, the processor 210 may include a host device corresponding to each of the components included in the electronic device 101. Host controller 211 is responsive to the operative connection between processor 210 and DRAM 205 and storage device 220 to store data in DRAM 205 and storage device 220, or to store data in DRAM 205 ) and data stored in the storage device 220 can be loaded.

도 2를 참조하면, 전자 장치(101)는 적어도 하나의 바이너리 데이터(예: 제 1 바이너리(212), 제 2바이너리(213), 및/또는 제 3 바이너리(214))를 저장하기 위한 DRAM(205)(예: 임시 기억 장치, 임시 저장 공간, 임시 저장 영역)을 포함할 수 있다. 예를 들어, 제 1 바이너리(212)는 eDL 바이너리(eDL binary)를 포함할 수 있고, 제 2 바이너리(213)는 부트로더(bootloader)를 포함할 수 있고, 제 3 바이너리(214)는 커널 바이너리(kernel binary)를 포함할 수 있다. 제 1 바이너리(212), 제 2바이너리(213), 및/또는 제 3 바이너리(214) 중 적어도 하나는 저장 장치(220)의 초기화 및 저장 장치(220)에 대한 데이터 읽기 및 쓰기를 위한 호스트 컨트롤러(211)를 동작시킬 수 있는 프로그램을 포함할 수 있다. 예를 들어, 제 2 바이너리(213)(예: 부트로더)는 전자 장치(101)를 부팅하는 과정에서, 운영체제(OS, operating system)가 실행되기 전에, 제 3 바이너리(예: 커널 바이너리)를 기반으로 부팅과 관련된 작업을 수행하는 프로그램을 포함할 수 있다.Referring to FIG. 2, the electronic device 101 includes a DRAM (DRAM) for storing at least one binary data (e.g., the first binary 212, the second binary 213, and/or the third binary 214). 205) (e.g., temporary storage device, temporary storage space, temporary storage area). For example, the first binary 212 may include an eDL binary, the second binary 213 may include a bootloader, and the third binary 214 may include a kernel binary. (kernel binary) may be included. At least one of the first binary 212, the second binary 213, and/or the third binary 214 is a host controller for initializing the storage device 220 and reading and writing data to the storage device 220. It may include a program that can operate (211). For example, in the process of booting the electronic device 101, the second binary 213 (e.g., bootloader) installs a third binary (e.g., kernel binary) before the operating system (OS) is executed. Based on this, it can include programs that perform boot-related tasks.

일 실시예에 따르면, 제 1 바이너리(212)(예: eDL 바이너리)는 외부 전자 장치(예: 도 1의 전자 장치(102, 104), PC(personal computer))로부터 다운로드된 소프트웨어 바이너리(SW binary)를 포함할 수 있다. 프로세서(120)는 제 1 바이너리(212)를 DRAM(205)의 일부 영역에 저장할 수 있다. 프로세서(210)는 연결 단자(예: 도 1의 연결 단자(178), USB 인터페이스)를 통해 연결된 외부 전자 장치로부터 소프트웨어 바이너리를 다운로드할 수 있고, 상기 소프트웨어 바이너리를 제 1 바이너리(212)로 DRAM(205)에 저장할 수 있다. 프로세서(210)는 다운로드된 소프트웨어 바이너리를 기반으로 저장 장치(220)를 초기화할 수 있다. According to one embodiment, the first binary 212 (e.g., eDL binary) is a software binary (SW binary) downloaded from an external electronic device (e.g., the electronic devices 102 and 104 of FIG. 1, a personal computer (PC)). ) may include. The processor 120 may store the first binary 212 in a partial area of the DRAM 205. The processor 210 may download a software binary from an external electronic device connected through a connection terminal (e.g., the connection terminal 178 of FIG. 1, a USB interface), and store the software binary in the first binary 212 (DRAM). 205). The processor 210 may initialize the storage device 220 based on the downloaded software binary.

일 실시예에 따르면, 프로세서(210)는 전자 장치(101)의 부팅 시, 제 2 바이너리(213)(예: 부트로더)를 기반으로 전자 장치(101)를 초기화하거나, 또는 제 3 바이너리(214)(예: 커널 바이너리)를 기반으로 운영체제(OS)의 운영과 관련된 작업을 수행할 수 있다.According to one embodiment, when the electronic device 101 boots, the processor 210 initializes the electronic device 101 based on the second binary 213 (e.g., bootloader) or the third binary 214. ) (e.g. kernel binary), you can perform tasks related to the operation of the operating system (OS).

도 2를 참조하면, 저장 장치(220)는 고속 serial 통신 규약을 기반으로 설계된 UFS(universal flash storage)(220)를 포함할 수 있다. 도 2를 참조하면, 저장 장치(220)는 저장 장치(220)를 적어도 부분적으로 제어하기 위한 저장 장치 제어부(storage device controller)(221) 및 데이터를 저장하기 위한 NAND 저장부(NAND storage)(230)(예: SLC(single level cell)(231), MLC(multi level cell)/TLC(triple level cell)/QLC(quad level cell)(232))를 포함할 수 있다.Referring to FIG. 2, the storage device 220 may include a universal flash storage (UFS) 220 designed based on a high-speed serial communication protocol. Referring to FIG. 2, the storage device 220 includes a storage device controller 221 for at least partially controlling the storage device 220 and a NAND storage unit 230 for storing data. ) (e.g., single level cell (SLC) 231, multi level cell (MLC)/triple level cell (TLC)/quad level cell (QLC) 232).

일 실시예에 따르면, 저장 장치 제어부(221)는 저장 장치(220)에 포함된 구성부들을 적어도 부분적으로 제어 및 관리할 수 있다. 저장 장치 제어부(221)는 프로세서(210)로부터 전달되는 명령어(command)(예: 바이너리 데이터)를 처리할 수 있고, 저장 장치(220)와 관련된 동작들을 제어할 수 있다. 예를 들어, 저장 장치 제어부(221)는 SLC(231)(예: 제 1 저장 공간) 및 MLC/TLC/QLC(232)(예: 제 2 저장 공간)에 데이터(예: 바이너리 데이터, 공정 바이너리)를 저장하거나, 또는 저장된 데이터를 로딩할 수 있다. 예를 들어, 저장 장치 제어부(221)는 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션(migration)하거나, 또는 제 2 저장 공간(232)에 저장된 데이터를 제 1 저장 공간(231)으로 마이그레이션할 수 있다.According to one embodiment, the storage device control unit 221 may at least partially control and manage components included in the storage device 220. The storage device control unit 221 may process commands (eg, binary data) transmitted from the processor 210 and control operations related to the storage device 220 . For example, the storage device control unit 221 stores data (e.g., binary data, process binary) in the SLC 231 (e.g., first storage space) and MLC/TLC/QLC (232) (e.g., second storage space). ) can be saved, or the saved data can be loaded. For example, the storage device control unit 221 migrates data stored in the first storage space 231 to the second storage space 232, or migrates data stored in the second storage space 232 to the first storage space 232. It can be migrated to the storage space (231).

일 실시예에 따르면, 제 1 저장 공간(231)은 NAND 저장부(230)의 SLC(single level cell) 영역을 포함할 수 있고, 상대적으로 제 2 저장 공간(232) 보다 빠른 속도로 데이터가 읽히거나, 또는 쓰여질 수 있다. 예를 들어, 제 1 저장 공간(231)은 적어도 하나의 셀로 구성되며, 하나의 셀당 약 1비트의 데이터를 저장할 수 있다. 제 1 저장 공간(231)은 제 1 비트의 데이터가 저장되는, 복수 개의 셀들로 구성될 수 있다. 일 실시예에 따르면, 제 2 저장 공간(232)은 NAND 저장부(230)의 MLC(multi level cell) 영역, TLC(triple level cell) 영역, 및 QLC(quad level cell) 영역 중 적어도 하나를 포함할 수 있고, 상대적으로 제 1 저장 공간(231) 보다 느린 속도로 데이터가 읽히거나, 또는 쓰여질 수 있다. 예를 들어, 제 2 저장 공간(232)이 MLC 영역인 경우, 하나의 셀당 약 2비트의 데이터를 저장할 수 있고, 제 2 저장 공간(232)이 TLC 영역인 경우, 하나의 셀당 약 3비트의 데이터를 저장할 수 있고, 제 2 저장 공간(232)이 QLC 영역인 경우, 하나의 셀당 약 4비트의 데이터를 저장할 수 있다. 제 2 저장 공간(232)이 MLC 영역인 경우, 제 2 저장 공간(232)은 제 2 비트의 데이터가 저장되는, 복수 개의 셀들로 구성될 수 있다.According to one embodiment, the first storage space 231 may include a single level cell (SLC) area of the NAND storage unit 230, and data can be read at a relatively faster speed than the second storage space 232. or it can be written. For example, the first storage space 231 consists of at least one cell and can store approximately 1 bit of data per cell. The first storage space 231 may be composed of a plurality of cells in which the first bit of data is stored. According to one embodiment, the second storage space 232 includes at least one of a multi level cell (MLC) area, a triple level cell (TLC) area, and a quad level cell (QLC) area of the NAND storage unit 230. Data can be read or written at a relatively slower speed than the first storage space 231. For example, if the second storage space 232 is an MLC area, about 2 bits of data can be stored per cell, and if the second storage space 232 is a TLC area, about 3 bits of data can be stored per cell. Data can be stored, and when the second storage space 232 is a QLC area, approximately 4 bits of data can be stored per cell. When the second storage space 232 is an MLC area, the second storage space 232 may be composed of a plurality of cells in which second bits of data are stored.

일 실시예에 따르면, NAND storage(230)는 제 1 저장 공간(231) 및 제 2 저장 공간(232)에 설정된 전하량을 인가하여, 데이터를 기록 또는 저장할 수 있다. 예를 들어, 제 1 저장 공간(231)은 하나의 셀 당, 약 1비트의 데이터가 저장되므로, 하나의 셀을 기준으로 “0” 또는, “1”의 데이터가 저장될 수 있다. 예를 들어, NAND storage(230)는 제 1 저장 공간(231)에 대응하여 하나의 기준값(예: 전하량, 약 5V)을 설정할 수 있고, 상기 기준값을 초과하는 전하량이 인가될 때, “0”의 데이터를 저장하고, 상기 기준값 미만의 전하량이 인가될 때, “1”의 데이터를 저장할 수 있다. 일 실시예에 따르면, 전자 장치(201)의 제조 공정 상, 열이 발생하게 되면, 제 1 저장 공간(231)에 인가되는 전하량이 적어도 부분적으로 변경(예: 증가 또는 감소)될 수 있고, 제 1 저장 공간(231)에 저장되는 데이터가 오류값을 가질 수 있다. 다른 예를 들어, 제 2 저장 공간(232)이 MLC 영역인 경우, 제 2 저장 공간(232)은 하나의 셀 당, 약 2비트의 데이터가 저장되므로, 하나의 셀을 기준으로 “00”, “01”, “10”, “11”의 데이터 중 하나의 데이터가 저장될 수 있다. 예를 들어, 저장 장치 제어부(221)는 제 2 저장 공간(232)에 대응하여 복수 개의 기준값(예: 복수 개의 전하량, 제 1 기준값(약 2.5V), 제 2 기준값(약 5V), 제 3 기준값(약 7.5V))을 설정할 수 있고, 상기 기준값을 기준으로 구분된 범위(예: 약 2.5V 이하, 약 2.5V 내지 약 5V, 약 5V 내지 약 7.5V, 약 7.5V 초과) 내에 포함된 전하량이 인가될 때, “00”, “01”, “10”, “11”의 데이터 중 하나의 데이터가 저장될 수 있다. 일 실시예에 따르면, 전자 장치(201)의 제조 공정 상, 열이 발생하게 되면, 제 2 저장 공간(232)에 인가되는 전하량이 적어도 부분적으로 변경될 수 있고, 제 2 저장 공간(232)에 저장되는 데이터가 오류값을 가질 수 있다. According to one embodiment, the NAND storage 230 may record or store data by applying a set amount of charge to the first storage space 231 and the second storage space 232. For example, the first storage space 231 stores approximately 1 bit of data per cell, so data of “0” or “1” may be stored based on one cell. For example, the NAND storage 230 may set a reference value (e.g., charge amount, approximately 5V) in response to the first storage space 231, and when a charge amount exceeding the reference value is applied, “0” Data of “1” can be stored, and when a charge amount less than the above reference value is applied, data of “1” can be stored. According to one embodiment, when heat is generated during the manufacturing process of the electronic device 201, the amount of charge applied to the first storage space 231 may be at least partially changed (e.g., increased or decreased), and 1 Data stored in the storage space 231 may have error values. For another example, when the second storage space 232 is an MLC area, about 2 bits of data are stored in the second storage space 232 per cell, so “00” based on one cell. One of “01”, “10”, and “11” data can be stored. For example, the storage device control unit 221 may set a plurality of reference values (e.g., a plurality of charge amounts, a first reference value (about 2.5V), a second reference value (about 5V), and a third reference value in response to the second storage space 232. A reference value (about 7.5V)) can be set, and the voltage within the range divided based on the reference value (e.g., about 2.5V or less, about 2.5V to about 5V, about 5V to about 7.5V, or more than about 7.5V) When the amount of charge is applied, one of the data “00”, “01”, “10”, and “11” can be stored. According to one embodiment, when heat is generated during the manufacturing process of the electronic device 201, the amount of charge applied to the second storage space 232 may be at least partially changed, and the amount of charge applied to the second storage space 232 may be at least partially changed. The saved data may have error values.

일 실시예에 따르면, 제 2 저장 공간(232)은 상대적으로 제 1 저장 공간(231) 보다 다수 개의 기준값이 세분화되어 설정됨에 따라, 온도의 변동으로 인해, 전하량이 다르게 인가되고, 오류값이 저장될 가능성이 높을 수 있다. 예를 들어, 제 2 저장 공간(232)이 TLC 영역 또는 QLC 영역인 경우 기준값의 개수는 상대적으로 MLC 보다 더 늘어나게 되고, 기준값에 따른 범위의 크기도 상대적으로 MLC 보다 더 작아질 수 있다. 제 2 저장 공간(232)의 저장 용량이 커질수록 발열에 의한 온도 변화에 더 큰 영향을 받을 수 있다.According to one embodiment, as the second storage space 232 has a relatively more detailed reference value set than the first storage space 231, a different amount of charge is applied due to temperature fluctuations, and an error value is stored. There may be a high possibility that it will happen. For example, if the second storage space 232 is a TLC area or a QLC area, the number of reference values may be relatively larger than the MLC, and the size of the range according to the reference value may also be relatively smaller than the MLC. As the storage capacity of the second storage space 232 increases, it may be more affected by temperature changes due to heat generation.

일 실시예에 따르면, 제 2 저장 공간(232)에 저장된 제 2 데이터는 제 1 저장 공간(231)에 저장된 제 1 데이터 보다 온도 변화에 의해, 손상되거나, 또는 변형될 가능성이 상대적으로 클 수 있다. 일 실시예에 따르면, 제 1 저장 공간(231)에 저장된 제 1 데이터는 열이 발생되는 공정이 수행되더라도, 상대적으로 데이터가 손상되지 않을 수 있다.According to one embodiment, the second data stored in the second storage space 232 may be more likely to be damaged or modified by temperature changes than the first data stored in the first storage space 231. . According to one embodiment, the first data stored in the first storage space 231 may be relatively undamaged even if a process that generates heat is performed.

일 실시예에 따르면, 프로세서(210)는 외부 전자 장치(예: PC(personal computer))로부터 다운로드된 바이너리로부터 공정 프로세스 관련 데이터(예: 공정 진행 여부)를 저장 장치(220)에 제공할 수 있다. 저장 장치(220)의 저장 장치 제어부(221)는 공정 프로세스 관련 데이터를 기반으로 공정 절차를 확인할 수 있고, 공정 절차의 수행 중에 발생하는 쓰기 정보들을 제 1 저장 공간(231)에 저장할 수 있다. 예를 들어, 제 1 저장 공간(231)은 열의 발생으로 인해 데이터가 손상되지 않을 수 있다. 일 실시예에 따르면, 전자 장치(101)는 쓰기 정보들이 제1 저장 공간(231)에 저장됨으로써, 공정 절차 상, 열이 발생하는 공정이 수행되더라도, 제 1 저장 공간(231)에 저장된 쓰기 정보들의 손상을 방지할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 배드 블록의 발생을 줄일 수 있고, 데이터들에 대한 쓰기 성능이 향상될 수 있다. According to one embodiment, the processor 210 may provide process-related data (e.g., whether the process is in progress) to the storage device 220 from a binary downloaded from an external electronic device (e.g., a personal computer (PC)). . The storage device control unit 221 of the storage device 220 can check the process procedure based on process-related data and store write information generated during the performance of the process procedure in the first storage space 231. For example, data in the first storage space 231 may not be damaged due to heat generation. According to one embodiment, the electronic device 101 stores the write information in the first storage space 231, so that even if a process that generates heat is performed due to the process procedure, the write information stored in the first storage space 231 is stored in the electronic device 101. Damage can be prevented. According to one embodiment, the electronic device 101 can reduce the occurrence of bad blocks and improve writing performance of data.

일 실시예에 따르면, 프로세서(210)는 공정 절차 상, 열이 발생하는 공정이 종료된 후, 재부팅 동작에 응답하여, 저장 장치 제어부(221)에 공정 완료 정보를 전달할 수 있고, 저장 장치 제어부(221)는 공정 완료 정보의 확인에 응답하여 제 1 저장 공간(231)에 저장된 쓰기 정보들을 제 2 저장 공간(232)으로 마이그레이션(migration)하는 동작을 수행할 수 있다. According to one embodiment, the processor 210 may transmit process completion information to the storage device control unit 221 in response to a reboot operation after the process generating heat is terminated in the process procedure, and the storage device control unit ( 221) may perform an operation to migrate the write information stored in the first storage space 231 to the second storage space 232 in response to confirmation of the process completion information.

일 실시예에 따르면, 전자 장치(201)는 PSA(product state awareness) 인터페이스(interface)(예: 상태 정보)를 활용하여 데이터에 대한 마이그레이션(migration) 동작을 수행할 수 있다. 예를 들어, 전자 장치(201)의 프로세서(210)는 전자 장치에 대한 상태 정보(예: PSA 코드, PSA 데이터)를 저장 장치(220)에 전달할 수 있고, 저장 장치(220)는 자체적으로 전달 받은 상태 정보를 기반으로 데이터에 대한 마이그레이션 동작을 수행할 수 있다.According to one embodiment, the electronic device 201 may perform a migration operation on data by utilizing a product state awareness (PSA) interface (e.g., state information). For example, the processor 210 of the electronic device 201 may transmit status information (e.g., PSA code, PSA data) about the electronic device to the storage device 220, and the storage device 220 may transmit the information on its own. Migration operations for data can be performed based on the received status information.

예를 들어, 전자 장치(101)의 상태 정보(예: PSA 인터페이스)는 아래의 (표 1)에 도시된 정보들을 포함할 수 있다. For example, the status information (eg, PSA interface) of the electronic device 101 may include the information shown in Table 1 below.

설명explanation Device descriptorDevice descriptor eExtendedUFSFeatureeExtendedUFSFeature Production State Awareness
(PSA 지원 여부)
Production State Awareness
(PSA support or not)
dPSAMaxDataSizedPSAMaxDataSize PSA Maximum Data Size
(PSA 최대 데이터 사이즈)
PSA Maximum Data Size
(PSA maximum data size)
AttributeAttribute bPSAState
(PSA 상태)
bPSAState
(PSA status)
00h: OFF
01h: Pre-soldering
02h: Loading Complete
03h: Soldered
00h: OFF
01h: Pre-soldering
02h: Loading Complete
03h: Soldered
bPSADataSizebPSADataSize PSA 저장 공간의 사이즈Size of PSA storage space

(표 1)을 참조하면, 프로세서(210)는 상태 정보의 “eExtendedUFSFeature”를 기반으로 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 프로세서(210)는 상태 정보의 “dPSAMaxDataSize”를 기반으로 저장 장치(220)에서 활용 가능한 SLC(예: 제 1 저장 공간(231))의 최대 크기를 확인할 수 있다. 프로세서(210)는 상태 정보의 “bPSAState”를 기반으로 전자 장치(101)의 상태(예: 공정 프로세스의 진행 상태)를 확인할 수 있다. 예를 들어, 프로세서(210)는 호스트 컨트롤러(211)의 제어 하에, “bPSAState”를 저장 장치(220)에 제공할 수 있고, 저장 장치(220)는 “bPSAState”를 기반으로 전자 장치(101)와 관련된 공정 프로세스의 진행 상태를 확인할 수 있다. 예를 들어, “bPSAState”가 00h인 경우, PSA 인터페이스는 OFF된 상태(예: 공정 프로세스의 수행 전 상태)일 수 있고, “bPSAState”가 01h인 경우, PSA 인터페이스는 “Pre-soldering” 상태(예: 공정 프로세스가 진행 중인 상태)일 수 있다. “bPSAState”가 02h인 경우, PSA 인터페이스는 “Loading Complete” 상태(예: 공정 프로세스 상 열이 발생하는 공정이 완료된 상태)일 수 있고, “bPSAState”가 03h인 경우, PSA 인터페이스는 “Soldered” 상태(예: 마이그레이션 동작이 완료된 상태)일 수 있다. 프로세서(210)는 상태 정보의 “bPSADataSize”를 기반으로 제 1 저장 공간(231)(예: SLC)의 크기를 확인할 수 있다. 일 실시예에 따르면, 저장 장치(220)의 저장 장치 제어부(221)는 프로세서(210)로부터 제공된 상태 정보(예: PSA 인터페이스)를 확인할 수 있고, 확인된 상태 정보를 기반으로, 기 설정된 공정 프로세스를 수행할 수 있다.Referring to (Table 1), the processor 210 can check whether the storage device 220 supports the PSA interface based on “eExtendedUFSFeature” of the status information. The processor 210 may check the maximum size of the SLC (e.g., the first storage space 231) available in the storage device 220 based on “dPSAMaxDataSize” of the status information. The processor 210 may check the status of the electronic device 101 (e.g., progress status of the process) based on “bPSAState” of the status information. For example, the processor 210 may provide “bPSAState” to the storage device 220 under the control of the host controller 211, and the storage device 220 may provide the electronic device 101 based on “bPSAState”. You can check the progress of the related processes. For example, if “bPSAState” is 00h, the PSA interface may be in the OFF state (e.g., the state before performing the process), and if “bPSAState” is 01h, the PSA interface may be in the “Pre-soldering” state ( For example: a process may be in progress). If “bPSAState” is 02h, the PSA interface may be in the “Loading Complete” state (e.g., a process that generates heat during the process has been completed), and if “bPSAState” is 03h, the PSA interface may be in the “Soldered” state. (e.g., the migration operation may be completed). The processor 210 may check the size of the first storage space 231 (eg, SLC) based on “bPSADataSize” of the status information. According to one embodiment, the storage device control unit 221 of the storage device 220 may check status information (e.g., PSA interface) provided from the processor 210, and determine a preset process process based on the confirmed status information. can be performed.

일 실시예에 따르면, 전자 장치(101)는 저장 장치(220) 내에서 제 2 저장 공간(232)의 저장 영역 구분을 위해 configuration을 하는 프로비저닝(provisioning) 동작을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 크기를 설정하는 동작을 포함할 수 있다. 일 실시예에 따르면, 프로비저닝 동작은 전자 장치(101)의 설계 과정에서, 개발자에 의해 미리 설정될 수 있다. 전자 장치(101)는 프로비저닝 동작의 수행 명령에 응답하여, 기 설정된 프로비저닝 동작을 수행할 수 있다.According to one embodiment, the electronic device 101 may perform a provisioning operation to configure the storage area of the second storage space 232 within the storage device 220. For example, the provisioning operation may include setting the size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. According to one embodiment, the provisioning operation may be set in advance by the developer during the design process of the electronic device 101. The electronic device 101 may perform a preset provisioning operation in response to a command to perform a provisioning operation.

일 실시예에 따르면, 전자 장치(101)가 PSA인터페이스를 지원하는 상태에서 프로비저닝 동작을 수행하는 경우, PSA 인터페이스와 관련된 상태 정보(예: PSA 인터페이스의 PSA 관련 필드 정보, “dPSAMaxDataSize”, “bPSAState”, “bPSADataSize”)가 모두 초기화될 수 있다. 전자 장치(101)는 프로비저닝 동작에 응답하여, 저장 장치(220)에 저장된 데이터(예: 오류 데이터)를 모두 초기화할 수 있다. 예를 들어, 프로비저닝 동작을 수행할 때, “bPSAState”가 “Pre-soldering” 상태(예: 공정 프로세스가 진행 중인 상태)인 경우, 저장 장치(220)는 제 1 저장 공간(231)에 저장된 데이터를 확인할 수 있고, 상기 확인된 데이터를 “invalidate” 데이터로 설정할 수 있다. 예를 들어, “invalidate” 데이터로 설정된 데이터는 마이그레이션 동작(예: 제 1 저장 공간(231)에서 제 2 저장 공간(232)으로의 마이그레이션)의 수행 시, 마이그레이션 대상에서 제외될 수 있다. 프로비저닝 동작 이후, 제 1 저장 공간(231)을 초과하는 쓰기 데이터가 발생하는 경우, 전자 장치(101)는 초과된 쓰기 데이터를 제 2 저장 공간(232)에 저장하도록 설정될 수 있다. 전자 장치(101)는 저장 장치(220)의 전체 용량(예: NAND 저장부(230))을 기반으로, 제 1 저장 공간(231)의 크기가 최소 1/3에 해당하도록, 상기 제 1 저장 공간(231)의 크기가 설정될 수 있다. 예를 들어, 제 1 저장 공간(231)으로 얼마의 크기가 사용되더라도, 저장 장치(220)의 전체 용량의 크기에는 변화가 없을 수 있다. 전자 장치(101)는 제 1 저장 공간(231)(예: SLC)과 제 2 저장 공간(232)(예: TLC)의 총 사이즈(예: SLC 크기*3+TLC 크기)를 초과하는 크기의 쓰기 요청 신호가 발생하는 경우, 상기 쓰기 요청 신호를 에러(error) 신호로 처리하도록 설정될 수 있다. According to one embodiment, when the electronic device 101 performs a provisioning operation while supporting the PSA interface, state information related to the PSA interface (e.g., PSA-related field information of the PSA interface, “dPSAMaxDataSize”, “bPSAState”) , “bPSADataSize”) can all be initialized. The electronic device 101 may initialize all data (eg, error data) stored in the storage device 220 in response to the provisioning operation. For example, when performing a provisioning operation, if “bPSAState” is in the “Pre-soldering” state (e.g., a process in progress), the storage device 220 stores the data stored in the first storage space 231. can be confirmed, and the confirmed data can be set as “invalidate” data. For example, data set as “invalidate” data may be excluded from the migration target when performing a migration operation (e.g., migration from the first storage space 231 to the second storage space 232). After the provisioning operation, when write data exceeding the first storage space 231 occurs, the electronic device 101 may be set to store the excess write data in the second storage space 232. The electronic device 101 stores the first storage space so that the size of the first storage space 231 corresponds to at least 1/3 based on the total capacity of the storage device 220 (e.g., NAND storage unit 230). The size of the space 231 can be set. For example, no matter what size is used as the first storage space 231, there may be no change in the size of the total capacity of the storage device 220. The electronic device 101 has a size exceeding the total size (e.g., SLC size*3+TLC size) of the first storage space 231 (e.g., SLC) and the second storage space 232 (e.g., TLC). When a write request signal occurs, the write request signal may be set to be processed as an error signal.

일 실시예에 따르면, 전자 장치(101)는 동일 주소에 “overwrite” 기능을 허용할 수 있고, “overwrite”된 용량만큼 “bPSADataSize”를 감소시킬 수 있고, “overwrite”된 데이터를 “invalidate” 데이터로 설정할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 마이그레이션 동작의 수행 시, sequential write 성능이 최소 약 60MB/s를 보장하도록 설정될 수 있다. 일 실시예에 따르면, 쓰기 성능은 특정한 속도로 한정되지 않으며, 마이그레이션 동작 시, 전자 장치(101)의 성능에 영향을 주지 않는 수준에서 결정될 수 있다. 일 실시예에 따르면, 전자 장치(101)의 프로세서(210)는 프로비저닝 명령을 저장 장치(220)에 전달할 수 있고, 저장 장치(220)는 상기 전달 받은 프로비저닝 명령에 응답하여, 기 설정된 프로비저닝 동작을 기반으로, 저장 장치(220)의 설정(예: 제 2 저장 공간(232)에 대한 설정)을 적어도 부분적으로 변경할 수 있다.According to one embodiment, the electronic device 101 may allow an “overwrite” function to the same address, reduce “bPSADataSize” by the “overwritten” capacity, and “invalidate” the “overwritten” data as “invalidate” data. It can be set to . According to one embodiment, the electronic device 101 may be set to ensure sequential write performance of at least about 60 MB/s when performing a migration operation. According to one embodiment, writing performance is not limited to a specific speed, and may be determined at a level that does not affect the performance of the electronic device 101 during a migration operation. According to one embodiment, the processor 210 of the electronic device 101 may transmit a provisioning command to the storage device 220, and the storage device 220 may perform a preset provisioning operation in response to the received provisioning command. Based on this, the settings of the storage device 220 (eg, settings for the second storage space 232) may be changed at least partially.

일 실시예에 따르면, 전자 장치(101)의 프로세서(210)는 저장 장치(220)에 제조 공정과 관련된 정보(예: 공정 바이너리)를 제공할 수 있다. 저장 장치(220)의 제어부(예: 저장 장치 제어부(221))는 열이 발생되는 공정 프로세스가 진행 중일 때(예: 상태 정보가 “Pre-soldering” 상태일 때), 제 1 저장 공간(231)을 기반으로 데이터를 저장할 수 있다. 일 실시예에 따르면, 열이 발생되는 공정 프로세스가 완료된 후, 전자 장치(101)가 재부팅되는 경우(예: 상태 정보가 “Loading Complete” 상태일 때), 저장 장치 제어부(221)는 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동시키는 마이그레이션 동작을 수행할 수 있다.According to one embodiment, the processor 210 of the electronic device 101 may provide information related to the manufacturing process (eg, process binary) to the storage device 220. When a process that generates heat is in progress (e.g., when the status information is in the “Pre-soldering” state), the control unit (e.g., the storage device control unit 221) of the storage device 220 controls the first storage space 231. ), data can be stored based on . According to one embodiment, when the electronic device 101 is rebooted after a process that generates heat is completed (e.g., when the status information is in the “Loading Complete” state), the storage device control unit 221 stores the first storage device. A migration operation may be performed to move data stored in the space 231 to the second storage space 232.

일 실시예에 따르면, 저장 장치(예: 도 2의 저장 장치(220))에 있어서, 제 1 비트의 데이터가 저장되는 제 1 저장 공간(예: 도 2의 제 1 저장 공간(231), SLC) 및 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(예: 도 2의 제 2 저장 공간(232), MLC/TLC/QLC)을 포함하는 제 1 메모리(예: NAND storage)(예: 도 2의 NAND 저장부(230)), 상태 정보가 저장되는 제 2 메모리(예: 도 2의 DRAM(205)), 및 제 1 메모리(230) 및 제 2 메모리에 작동적으로 연결된 메모리 컨트롤러(예: 도 2의 저장 장치 제어부(221))를 포함할 수 있다. 메모리 컨트롤러(221)는 제 2 메모리(205)에 저장된 상태 정보를 기반으로, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 메모리 컨트롤러(221)는 PSA 인터페이스의 지원 확인에 응답하여, 상태 정보를 제 1 상태(예: pre-soldering)로 변경할 수 있다. 메모리 컨트롤러(221)는 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장할 수 있다. 메모리 컨트롤러(221)는 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경할 수 있다. 메모리 컨트롤러(221)는 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션할 수 있다.According to one embodiment, in a storage device (e.g., the storage device 220 of FIG. 2), a first storage space (e.g., the first storage space 231 of FIG. 2, SLC) where the first bit of data is stored. ) and a first memory (e.g., NAND) including a second storage space (e.g., the second storage space 232 in FIG. 2, MLC/TLC/QLC) in which data of more than 2 bits, rather than the first bit, is stored. storage) (e.g., NAND storage unit 230 in FIG. 2), a second memory in which state information is stored (e.g., DRAM 205 in FIG. 2), and an operational memory in the first memory 230 and the second memory. It may include a memory controller (eg, the storage device control unit 221 of FIG. 2) connected to . The memory controller 221 may check whether the storage device 220 supports the PSA interface based on the status information stored in the second memory 205. The memory controller 221 may change the state information to the first state (eg, pre-soldering) in response to confirmation of support of the PSA interface. The memory controller 221 may store data downloaded from an external electronic device in the first storage space 231 of the first memory 230 in response to the status information being in the first state. The memory controller 221 may change the state information to the second state in response to completion of the process corresponding to the downloaded data. The memory controller 221 may migrate data stored in the first storage space 231 to the second storage space 232 in response to the state information being in the second state.

일 실시예에 따르면, 메모리 컨트롤러(221)는 제 1 메모리(230)의 전체 저장 공간 중에서 제 1 저장 공간(231)이 차지하는 비율을 확인할 수 있다. 메모리 컨트롤러(221)는 확인된 비율이 제 1 조건을 충족하는 경우, 제 1 저장 공간(231)의 사이즈를 확인할 수 있다. 메모리 컨트롤러(221)는 상태 정보가 제 1 상태인 것에 응답하여, 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장할 수 있다.According to one embodiment, the memory controller 221 may check the ratio occupied by the first storage space 231 among the total storage space of the first memory 230. If the confirmed ratio satisfies the first condition, the memory controller 221 may check the size of the first storage space 231. The memory controller 221 may store the downloaded data in the first storage space 231 of the first memory 230 in response to the status information being in the first state.

일 실시예에 따르면, 제 1 조건은 제 1 메모리(230)의 전체 저장 공간 중에서 제 1 저장 공간(231)이 차지하는 비율이 약 1/3을 초과하는 조건을 포함할 수 있다. 일 실시예에 따르면, 메모리 컨트롤러(221)는 제 1 조건을 충족하는 경우, 제 1 저장 공간(231)의 사이즈가 약 20GB 이상으로 설정되었는지 여부를 확인할 수 있다.According to one embodiment, the first condition may include a condition in which the proportion of the first storage space 231 of the total storage space of the first memory 230 exceeds about 1/3. According to one embodiment, when the first condition is met, the memory controller 221 may check whether the size of the first storage space 231 is set to about 20 GB or more.

일 실시예에 따르면, 상태 정보는 PSA 인터페이스의 지원 여부를 나타내는 제 1 코드 정보, 제 1 저장 공간(231)의 최대 사이즈를 나타내는 제 2 코드 정보, 전자 장치(101)의 상태를 나타내는 제 3 코드 정보, 및 제 1 저장 공간(231)의 사이즈를 나타내는 제 4 코드 정보 중 적어도 하나를 포함할 수 있다.According to one embodiment, the status information includes first code information indicating whether the PSA interface is supported, second code information indicating the maximum size of the first storage space 231, and third code indicating the status of the electronic device 101. It may include at least one of information and fourth code information indicating the size of the first storage space 231.

일 실시예에 따르면, 메모리 컨트롤러(221)는 공정 바이너리에 대응되는 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장할 수 있다. 메모리 컨트롤러(221)는 공정 바이너리를 기반으로 공정 프로세스가 진행되는 동안, 발생하는 적어도 하나의 데이터를 제 1 저장 공간(231)에 저장할 수 있다.According to one embodiment, the memory controller 221 may store data corresponding to the process binary in the first storage space 231 of the first memory 230. The memory controller 221 may store at least one data generated while a process is in progress based on the process binary in the first storage space 231.

일 실시예에 따르면, 메모리 컨트롤러(221)는 적어도 하나의 데이터를 제 1 저장 공간(231)에 저장할 때, 제 1 저장 공간(231)이 초과되는 상황을 확인할 수 있다. 메모리 컨트롤러(221)는 제 1 저장 공간(231)이 초과되는 상황에 응답하여, 적어도 하나의 데이터를 제 2 저장 공간(232)에 저장할 수 있다.According to one embodiment, when storing at least one data in the first storage space 231, the memory controller 221 may check a situation in which the first storage space 231 is exceeded. The memory controller 221 may store at least one data in the second storage space 232 in response to a situation in which the first storage space 231 is exceeded.

일 실시예에 따르면, 메모리 컨트롤러(221)는 제 1 저장 공간(231)에 저장된 데이터가 제 2 저장 공간(232)으로 이동되는 마이그레이션 동작이 완료되면, 상태 정보를 제 2 상태에서 제 3 상태로 변경할 수 있다.According to one embodiment, when the migration operation in which data stored in the first storage space 231 is moved to the second storage space 232 is completed, the memory controller 221 changes the state information from the second state to the third state. You can change it.

일 실시예에 따르면, 메모리 컨트롤러(221)는 상태 정보가 제 1 상태일 때, 제 1 저장 공간(231)에 기 저장된 데이터를 확인할 수 있다. 메모리 컨트롤러(221)는 기 저장된 데이터를 마이그레이션 제외 데이터로 설정할 수 있다. 메모리 컨트롤러(221)는 마이그레이션 동작이 수행될 때, 제 1 저장 공간(231)에 저장된 데이터 중에서 마이그레이션 제외 데이터가 아닌, 나머지 데이터를 마이그레이션할 수 있다. According to one embodiment, the memory controller 221 may check data previously stored in the first storage space 231 when the state information is in the first state. The memory controller 221 may set pre-stored data as data excluded from migration. When a migration operation is performed, the memory controller 221 may migrate remaining data other than data excluded from migration among the data stored in the first storage space 231.

일 실시예에 따르면, 공정 프로세스는 열이 발생하는 테스트 및 공정 단계를 포함할 수 있다. According to one embodiment, the manufacturing process may include testing and processing steps that generate heat.

일 실시예에 따르면, 메모리 컨트롤러(221)는 라이트 부스터(write booster) 기능의 지원 여부를 확인할 수 있다. 메모리 컨트롤러(221)는 라이트 부스터 기능을 지원하는 경우, 라이트 부스터 기능을 활성화할 수 있다. 메모리 컨트롤러(221)는 활성화된 라이트 부스터 기능을 기반으로 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장할 수 있다.According to one embodiment, the memory controller 221 may check whether the write booster function is supported. If the memory controller 221 supports the light booster function, it can activate the light booster function. The memory controller 221 may store data downloaded from an external electronic device in the first storage space 231 of the first memory 230 based on the activated light booster function.

일 실시예에 따르면, 메모리 컨트롤러(221)는 라이트 부스터 기능을 지원하는 경우, 라이트 부스터 기능과 관련된 라이트 부스터 플러시 기능을 비활성화할 수 있다. 메모리 컨트롤러(221)는 비활성화된 라이트 부스터 플러시 기능을 기반으로 마이그레이션 동작을 중단할 수 있다.According to one embodiment, when supporting the light booster function, the memory controller 221 may disable the light booster flush function related to the light booster function. The memory controller 221 may stop the migration operation based on the disabled light booster flush function.

일 실시예에 따르면, 메모리 컨트롤러(221)는 재부팅 동작에 따른 운영 체제의 실행에 응답하여, 비활성화된 라이트 부스터 플러시 기능을 활성화할 수 있다. 메모리 컨트롤러(221)는 활성화된 라이트 부스터 플러시 기능을 기반으로 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션할 수 있다.According to one embodiment, the memory controller 221 may activate the disabled light booster flush function in response to execution of the operating system according to the reboot operation. The memory controller 221 may migrate data stored in the first storage space 231 to the second storage space 232 based on the activated light booster flush function.

일 실시예에 따르면, 메모리 컨트롤러(221)는 전자 장치(101)의 부트로더 실행에 응답하여, 라이트 부스터 기능을 활성화할 수 있다. 메모리 컨트롤러(221)는 전자 장치(101)의 운영체제 실행에 응답하여, 라이트 부스터 기능을 비활성화할 수 있다.According to one embodiment, the memory controller 221 may activate the light booster function in response to execution of the bootloader of the electronic device 101. The memory controller 221 may disable the light booster function in response to execution of the operating system of the electronic device 101.

일 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101))에 있어서, 통신 회로(예; 도 1의 통신 모듈(190)), 상태 정보가 저장되는 제 1 메모리(예: 도 2의 DRAM(205)), 제 1 비트의 데이터가 저장된 제 1 저장 공간(예: 도 2의 제 1 저장 공간(231), SLC) 및 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(예: 도 2의 제 2 저장 공간(232), MLC/TLC/QLC)을 포함하는 제 2 메모리(예: NAND storage)(예: 도 2의 NAND 저장부(230))와 상기 제 2 메모리(230)에 작동적으로 연결된 메모리 컨트롤러(예: 도 2의 메모리 컨트롤러(211))를 포함하는 저장 장치(예: 도 2의 저장 장치(220)) 및 통신 회로(190), 제 1 메모리(205), 및 저장 장치(220)에 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120))를 포함할 수 있다. 프로세서(120)는 제 1 메모리(205)에 저장된 상태 정보를 기반으로 저장 장치(220)가 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 프로세서(120)는 저장 장치(220)가 PSA 인터페이스를 지원하는 것에 응답하여, 상태 정보를 제 1 상태로 변경할 수 있다. 프로세서(120)는 상태 정보가 제 1 상태인 것에 응답하여, 통신 회로(190)를 통해 연결된 외부 전자 장치로부터 다운로드된 데이터를 저장 장치(220)에 전달할 수 있다. 프로세서(120)는 다운로드된 데이터가 저장 장치(220)의 제 1 저장 공간(231)에 저장된 상태에서, 다운로드된 데이터에 대응되는 공정 프로세스가 완료되었는지 여부를 확인할 수 있다. 프로세서(120)는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경할 수 있다. 프로세서(120)는 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터가 저장 장치(220)의 제 2 저장 공간(232)으로 마이그레이션되도록 저장 장치(220)의 메모리 컨트롤러(221)를 제어할 수 있다.According to one embodiment, in an electronic device (e.g., electronic device 101 of FIG. 1), a communication circuit (e.g., communication module 190 of FIG. 1) and a first memory (e.g., FIG. 2 DRAM 205), a first storage space in which the first bit of data is stored (e.g., the first storage space 231 in FIG. 2, SLC), and a second storage space in which not the first bit but the second bit or more of data is stored. A second memory (e.g., NAND storage) including a second storage space (e.g., second storage space 232 in FIG. 2, MLC/TLC/QLC) (e.g., NAND storage unit 230 in FIG. 2) and a storage device (e.g., storage device 220 of FIG. 2) and a communication circuit 190 including a memory controller (e.g., memory controller 211 of FIG. 2) operatively connected to the second memory 230; It may include a processor (eg, processor 120 of FIG. 1) operatively connected to the first memory 205 and the storage device 220. The processor 120 may check whether the storage device 220 supports the PSA interface based on the status information stored in the first memory 205. The processor 120 may change the state information to the first state in response to the storage device 220 supporting the PSA interface. The processor 120 may transmit data downloaded from an external electronic device connected through the communication circuit 190 to the storage device 220 in response to the status information being in the first state. The processor 120 may check whether the process corresponding to the downloaded data has been completed while the downloaded data is stored in the first storage space 231 of the storage device 220. The processor 120 may change the state information to the second state in response to completion of the process process. In response to the state information being in the second state, the processor 120 configures the memory of the storage device 220 to migrate the data stored in the first storage space 231 to the second storage space 232 of the storage device 220. The controller 221 can be controlled.

도 3은 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 1 흐름도이다.FIG. 3 is a first flowchart illustrating a method of migrating data based on status information of an electronic device according to an embodiment of the present disclosure.

이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel.

도 3의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 3 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101.

일 실시예에 따르면, 전자 장치(101)는 연결 단자(예: 도 1의 연결 단자(178), USB 인터페이스)를 통해, 외부 전자 장치(예: 도 1의 전자 장치(102, 104), PC(personal computer))와 작동적으로 연결된 상태에서, 외부 전자 장치로부터 소프트웨어 바이너리(SW binary)를 획득할 수 있다. 예를 들어, 소프트웨어 바이너리는 전자 장치(101)의 동작(예: 공정 프로세스)을 위한 데이터(예: 공정 바이너리)를 포함할 수 있다. 전자 장치(101)는 획득된 소프트웨어 바이너리를 DRAM(예: 도 2의 DRAM(205))에 저장할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 저장 장치(예: 도 2의 저장 장치(220))가 내부 공간에 배치된 상태(예: SMD(surface mount device))일 수 있다. 전자 장치(101)는 다운로드된 소프트웨어 바이너리를 기반으로 전자 장치(101) 및 저장 장치(220)와 관련된 동작을 수행할 수 있다.According to one embodiment, the electronic device 101 is connected to an external electronic device (e.g., the electronic devices 102 and 104 of FIG. 1, a PC) through a connection terminal (e.g., the connection terminal 178 of FIG. 1, a USB interface). While operationally connected to a personal computer, a software binary (SW binary) can be obtained from an external electronic device. For example, the software binary may include data (eg, process binary) for the operation (eg, process) of the electronic device 101. The electronic device 101 may store the acquired software binary in DRAM (eg, DRAM 205 in FIG. 2). According to one embodiment, the electronic device 101 may have a storage device (e.g., the storage device 220 of FIG. 2) disposed in an internal space (e.g., a surface mount device (SMD)). The electronic device 101 may perform operations related to the electronic device 101 and the storage device 220 based on the downloaded software binary.

일 실시예에 따르면, 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120), 도 2의 프로세서(210))는 저장 장치(220)와 관련된 상태 정보(예: PSA 인터페이스)를 확인할 수 있고, 확인된 상태 정보를 기반으로 저장 장치(220)가 PSA 인터페이스를 지원하는지 여부를 판단할 수 있다. 예를 들어, 프로세서(210)는 상태 정보에 포함된 “eExtendedUFSFeature”(예: PSA 코드)를 기반으로, 저장 장치(220)가 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 만약, 저장 장치(220)가 PSA 인터페이스를 지원하는 경우, 프로세서(210)는 상태 정보에 기반한 공정 프로세스를 수행할 수 있다. 프로세서(210)는 상태 정보에 포함된 “bPSAState”를 “Pre-soldering”(예: 전자 장치(101)가 공정 프로세스를 진행 중임을 나타내는 PSA 코드)으로 변경하여, 저장 장치(220)에 전달할 수 있다.According to one embodiment, the processor of the electronic device 101 (e.g., processor 120 in FIG. 1, processor 210 in FIG. 2) checks status information (e.g., PSA interface) related to the storage device 220. It is possible to determine whether the storage device 220 supports the PSA interface based on the confirmed status information. For example, the processor 210 may check whether the storage device 220 supports the PSA interface based on “eExtendedUFSFeature” (e.g., PSA code) included in the status information. If the storage device 220 supports the PSA interface, the processor 210 can perform a process based on status information. The processor 210 can change “bPSAState” included in the state information to “Pre-soldering” (e.g., a PSA code indicating that the electronic device 101 is in progress) and transmit it to the storage device 220. there is.

동작 301에서 저장 장치(220)는 전자 장치(101)로부터 제공된 상태 정보를 기반으로, 상태 정보(예: “bPSAState” 정보)가 제 1 상태(예: “Pre-soldering”)인지 여부를 확인할 수 있다. 예를 들어, 저장 장치(220)의 저장 장치 제어부(예: 도 2의 저장 장치 제어부(221))는 PSA 인터페이스에 기반한 공정 프로세스를 진행하는 중, 상태 정보에 포함된 “bPSAState”가 “Pre-soldering”에 대응되는 코드인지 여부를 확인할 수 있다.In operation 301, the storage device 220 can determine whether the state information (e.g., “bPSAState” information) is in the first state (e.g., “Pre-soldering”) based on the state information provided from the electronic device 101. there is. For example, while the storage device control unit of the storage device 220 (e.g., the storage device control unit 221 of FIG. 2) is performing a process based on the PSA interface, “bPSAState” included in the state information is “Pre- You can check whether it is a code corresponding to “soldering”.

동작 303에서 저장 장치 제어부(221)는 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 저장 공간(예: 도 2의 제 1 저장 공간(SLC)(231))에 저장할 수 있다. 예를 들어, 외부 전자 장치(예: 도 1의 전자 장치(102. 104))로부터 다운로드된 데이터(예: 소프트웨어 바이너리)는 전자 장치(101)의 DRAM(205)에 저장된 상태일 수 있다. 저장 장치 제어부(221)는 DRAM(205)에 저장된 데이터를 제 1 저장 공간(231)으로 이동시킬 수 있다. 예를 들어, 해당 데이터(예: 공정 바이너리(예: 도 2의 제 1 바이너리(212)), 커널 바이너리(예: 도 2의 제 3 바이너리(214)))는 공정 프로세스를 수행할 때, 활용될 수 있다. 예를 들어, 공정 프로세스(예: 공정 단계)는 다양한 구성 부품들이 내부 공간에 배치되고, 구성 부품들과 관련된 다양한 테스트를 진행하는 동작을 포함할 수 있다. 공정 프로세스는 구성 부품들과 관련하여 불량이 확인될 경우, 수행되는 재 작업을 포함할 수 있고, 열이 발생하는 작업을 포함할 수 있다. 일 실시예에 따르면, 저장 장치 제어부(221)는 공정 프로세스가 진행되는 동안, 공정 프로세스와 관련된 다양한 데이터를 제 1 저장 공간(231)에 저장할 수 있다. 제 1 저장 공간(231)은 공정 프로세스에서 열이 발생하는 작업이 수행되더라도, 저장된 데이터의 손상 및 변형이 방지되는 저장 공간일 수 있다. 저장 장치 제어부(221)는 제 1 저장 공간(231)을 초과하는 데이터의 쓰기 요청이 확인될 경우, 상기 데이터를 제 2 저장 공간(232)에 저장할 수 있다. 동작 303과 동작 305 사이에서 프로세서(210) 및 저장 장치(220)는 공정 프로세스를 수행할 수 있다.In operation 303, in response to the status information being in the first state, the storage device control unit 221 stores data downloaded from the external electronic device in the first storage space (e.g., the first storage space (SLC) 231 in FIG. 2). It can be saved in . For example, data (eg, software binary) downloaded from an external electronic device (eg, electronic devices 102 and 104 of FIG. 1) may be stored in the DRAM 205 of the electronic device 101. The storage device control unit 221 may move data stored in the DRAM 205 to the first storage space 231. For example, the corresponding data (e.g., process binary (e.g., first binary 212 in FIG. 2), kernel binary (e.g., third binary 214 in FIG. 2)) is utilized when performing a process process. It can be. For example, a process process (e.g., a process step) may include the operation of arranging various component parts in an internal space and performing various tests related to the component parts. The manufacturing process may include rework performed when defects are identified with component parts and may include operations that generate heat. According to one embodiment, the storage device control unit 221 may store various data related to the process in the first storage space 231 while the process is in progress. The first storage space 231 may be a storage space in which damage or modification of stored data is prevented even if heat-generating work is performed during the process. When a request to write data exceeding the first storage space 231 is confirmed, the storage device control unit 221 may store the data in the second storage space 232. Between operations 303 and 305, the processor 210 and the storage device 220 may perform a process.

동작 305에서 전자 장치(101)는 공정 단계(예: 공정 프로세스)의 진행이 완료된 후, 재부팅 동작을 수행할 수 있다. 예를 들어, 공정 프로세스는 설정된 테스트 및 작업이 완료되는 경우, 유저 바이너리(user binary)를 저장 장치(220)에 저장하는 동작을 포함할 수 있다. 예를 들어, 저장 장치 제어부(221)는 유저 바이너리의 데이터 용량이 제 1 저장 공간(231)을 초과하게 되면, 상기 유저 바이너리를 제 2 저장 공간(232)에 저장할 수 있다. 동작 305에서 유저 바이너리가 저장 장치(220)에 저장되는 동작이 확인되면, 전자 장치(101)는 재부팅을 수행할 수 있다. 공정 프로세스는 저장 장치(220)에 유저 바이너리가 저장되는 동작에 응답하여, 재부팅을 수행하도록 설정될 수 있다.In operation 305, the electronic device 101 may perform a reboot operation after the process step (eg, process process) is completed. For example, the process may include storing a user binary in the storage device 220 when set tests and tasks are completed. For example, when the data capacity of the user binary exceeds the first storage space 231, the storage device control unit 221 may store the user binary in the second storage space 232. If the operation of storing the user binary in the storage device 220 is confirmed in operation 305, the electronic device 101 may reboot. The processing process may be set to perform a reboot in response to the operation of storing the user binary in the storage device 220.

동작 307에서 전자 장치(101)는 재부팅 동작에 응답하여, 부트로더(bootloader)(예: 도 2의 제 2 바이너리(213))를 수행할 수 있다. 예를 들어, 프로세서(210)는 제 2 바이너리(213)를 기반으로 부트로더를 수행할 수 있다.In operation 307, the electronic device 101 may execute a bootloader (eg, the second binary 213 in FIG. 2) in response to the reboot operation. For example, the processor 210 may execute a bootloader based on the second binary 213.

동작 309에서 프로세서(210)는 부트로더에 의해 확인된, 전자 장치(101)의 상태 정보가 제 1 상태(예: “Pre-soldering”)인지 여부를 확인할 수 있고, 상태 정보가 제 1 상태인 것에 응답하여, 상태 정보를 제 1 상태(예: “Pre-soldering”, 공정 프로세스가 진행 중인 상태)에서 제 2 상태(예: “Loading Complete”, 공정 프로세스 상 열이 발생하는 공정이 완료된 상태)로 변경할 수 있다. 프로세서(210)는 제 2 상태(예: “Loading Complete”)로 변경된 상태 정보를 저장 장치(220)에 전달할 수 있다.In operation 309, the processor 210 may check whether the state information of the electronic device 101, confirmed by the bootloader, is in the first state (e.g., “Pre-soldering”), and determine whether the state information is in the first state. In response to this, the status information is changed from a first state (e.g., “Pre-soldering”, a state in which the process is in progress) to a second state (e.g., “Loading Complete”, a state in which a process that generates heat during the process has been completed). It can be changed to . The processor 210 may transmit state information changed to the second state (e.g., “Loading Complete”) to the storage device 220.

도 3을 참조하면, 동작 301 내지 동작 303은 저장 장치 제어부(221)에 의해 수행될 수 있고, 동작 305 내지 동작 309는 전자 장치(101)의 프로세서(210)에 의해 수행될 수 있다.Referring to FIG. 3 , operations 301 to 303 may be performed by the storage device controller 221, and operations 305 to 309 may be performed by the processor 210 of the electronic device 101.

동작 311에서 저장 장치 제어부(221)는 전자 장치(101)로부터 제공된 상태 정보를 기반으로, 상태 정보(예: “bPSAState” 정보)가 제 2 상태(예: “Loading Complete”)인지 여부를 확인할 수 있다. 예를 들어, 상태 정보가 제 2 상태라는 것은 공정 프로세스 상 열이 발생하는 공정이 완료되었음을 의미할 수 있다.In operation 311, the storage device control unit 221 may check whether the state information (e.g., “bPSAState” information) is in the second state (e.g., “Loading Complete”) based on the state information provided from the electronic device 101. there is. For example, the fact that the status information is in the second state may mean that a process that generates heat during the process has been completed.

동작 313에서 상태 정보가 제 2 상태인 것에 응답하여, 저장 장치 제어부(221)는 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동하는 마이그레이션 동작을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 마이그레이션 동작이 수행되는 중에도 쓰기 요청이 발생할 경우, 쓰기 요청에 따른 쓰기 성능을 최소 약 60MB/s 이상으로 설정할 수 있다. 일 실시예에 따르면, 쓰기 성능은 특정한 속도로 한정되지 않으며, 마이그레이션 동작 시, 전자 장치(101)의 성능에 영향을 주지 않는 수준에서 결정될 수 있다. 저장 장치 제어부(221)는 마이그레이션 동작이 완료되면, 상태 정보를 제 2 상태(예: “Loading Complete”)에서 제 3 상태(“Soldered”)로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 저장 장치(220)의 상태 정보(예: “Soldered”로 변경된 상태)를 확인할 수 있고, 마이그레이션 동작이 완료되었음을 판단할 수 있다.In response to the state information being in the second state in operation 313, the storage device control unit 221 may perform a migration operation to move the data stored in the first storage space 231 to the second storage space 232. According to one embodiment, if a write request occurs even while a migration operation is being performed, the electronic device 101 may set the write performance according to the write request to at least about 60 MB/s. According to one embodiment, writing performance is not limited to a specific speed, and may be determined at a level that does not affect the performance of the electronic device 101 during a migration operation. When the migration operation is completed, the storage device control unit 221 may change the state information from the second state (e.g., “Loading Complete”) to the third state (“Soldered”). According to one embodiment, the electronic device 101 may check the status information (e.g., status changed to “Soldered”) of the storage device 220 and determine that the migration operation has been completed.

일 실시예에 따르면, 전자 장치(101)는 저장 장치(220)와 관련된 상태 정보(예: PSA 인터페이스, PSA 인터페이스와 관련된 코드 정보)를 확인할 수 있고, 상기 확인된 상태 정보를 기반으로 저장 장치(220)가 PSA 인터페이스를 지원하는지 여부를 판단할 수 있다. 저장 장치(220)가 PSA 인터페이스를 지원하는 경우, 전자 장치(101)는 도 3의 제 1 흐름도를 기반으로 공정 프로세스를 수행할 수 있다. 일 실시예에 따르면, 공정 프로세스 상, 열이 발생하는 작업이 수행되더라도, 전자 장치(101)는 제 1 저장 공간(231)을 기반으로 데이터를 저장하게 되므로, 상기 데이터의 손상 및 변형을 방지할 수 있다.According to one embodiment, the electronic device 101 may check status information (e.g., PSA interface, code information related to the PSA interface) related to the storage device 220, and based on the confirmed status information, the storage device ( 220) can determine whether it supports the PSA interface. If the storage device 220 supports the PSA interface, the electronic device 101 may perform a process based on the first flowchart of FIG. 3. According to one embodiment, even if an operation that generates heat is performed during the process, the electronic device 101 stores data based on the first storage space 231, thereby preventing damage and modification of the data. You can.

도 4는 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 2 흐름도이다.FIG. 4 is a second flowchart illustrating a method of migrating data based on status information of an electronic device according to an embodiment of the present disclosure.

이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel.

도 4의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 4 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101.

동작 401에서 전자 장치(101)는 프로세서(예: 도 1의 프로세서(120), 도 2의 프로세서(210), SMD(surface mount device)(예: AP(application processor))의 SMD)가 완료된 상태일 수 있다. 예를 들어, 전자 장치(101)의 내부 공간에 프로세서(210)의 구성부가 배치되는 공정이 완료된 상태일 수 있다. 프로세서(210)의 SMD가 완료되면, 전자 장치(101)는 eDL(emergency download) 모드로 진입할 수 있다. 예를 들어, eDL 모드는 저장 장치(220)에 어떠한 데이터도 저장되지 않은 상태(예: 초기화 상태) 또는, 전자 장치(101)의 연결 단자(예: 도 1의 연결 단자(178), USB 인터페이스)를 통해 연결된 외부 전자 장치(예: USB 장치)가 부트 장치로 설정된 상태일 때, 진입될 수 있다. 일 실시예에 따르면, 프로세서(210)는 eDL 모드에서 상기 연결 단자를 통해 연결된 외부 전자 장치(예: 도 1의 전자 장치(102, 104))로부터 소프트웨어 바이너리(SW binary)를 다운로드할 수 있고, 상기 소프트웨어 바이너리를 DRAM(예: 도 2의 DRAM(205))의 제 1 바이너리(예: 도 2의 제 1 바이너리(212))에 저장할 수 있다. 프로세서(210)는 제 1 바이너리(212)를 기반으로 전자 장치(101)를 적어도 부분적으로 제어할 수 있다.In operation 401, the electronic device 101 is in a state in which the processor (e.g., the processor 120 of FIG. 1, the processor 210 of FIG. 2, and the SMD of a surface mount device (SMD) (e.g., an application processor (AP)) is completed. It can be. For example, the process of placing the components of the processor 210 in the internal space of the electronic device 101 may have been completed. When the SMD of the processor 210 is completed, the electronic device 101 may enter an emergency download (eDL) mode. For example, the eDL mode is a state in which no data is stored in the storage device 220 (e.g., initialization state) or a connection terminal of the electronic device 101 (e.g., the connection terminal 178 of FIG. 1, USB interface). ) can be entered when an external electronic device (e.g., USB device) connected via ) is set as a boot device. According to one embodiment, the processor 210 may download a software binary (SW binary) from an external electronic device (e.g., the electronic devices 102 and 104 of FIG. 1) connected through the connection terminal in eDL mode, The software binary may be stored in a first binary (e.g., first binary 212 of FIG. 2) of DRAM (e.g., DRAM 205 of FIG. 2). The processor 210 may at least partially control the electronic device 101 based on the first binary 212.

동작 403에서 프로세서(210)는 상태 정보(예: PSA 인터페이스와 관련된 정보(예: PSA 코드 정보))를 초기화할 수 있다. 일 실시예에 따르면, 호스트 컨트롤러(host controller)(예: 도 2의 호스트 컨트롤러(211))는 제 1 바이너리(212)를 기반으로 저장 장치(220)를 초기화시킬 수 있고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 SMD 동작으로 인해 발생된 열 손상 데이터를 초기화시킬 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 프로비저닝 동작이 완료된 후, 호스트 컨트롤러(211)는 상태 정보를 기반으로, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부(예: 상태 정보에 포함된 “eExtendedUFSFeature” 정보) 및 제 1 저장 공간(231)의 최대 크기(예: 상태 정보에 포함된 “dPSAMaxDataSize” 정보)가 NAND 저장부(230)의 약 1/3 이상을 차지하도록 설정되었는지 여부를 확인할 수 있다.In operation 403, the processor 210 may initialize status information (e.g., information related to the PSA interface (e.g., PSA code information)). According to one embodiment, a host controller (e.g., host controller 211 in FIG. 2) may initialize the storage device 220 based on the first binary 212 and perform a provisioning operation. (Example: LU (logical unit) configuration operation) can be performed. For example, a provisioning operation may reset thermal damage data caused by SMD operation. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. After the provisioning operation is completed, the host controller 211 determines whether the storage device 220 supports the PSA interface (e.g., “eExtendedUFSFeature” information included in the status information) and the first storage space 231 based on the status information. ) (e.g., “dPSAMaxDataSize” information included in the status information) is set to occupy approximately 1/3 or more of the NAND storage unit 230.

동작 405에서 프로세서(210)(예: 호스트 컨트롤러(211))는 상태 정보(예: 제 1 바이너리(212))를 기반으로, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(210)는 상태 정보에 포함된 “eExtendedUFSFeature” 정보를 확인할 수 있고, 저장 장치(220)에서 PSA 인터페이스를 지원하는지 여부를 판단할 수 있다.In operation 405, the processor 210 (e.g., host controller 211) may check whether the storage device 220 supports the PSA interface based on status information (e.g., first binary 212). For example, the processor 210 can check the “eExtendedUFSFeature” information included in the status information and determine whether the storage device 220 supports the PSA interface.

동작 405에서 저장 장치(220)가 PSA 인터페이스를 지원하는 경우, 동작 407에서 프로세서(210)는 상태 정보를 기반으로 공정 바이너리(예: 공정 프로세스)가 진행 중인지 여부를 확인할 수 있다. 예를 들어, 공정 바이너리가 진행 중이라면, 프로세서(210)는 진행 중인 공정 바이너리를 기반으로 저장 장치(220)의 설정 정보(예: 제 1 저장 공간(231)의 설정과 관련된 정보, PSA 인터페이스의 설정과 관련된 정보)를 변경할 수 있다. 동작 405에서 저장 장치(220)가 PSA 인터페이스를 지원하지 않는다면, 프로세서(210)는 상태 정보에 기반한 제 2 흐름도 동작을 종료할 수 있다.If the storage device 220 supports the PSA interface in operation 405, the processor 210 may check whether a process binary (eg, a process process) is in progress based on the status information in operation 407. For example, if a process binary is in progress, the processor 210 may store setting information of the storage device 220 (e.g., information related to the setting of the first storage space 231, information of the PSA interface) based on the process binary in progress. (information related to settings) can be changed. If the storage device 220 does not support the PSA interface in operation 405, the processor 210 may end the second flowchart operation based on the status information.

동작 407에서 공정 바이너리의 진행이 확인되면, 동작 409에서 프로세서(210)는 저장 장치(220)의 제 1 저장 공간(231)(예: 제 1 저장 공간(231)의 크기)을 확인할 수 있다. 일 실시예에 따르면, 저장 장치(220)가 PSA 인터페이스를 지원하는 조건 및 제 1 저장 공간(231)의 최대 크기와 관련된 조건이 충족하게 되면, 호스트 컨트롤러(211)는 공정 바이너리를 기반으로 제 1 저장 공간(231)의 크기(예: “bPSADataSize” 정보)를 확인할 수 있다. 예를 들어, 공정 바이너리에 따른 공정 프로세스는 복수 개일 수 있으며, 각각의 공정 프로세스에 따른 제 1 저장 공간(231)의 크기는 다르게 설정될 수 있다. 예를 들어, 제 1 저장 공간(231)의 크기는 적어도 약 20GB이상으로 설정된 상태일 수 있다. 일 실시예에 따르면, 제 1 저장 공간(231)의 크기는 PSA 인터페이스를 지원하는 조건에 따라, 미리 설정된 상태일 수 있다.If the progress of the process binary is confirmed in operation 407, the processor 210 may check the first storage space 231 (eg, the size of the first storage space 231) of the storage device 220 in operation 409. According to one embodiment, when the conditions for the storage device 220 to support the PSA interface and the conditions related to the maximum size of the first storage space 231 are met, the host controller 211 stores the first storage space based on the process binary. You can check the size of the storage space 231 (e.g., “bPSADataSize” information). For example, there may be a plurality of process processes according to the process binary, and the size of the first storage space 231 for each process process may be set differently. For example, the size of the first storage space 231 may be set to at least about 20 GB. According to one embodiment, the size of the first storage space 231 may be preset according to conditions for supporting the PSA interface.

동작 411에서 프로세서(210)(예: 호스트 컨트롤러(211))는 상태 정보(예: “bPSAState” 정보)를 제 1 상태(예: “Pre-soldering”)로 설정할 수 있고, 제 1 상태의 상태 정보(예: 바이너리 데이터)를 저장 장치(220)에 제공할 수 있다.In operation 411, the processor 210 (e.g., host controller 211) may set state information (e.g., “bPSAState” information) to a first state (e.g., “Pre-soldering”), and the state of the first state. Information (e.g., binary data) may be provided to the storage device 220.

동작 413에서 프로세서(210)는 공정 프로세스와 관련된 데이터를 저장 장치(220)의 제 1 저장 공간(231)에 저장할 수 있다. 일 실시예에 따르면, 호스트 컨트롤러(211)는 제 2 바이너리(예: 도 2의 제 2 바이너리(213))를 기반으로 부트로더를 수행할 수 있고, 부트로더의 수행 과정에서, 저장 장치(220)와 관련된 상태 정보가 제 1 상태인지 여부를 확인할 수 있고, 제 1 저장 공간(231)의 크기가 공정 바이너리에 대응되는 크기인지 여부를 확인할 수 있다. In operation 413, the processor 210 may store data related to the process in the first storage space 231 of the storage device 220. According to one embodiment, the host controller 211 may execute a bootloader based on a second binary (e.g., the second binary 213 in FIG. 2), and in the process of executing the bootloader, the storage device 220 ) can be checked whether the state information related to is in the first state, and whether the size of the first storage space 231 is the size corresponding to the process binary.

일 실시예에 따르면, 호스트 컨트롤러(211)는 공정 바이너리에 대응되는 제 3 바이너리(예: 도 2의 제 3 바이너리(214))를 기반으로 동작을 수행할 수 있다. 예를 들어, 호스트 컨트롤러(211)는 제 3 바이너리(214)를 저장 장치(220)에 제공할 수 있고, 저장 장치(220)의 저장 장치 제어부(221)는 상기 제공된 제 3 바이너리(214)를 제 1 저장 공간(231)에 저장할 수 있다. 예를 들어, 데이터가 제 1 저장 공간(231)에 저장되는 과정에서 제 1 저장 공간(231)의 저장 용량이 초과하게 되면, 나머지 데이터는 제 2 저장 공간(232)에 저장될 수 있다.According to one embodiment, the host controller 211 may perform an operation based on a third binary (eg, the third binary 214 in FIG. 2) corresponding to the process binary. For example, the host controller 211 may provide the third binary 214 to the storage device 220, and the storage device control unit 221 of the storage device 220 may provide the third binary 214. It can be stored in the first storage space 231. For example, when data is stored in the first storage space 231 and the storage capacity of the first storage space 231 is exceeded, the remaining data may be stored in the second storage space 232.

동작 415에서 전자 장치(101)는 제 1 저장 공간(231)에 저장된 공정 바이너리를 기반으로 다양한 종류의 기능 테스트 및 공정 단계(예: 공정 프로세스)를 진행할 수 있다. 예를 들어, 공정 프로세스(예: 공정 단계)는 다양한 구성 부품들이 내부 공간에 배치되고, 구성 부품들과 관련된 다양한 테스트를 진행하는 동작을 포함할 수 있다. 공정 프로세스는 구성 부품들과 관련하여 불량이 확인될 경우, 수행되는 재 작업을 포함할 수 있고, 열이 발생하는 작업을 포함할 수 있다.In operation 415, the electronic device 101 may perform various types of functional tests and process steps (eg, process processes) based on the process binary stored in the first storage space 231. For example, a process process (e.g., a process step) may include the operation of arranging various component parts in an internal space and performing various tests related to the component parts. The manufacturing process may include rework performed when defects are identified with component parts and may include operations that generate heat.

일 실시예에 따르면, 전자 장치(101)는 제 1 저장 공간(231)을 기반으로 데이터가 저장되므로, 동작 415에서의 열이 발생하는 공정 프로세스가 진행되더라도, 제 1 저장 공간(231)에 저장된 데이터가 손상되거나, 또는 변형되는 상황을 방지할 수 있다. 일 실시예에 따르면, 제 1 저장 공간(231)은 NAND 저장부(230)의 SLC(single level cell) 영역을 포함할 수 있고, 하나의 셀 당 약 1 비트의 데이터가 저장되므로, 상대적으로 주변의 온도 상승에 따른 데이터 손상이 적을 수 있다. 전자 장치(101)는 공정 프로세스가 진행되는 동안, 제 1 저장 공간(231)을 기반으로 데이터를 저장하여, 데이터의 손상 또는 변형을 방지할 수 있다.According to one embodiment, the electronic device 101 stores data based on the first storage space 231, so even if the heat-generating process in operation 415 proceeds, the data stored in the first storage space 231 You can prevent situations where data is damaged or altered. According to one embodiment, the first storage space 231 may include a single level cell (SLC) area of the NAND storage unit 230, and approximately 1 bit of data is stored per cell, so the peripheral area is relatively small. Data damage due to temperature rise may be less. While a process is in progress, the electronic device 101 stores data based on the first storage space 231 to prevent damage or modification of the data.

동작 415에서 공정 바이너리에 기반한 공정 프로세스가 완료되면, 동작 405로 회귀할 수 있다. 동작 405에서 프로세서(210)는 PSA 인터페이스를 지원하는지 여부를 확인할 수 있다.When the process process based on the process binary is completed in operation 415, the process may return to operation 405. In operation 405, the processor 210 may check whether the PSA interface is supported.

동작 407에서 공정 바이너리의 진행이 확인되지 않으면, (예: 공정 프로세스가 완료되었다면) 동작 417에서 상태 정보를 제 1 상태(예: “Pre-soldering”)에서 제 2 상태(예: “Loading Complete”)로 변경할 수 있다. 예를 들어, 공정 바이너리의 진행이 확인되지 않는 상황은 공정 프로세서(예: 공정 단계)가 완료된 상황을 포함할 수 있다. 공정 프로세스가 완료되었다는 것은 열이 발생하는 제작 공정이 완료되었음을 의미할 수 있다.If the progress of the process binary is not confirmed in operation 407 (e.g., if the process has been completed), status information is changed from a first state (e.g., “Pre-soldering”) to a second state (e.g., “Loading Complete”) in operation 417. ) can be changed to . For example, a situation in which the progress of a process binary is not confirmed may include a situation in which a process processor (e.g., a process step) has been completed. Completion of the manufacturing process may mean that the manufacturing process that generates heat has been completed.

동작 419에서 저장 장치(220)의 저장 장치 제어부(221)는 상태 정보가 제 2 상태(예: “Loading Complete”)인 것(예: 공정 프로세스의 완료)에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동하는 마이그레이션 동작을 수행할 수 있다. 예를 들어, 저장 장치 제어부(221)는 SLC 영역(예: 제 1 저장 공간(231))에 저장된 데이터를 MLC/TLC/QLC 영역(예: 제 2 저장 공간(232))으로 이동시켜서 저장할 수 있다.In operation 419, the storage device control unit 221 of the storage device 220 stores the first storage space 231 in response to the status information being a second state (e.g., “Loading Complete”) (e.g., completion of the process process). ) can perform a migration operation to move the data stored in the second storage space 232. For example, the storage device control unit 221 may store data stored in the SLC area (e.g., the first storage space 231) by moving it to the MLC/TLC/QLC area (e.g., the second storage space 232). there is.

동작 421에서 마이그레이션 동작이 완료되면, 저장 장치 제어부(221)는 상태 정보를 제 2 상태(예: “Loading Complete”)에서 제 3 상태(“Soldered”)로 변경할 수 있다. 예를 들어, 저장 장치 제어부(221)는 마이그레이션 동작의 완료를 나타내는 신호(예: 제 3 상태로 변경된 상태 정보)를 프로세서(210)에 전달할 수 있고, 프로세서(210)는 마이그레이션 동작이 완료되었음을 확인할 수 있다. 예를 들어, 프로세서(210)는 저장 장치(220)에 대한 상태 정보를 기반으로 마이그레이션 동작이 완료되었음을 확인할 수 있다.When the migration operation is completed in operation 421, the storage device control unit 221 may change the state information from the second state (e.g., “Loading Complete”) to the third state (“Soldered”). For example, the storage device control unit 221 may transmit a signal indicating completion of the migration operation (e.g., state information changed to the third state) to the processor 210, and the processor 210 may confirm that the migration operation has been completed. You can. For example, the processor 210 may confirm that the migration operation has been completed based on status information about the storage device 220.

도 5는 본 개시의 일 실시예에 따른 전자 장치의 상태 정보를 기반으로 데이터를 마이그레이션하는 공정 프로세스를 도시한 예시도이다.FIG. 5 is an exemplary diagram illustrating a process for migrating data based on status information of an electronic device according to an embodiment of the present disclosure.

도 5의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다. 도 5의 프로세서(210)는 도 2의 프로세서(210)와 적어도 일부 유사하거나, 프로세서(210)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 5 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101. The processor 210 of FIG. 5 may be at least partially similar to the processor 210 of FIG. 2 or may further include other embodiments of the processor 210.

도 5를 참조하면, 공정 프로세스의 진행 및 완료 과정에서, 전자 장치의 상태 정보에 따른 PSA 상태(PSA state)(510) 및 저장 장치(220)에서 저장 공간으로 활용되는 cell type(520)을 도시한다. 예를 들어, PSA state(510)는 상태 정보에 포함된 “bPSAState”에 대응되는 정보를 의미할 수 있다.Referring to FIG. 5, during the progress and completion of the process, the PSA state 510 according to the state information of the electronic device and the cell type 520 used as storage space in the storage device 220 are shown. do. For example, PSA state 510 may mean information corresponding to “bPSAState” included in the state information.

도 5를 참조하면, 동작 501에서 1st SMD(531)(예: AP의 SMD)가 완료된 후, 수행되는 제 1 공정 프로세스(예: 동작 501, 동작 502) 및 동작 503에서 2nd SMD(533)(예: Master RF의 SMD)가 완료된 후, 수행되는 제 2 공정 프로세서(예: 동작 503, 동작 504)가 도시되었으나, 이에 한정되지는 않는다. 예를 들어, 공정 프로세스는 복수 개로 구성될 수 있다.Referring to FIG. 5, after the 1st SMD 531 (e.g., SMD of AP) is completed in operation 501, the first process process (e.g., operation 501, operation 502) is performed and the 2nd SMD 533 in operation 503 ( A second process processor (e.g., operations 503 and 504) performed after (e.g., SMD of Master RF) is completed is shown, but is not limited thereto. For example, a plurality of process processes may be configured.

동작 501에서 프로세서(210)는 1st SMD(531)가 완료되고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 1st SMD(531) 동작으로 인해 발생된 열 손상 데이터를 초기화시키는 동작을 포함할 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 동작 501에서 프로세서(210)는 제 1 공정 프로세스와 관련된 데이터를 제 1 저장 공간(231)에 저장(예: 1st 바이너리 다운로드)할 수 있다.In operation 501, the processor 210 completes the 1st SMD 531 and may perform a provisioning operation (eg, a logical unit (LU) configuration operation). For example, the provisioning operation may include an operation of initializing thermal damage data generated due to the operation of the 1st SMD 531. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. In operation 501, the processor 210 may store data related to the first process in the first storage space 231 (eg, download the 1st binary).

동작 502에서 전자 장치(101)는 제 1 공정 프로세스와 관련된 기능 검사(function test)가 수행될 수 있고, 상기 기능 검사의 결과, 불량이 확인될 경우, 제 1 공정 프로세스에 기반한 재 작업(예: 재 작업 발생 가능(532))을 수행할 수 있다. 예를 들어, 재 작업은 열이 발생하는 동작을 포함할 수 있다.In operation 502, the electronic device 101 may perform a function test related to the first process, and if a defect is confirmed as a result of the function test, rework based on the first process (e.g. Rework may occur (532)). For example, rework may involve operations that generate heat.

일 실시예에 따르면, 제 1 공정 프로세스(예: 동작 501, 동작 502)가 진행되고, 제 2 공정 프로세스(예: 동작 503, 동작 504)가 진행될 수 있다. 도 5를 참조하면, 제 1 공정 프로세스(501, 502) 및 제 2 공정 프로세스(503, 504)가 진행되는 동안, 상태 정보(예: PSA state(510))가 제 1 상태(예: “Pre-soldering”(511))를 유지할 수 있다. 예를 들어, 공정 프로세스 과정에서 쓰기 요청이 발생하는 경우, 저장 장치(220)는 쓰기 요청에 따른 데이터를 제 1 저장 공간(321)(예: Cell Type(520): SLC(521))에 저장할 수 있다.According to one embodiment, a first process (eg, operations 501 and 502) may proceed, and a second process (eg, operations 503 and 504) may proceed. Referring to FIG. 5, while the first process 501 and 502 and the second process 503 and 504 are in progress, state information (e.g., PSA state 510) is displayed in the first state (e.g., “Pre”). -soldering” (511)) can be maintained. For example, when a write request occurs during the process, the storage device 220 stores the data according to the write request in the first storage space 321 (e.g., Cell Type (520): SLC (521)). You can.

동작 503에서 프로세서(210)는 2nd SMD(533)가 완료되고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 2nd SMD(533)동작으로 인해 발생된 열 손상 데이터를 초기화시키는 동작을 포함할 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 동작 503에서 프로세서(210)는 제 2 공정 프로세스와 관련된 데이터를 제 1 저장 공간(231)에 저장(예: 2nd 바이너리 다운로드)할 수 있다.In operation 503, the processor 210 completes the 2nd SMD 533 and may perform a provisioning operation (eg, a logical unit (LU) configuration operation). For example, the provisioning operation may include an operation of initializing thermal damage data generated by the 2nd SMD 533 operation. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. In operation 503, the processor 210 may store data related to the second process in the first storage space 231 (eg, download the 2nd binary).

동작 504에서 전자 장치(101)는 제 2 공정 프로세스와 관련된 기능 검사(function test)가 수행될 수 있고, Main 공정이 진행될 수 있다. 전자 장치(101)는 기능 검사 및 Main 공정의 결과, 불량이 확인될 경우, 제 2 공정 프로세스에 기반한 재 작업(예: 재 작업 발생 가능(534))을 수행할 수 있다. 예를 들어, 재 작업은 열이 발생하는 작업을 포함할 수 있다.In operation 504, the electronic device 101 may perform a function test related to the second process and proceed with the main process. If a defect is confirmed as a result of the function test and the main process, the electronic device 101 may perform rework (e.g., rework may occur 534) based on the second process. For example, rework may involve operations that generate heat.

일 실시예에 따르면, 전자 장치(101)의 제작에 관한 공정 프로세스가 모두 완료된 경우, 동작 505에서 프로세서(210)는 유저 바이너리(user binary)를 다운로드할 수 있다. 예를 들어, 유저 바이너리는 제 1 저장 공간(231)에 저장될 수 있다. 만약, 유저 바이너리의 데이터 용량이 제 1 저장 공간(231)을 초과하는 경우, 유저 바이너리는 제 2 저장 공간(232)에 저장될 수 있다.According to one embodiment, when all processes related to manufacturing the electronic device 101 are completed, the processor 210 may download a user binary in operation 505. For example, user binaries may be stored in the first storage space 231. If the data capacity of the user binary exceeds the first storage space 231, the user binary may be stored in the second storage space 232.

동작 505에서 유저 바이너리가 저장 장치(220)에 저장되는 동작에 응답하여, 동작 506에서 전자 장치(101)는 재부팅 동작(예: 단말 power on)을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 재부팅 동작에 응답하여, 제 2 바이너리(예: 도 2의 제 2 바이너리(213))를 기반으로 부트로더(bootloader)를 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 부트로더에 의해 확인된 상태 정보가 제 1 상태(511)(예: “Pre-soldering”)일 경우, 상태 정보를 제 1 상태(511)(예: “Pre-soldering”(511))에서 제 2 상태(512)(예: “Loading Complete”(512))로 변경할 수 있다. 프로세서(210)는 제 2 상태(512)에 대응되는 상태 정보(예: 상태 정보에 포함된 “bPSAState” 정보)를 저장 장치(220)에 전달할 수 있다.In response to the operation of storing the user binary in the storage device 220 in operation 505, the electronic device 101 may perform a reboot operation (eg, power on the terminal) in operation 506. According to one embodiment, in response to a reboot operation, the electronic device 101 may perform a bootloader based on a second binary (eg, the second binary 213 in FIG. 2). According to one embodiment, when the state information confirmed by the bootloader is the first state 511 (e.g., “Pre-soldering”), the electronic device 101 sends the state information to the first state 511 (e.g., “Pre-soldering”). : You can change from “Pre-soldering” (511) to the second state (512) (e.g. “Loading Complete” (512)). The processor 210 may transmit state information corresponding to the second state 512 (e.g., “bPSAState” information included in the state information) to the storage device 220.

저장 장치(220)의 저장 장치 제어부(211)는 상태 정보가 제 2 상태(512)(예: “Loading Complete”(512))인 것을 확인하면, 제 1 저장 공간(231)에 저장된 데이터에 대한 마이그레이션 동작(513)을 수행할 수 있다. 예를 들어, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동시켜 저장할 수 있다. 저장 장치 제어부(221)는 마이그레이션 동작(513)이 완료되면, 상태 정보를 제 2 상태(512)(예: “Loading Complete”(512))에서 제 3 상태(514)(“Soldered”(514))로 변경할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 저장 장치(220)의 상태 정보(예: “Soldered”(514)로 변경된 상태)를 확인할 수 있고, 마이그레이션 동작(513)이 완료되었음을 판단할 수 있다.When the storage device control unit 211 of the storage device 220 confirms that the status information is in the second state 512 (e.g., “Loading Complete” 512), it controls the data stored in the first storage space 231. Migration operation 513 may be performed. For example, data stored in the first storage space 231 can be moved to the second storage space 232 and stored. When the migration operation 513 is completed, the storage device control unit 221 changes the status information from the second state 512 (e.g., “Loading Complete” 512) to the third state 514 (“Soldered” 514). ) can be changed to . According to one embodiment, the electronic device 101 may check the status information of the storage device 220 (e.g., status changed to “Soldered” 514) and determine that the migration operation 513 has been completed. .

도 6은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 1 흐름도이다.FIG. 6 is a first flowchart illustrating a method of migrating data based on the write booster function according to an embodiment of the present disclosure.

이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel.

도 6의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 6 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101.

일 실시예에 따르면, 전자 장치(101)는 연결 단자(예: 도 1의 연결 단자(178), USB 인터페이스)를 통해, 외부 전자 장치(예: 도 1의 전자 장치(102, 104), PC(personal computer))와 작동적으로 연결된 상태에서, 외부 전자 장치로부터 소프트웨어 바이너리(SW binary)를 획득할 수 있다. 예를 들어, 소프트웨어 바이너리는 전자 장치(101)의 동작(예: 공정 프로세스)을 위한 데이터(예: 공정 바이너리)를 포함할 수 있다. 전자 장치(101)는 획득된 소프트웨어 바이너리를 DRAM(예: 도 2의 DRAM(205))에 저장할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 저장 장치(예: 도 2의 저장 장치(220))가 내부 공간에 배치된 상태(예: SMD(surface mount device))일 수 있다. 전자 장치(101)는 다운로드된 소프트웨어 바이너리를 기반으로 전자 장치(101) 및 저장 장치(220)와 관련된 동작을 수행할 수 있다. According to one embodiment, the electronic device 101 is connected to an external electronic device (e.g., the electronic devices 102 and 104 of FIG. 1, a PC) through a connection terminal (e.g., the connection terminal 178 of FIG. 1, a USB interface). While operationally connected to a personal computer, a software binary (SW binary) can be obtained from an external electronic device. For example, the software binary may include data (eg, process binary) for the operation (eg, process) of the electronic device 101. The electronic device 101 may store the acquired software binary in DRAM (eg, DRAM 205 in FIG. 2). According to one embodiment, the electronic device 101 may have a storage device (e.g., the storage device 220 of FIG. 2) disposed in an internal space (e.g., a surface mount device (SMD)). The electronic device 101 may perform operations related to the electronic device 101 and the storage device 220 based on the downloaded software binary.

동작 601에서 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120), 도 2의 프로세서(210))는 저장 장치(220)에서 라이트 부스터(write booster) 기능을 지원하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(210)는 공정 프로세스가 진행 중인 상태에서 저장 장치(220)가 라이트 부스터 기능을 지원하는지 여부를 확인할 수 있다.In operation 601, the processor of the electronic device 101 (e.g., the processor 120 of FIG. 1 or the processor 210 of FIG. 2) may check whether the storage device 220 supports the write booster function. there is. For example, the processor 210 may check whether the storage device 220 supports the light booster function while a process is in progress.

동작 603에서 저장 장치(220)가 라이트 부스터 기능을 지원하는 경우, 프로세서(210)는 라이트 부스터 기능을 활성화하면서, 라이트 부스터 플러시(write booster flush) 기능을 비활성화할 수 있다. 예를 들어, 라이트 부스터 기능을 지원하는 저장 장치(220)는 라이트 부스터 기능이 활성화 상태(예: ON)일 때, 제 1 저장 공간(예: 도 2의 제 1 저장 공간(231))을 기반으로 데이터를 저장할 수 있고, 라이트 부스터 기능이 비활성화 상태(예: OFF)일 때, 제 2 저장 공간(예: 도 2의 제 2 저장 공간(232))을 기반으로 데이터를 저장할 수 있다. 일 실시예에 따르면, 라이트 부스터 기능이 활성화 상태에서 비활성화 상태로 변경될 때, 라이트 부스터 플러시 기능이 활성화 상태라면, 제 1 저장 공간(231)에 저장된 데이터가 제 2 저장 공간(232)으로 마이그레이션될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 공정 프로세스가 진행 중인 동안에는 제 1 저장 공간(231)에 저장된 데이터가 제 2 저장 공간(232)으로 마이그레이션되지 않도록, 라이트 부스터 플러시 기능을 비활성화 상태로 설정할 수 있다. 저장 장치(220)의 저장 장치 제어부(221)는 라이트 부스터 플러시 기능이 비활성화 상태임을 확인하고, 마이그레이션 동작을 수행하지 않을 수 있다.If the storage device 220 supports the write booster function in operation 603, the processor 210 may activate the write booster function and disable the write booster flush function. For example, the storage device 220 supporting the light booster function is based on the first storage space (e.g., the first storage space 231 in FIG. 2) when the light booster function is in an activated state (e.g., ON). Data can be stored, and when the light booster function is in an inactive state (eg, OFF), data can be stored based on the second storage space (eg, the second storage space 232 in FIG. 2). According to one embodiment, when the light booster function is changed from the activated state to the deactivated state, if the light booster flush function is activated, data stored in the first storage space 231 will be migrated to the second storage space 232. You can. According to one embodiment, the electronic device 101 sets the light booster flush function to a disabled state so that data stored in the first storage space 231 is not migrated to the second storage space 232 while the process is in progress. You can. The storage device control unit 221 of the storage device 220 may confirm that the light booster flush function is in a deactivated state and not perform a migration operation.

동작 605에서 저장 장치 제어부(221)는 라이트 부스터 기능이 활성화 상태(예: ON)인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터(예: 소프트웨어 바이너리)를 제 1 저장 공간(예: 도 2의 제 1 저장 공간(SLC)(231))에 저장할 수 있다. 일 실시예에 따르면, 저장 장치 제어부(221)는 공정 프로세스가 진행되는 동안, 공정 프로세스와 관련된 다양한 데이터를 제 1 저장 공간(231)에 저장할 수 있다. 제 1 저장 공간(231)은 공정 프로세스에서 열이 발생하는 작업이 수행되더라도, 저장된 데이터의 손상 및 변형이 방지되는 저장 공간일 수 있다.In operation 605, in response to the light booster function being in an activated state (e.g., ON), the storage device control unit 221 stores data (e.g., software binary) downloaded from an external electronic device into the first storage space (e.g., of FIG. 2). It can be stored in the first storage space (SLC) 231). According to one embodiment, the storage device control unit 221 may store various data related to the process in the first storage space 231 while the process is in progress. The first storage space 231 may be a storage space in which damage or modification of stored data is prevented even if heat-generating work is performed during the process.

동작 607에서 프로세서(210)는 공정 단계(예: 공정 프로세스)의 진행이 완료된 후, 유저 바이너리를 다운로드할 수 있다. 예를 들어, 공정 프로세스는 설정된 테스트 및 작업이 완료되는 경우, 공정 단계 상 유저 바이너리(user binary)를 저장 장치(220)에 저장하는 동작을 포함할 수 있다. 예를 들어, 유저 바이너리가 저장 장치(220)에 저장되는 동작이 확인되면, 프로세서(210)는 재부팅을 수행할 수 있다.In operation 607, the processor 210 may download the user binary after the process step (eg, process process) is completed. For example, the process may include an operation of storing a user binary in the process step in the storage device 220 when set tests and tasks are completed. For example, if the operation of storing the user binary in the storage device 220 is confirmed, the processor 210 may reboot.

동작 609에서 프로세서(210)는 운영체제(OS)가 수행되는 시점에서 비활성화 상태인 라이트 부스터 플러시 기능을 활성화 상태로 전환할 수 있다. 예를 들어, 전자 장치(101)가 재부팅되는 과정에서, 프로세서(210)는 운영체제를 실행할 수 있고, 비활성화 상태의 라이트 부스터 플러시 기능을 활성화 상태로 변경할 수 있다.In operation 609, the processor 210 may switch the light booster flush function, which is in a disabled state at the time the operating system (OS) is executed, to an activated state. For example, while the electronic device 101 is rebooting, the processor 210 can run an operating system and change the light booster flush function from a disabled state to an activated state.

동작 611에서 저장 장치 제어부(221)는 라이트 부스터 플러시 기능(예: ON 상태, 활성화 상태)을 기반으로 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동시키는 마이그레이션 동작을 수행할 수 있다.In operation 611, the storage device control unit 221 performs a migration operation to move data stored in the first storage space 231 to the second storage space 232 based on the light booster flush function (e.g., ON state, activated state). It can be done.

일 실시예에 따르면, 전자 장치(101)는 저장 장치(220)와 관련된 라이트 부스터 기능을 지원하는지 여부를 확인할 수 있고, 라이트 부스터 기능의 활성화 및 라이트 부스터 플러시 기능의 비활성화 동작을 수행할 수 있다. 저장 장치(220)가 라이트 부스터 기능을 지원하는 경우, 전자 장치(101)는 라이트 부스터 기능의 활성화에 응답하여, 데이터를 제 1 저장 공간(231)에 저장할 수 있다. 예를 들어, 전자 장치(101)는 라이트 부스터 기능에 따라, 데이터를 제 1 저장 공간(231)에 저장하면서도, 라이트 부스터 플러시 기능이 비활성화되어 있으므로, 데이터를 제 1 저장 공간(231)에서 제 2 저장 공간(232)으로 이동시키는 마이그레이션 동작을 수행하지 않을 수 있다. 일 실시예에 따르면, 전자 장치(101)는 공정 프로세스(예: 도 6의 동작 607)에 따른 테스트 및 작업이 완료되는 경우, 유저 바이너리를 다운로드할 수 있다. 일 실시예에 따르면, 공정 프로세스 상, 열이 발생하는 작업이 수행되더라도, 전자 장치(101)는 라이트 부스터 기능을 기반으로 데이터를 제 1 저장 공간(231)에 저장하므로, 발열로 인한 데이터의 손상 및 변형을 방지할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 공정 프로세스가 완료된 이후, 재부팅 동작을 수행할 수 있고, 운영체제(OS)가 수행되는 시점에 비활성화 상태인 라이트 부스터 플러시 기능을 활성화 상태로 변경할 수 있다. 전자 장치(101)는 라이트 부스터 플러시 기능을 기반으로 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동시키는 마이그레이션 동작을 수행할 수 있다.According to one embodiment, the electronic device 101 may check whether the light booster function related to the storage device 220 is supported, and may perform operations to activate the light booster function and deactivate the light booster flush function. If the storage device 220 supports the light booster function, the electronic device 101 may store data in the first storage space 231 in response to activation of the light booster function. For example, the electronic device 101 stores data in the first storage space 231 according to the light booster function, but since the light booster flush function is disabled, the electronic device 101 stores data from the first storage space 231 to the second storage space 231. A migration operation to move to the storage space 232 may not be performed. According to one embodiment, the electronic device 101 may download the user binary when tests and tasks according to the process process (e.g., operation 607 of FIG. 6) are completed. According to one embodiment, even if heat-generating work is performed during the process, the electronic device 101 stores data in the first storage space 231 based on the light booster function, thereby preventing damage to data due to heat generation. and deformation can be prevented. According to one embodiment, the electronic device 101 may perform a reboot operation after the manufacturing process is completed and change the light booster flush function, which is in an inactive state to an activated state, when the operating system (OS) is executed. The electronic device 101 may perform a migration operation to move data stored in the first storage space 231 to the second storage space 232 based on the light booster flush function.

도 7은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 방법을 도시한 제 2 흐름도이다.FIG. 7 is a second flowchart illustrating a method of migrating data based on the write booster function according to an embodiment of the present disclosure.

이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel.

도 7의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 7 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101.

동작 701에서 전자 장치(101)는 프로세서(예: 도 1의 프로세서(120), 도 2의 프로세서(210), SMD(surface mount device)(예: AP(application processor))의 SMD)가 완료된 상태일 수 있다. 예를 들어, 전자 장치(101)의 내부 공간에 프로세서(210)의 구성부가 배치되는 공정이 완료된 상태일 수 있다. 프로세서(210)의 SMD가 완료되면, 전자 장치(101)는 eDL(emergency download) 모드로 진입할 수 있다. 예를 들어, eDL 모드는 저장 장치(220)에 어떠한 데이터도 저장되지 않은 상태(예: 초기화 상태) 또는, 전자 장치(101)의 연결 단자(예: 도 1의 연결 단자(178), USB 인터페이스)를 통해 연결된 외부 전자 장치(예: USB 장치, 도 1의 전자 장치(102, 104))가 부트 장치로 설정된 상태일 때, 진입될 수 있다. 일 실시예에 따르면, 프로세서(210)는 eDL 모드에서 상기 연결 단자를 통해 연결된 외부 전자 장치로부터 소프트웨어 바이너리(SW binary)를 다운로드할 수 있고, 상기 소프트웨어 바이너리를 DRAM(예: 도 2의 DRAM(205))의 제 1 바이너리(예: 도 2의 제 1 바이너리(212))에 저장할 수 있다.In operation 701, the electronic device 101 is in a state in which the processor (e.g., the processor 120 of FIG. 1, the processor 210 of FIG. 2, and the SMD of a surface mount device (SMD) (e.g., an application processor (AP)) is completed. It can be. For example, the process of placing the components of the processor 210 in the internal space of the electronic device 101 may have been completed. When the SMD of the processor 210 is completed, the electronic device 101 may enter an emergency download (eDL) mode. For example, the eDL mode is a state in which no data is stored in the storage device 220 (e.g., initialization state) or a connection terminal of the electronic device 101 (e.g., the connection terminal 178 of FIG. 1, USB interface). ) can be entered when an external electronic device (e.g., a USB device, the electronic devices 102 and 104 of FIG. 1) connected via ) is set as a boot device. According to one embodiment, the processor 210 may download a software binary (SW binary) from an external electronic device connected through the connection terminal in eDL mode, and download the software binary into DRAM (e.g., DRAM 205 in FIG. 2). )) can be stored in the first binary (e.g., the first binary 212 in FIG. 2).

동작 703에서 프로세서(210)는 저장 장치(220)에 기 저장된 데이터를 invalidate로 처리할 수 있다. 예를 들어, invalidate 처리된 데이터는 추후 마이그레이션 동작의 수행 시, 마이그레이션 대상에서 제외될 수 있다. 일 실시예에 따르면, eDL 바이너리(212)의 수행에 응답하여, 호스트 컨트롤러(host controller)(예: 도 2의 호스트 컨트롤러(211))는 저장 장치(220)를 초기화시킬 수 있고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 SMD 동작으로 인해 발생된 열 손상 데이터를 초기화시킬 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 프로비저닝 동작이 완료된 후, 저장장치 컨트롤러(221)은 저장 장치(220)에 기 저장된 데이터를 확인할 수 있고, 확인된 데이터를 invalidate로 처리할 수 있다.In operation 703, the processor 210 may invalidate data previously stored in the storage device 220. For example, invalidated data may be excluded from migration when a migration operation is performed later. According to one embodiment, in response to execution of the eDL binary 212, a host controller (e.g., the host controller 211 of FIG. 2) may initialize the storage device 220 and perform provisioning. ) operations (e.g., LU (logical unit) configuration operations) can be performed. For example, a provisioning operation may reset thermal damage data caused by SMD operation. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. After the provisioning operation is completed, the storage device controller 221 can check data already stored in the storage device 220 and invalidate the confirmed data.

동작 705에서 프로세서(210)(예: 호스트 컨트롤러(211))는 저장 장치(220)에서 라이트 부스터(write booster) 기능을 지원하는지 여부를 확인할 수 있다. 동작 705에서 저장 장치(220)가 라이트 부스터 기능을 지원하지 않는다면, 프로세서(210)는 라이트 부스터 기능에 기반한 제 2 흐름도 동작을 종료할 수 있다.In operation 705, the processor 210 (eg, host controller 211) may check whether the storage device 220 supports a write booster function. If the storage device 220 does not support the write booster function in operation 705, the processor 210 may end the second flowchart operation based on the write booster function.

동작 705에서 저장 장치(220)가 라이트 부스터 기능을 지원하는 경우, 동작 707에서 프로세서(210)는 공정 바이너리가 진행 중인지 여부를 확인할 수 있다. 예를 들어, 공정 바이너리가 진행 중이라면, 프로세서(210)는 라이트 부스터 기능을 활성화하면서, 라이트 부스터 플러시 기능을 비활성화할 수 있다. If the storage device 220 supports the write booster function in operation 705, the processor 210 may check whether the process binary is in progress in operation 707. For example, if a process binary is in progress, the processor 210 may disable the light booster flush function while activating the light booster function.

동작 709에서 프로세서(210)는 라이트 부스터 기능을 활성화할 수 있고, 라이트 부스터 플러시 기능을 비활성화할 수 있다. 프로세서(210)는 라이트 부스터 기능을 활성화하면서, 라이트 부스터 플러시 기능의 경우 비활성화되도록 설정을 변경할 수 있다. 예를 들어, 프로세서(210)는 활성화된 라이트 부스터 기능을 기반으로, 데이터를 제 1 저장 공간(231)에 저장하면서도, 비활성화된 라이트 부스터 플러시 기능을 기반으로, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 이동시키는 마이그레이션 동작을 수행하지 않을 수 있다.At operation 709, processor 210 may enable the light booster function and may disable the light booster flush function. The processor 210 may change the setting to activate the light booster function and disable the light booster flush function. For example, the processor 210 stores data in the first storage space 231 based on the activated light booster function, and stores the data stored in the first storage space 231 based on the deactivated light booster flush function. A migration operation to move data to the second storage space 232 may not be performed.

동작 711에서 프로세서(210)는 공정 프로세스와 관련된 데이터를 저장 장치(220)의 제 1 저장 공간(231)에 저장할 수 있다. 일 실시예에 따르면, 호스트 컨트롤러(211)는 부트로더(예: 도 2의 부트로더(213))를 수행할 수 있고, 부트로더(213)의 수행 과정에서, 저장 장치(220)와 관련된 라이트 부스터 기능이 활성화된 상태를 확인할 수 있다. 일 실시예에 따르면, 호스트 컨트롤러(211)는 공정 바이너리에 대응되는 커널 바이너리(예: 도 2의 커널 바이너리(214))를 수행할 수 있다. 예를 들어, 호스트 컨트롤러(211)는 공정 바이너리를 저장 장치(220)에 제공할 수 있고, 저장 장치(220)의 저장 장치 제어부(221)는 활성화된 라이트 부스터 기능을 기반으로, 상기 공정 바이너리를 제 1 저장 공간(231)에 저장할 수 있다. 예를 들어, 데이터가 제 1 저장 공간(231)에 저장되는 과정에서 제 1 저장 공간(231)의 저장 용량이 초과하게 되면, 나머지 데이터는 제 2 저장 공간(232)에 저장될 수 있다. 동작 711에서 프로세서(210)는 유저 바이너리를 다운로드할 수 있다.In operation 711, the processor 210 may store data related to the process in the first storage space 231 of the storage device 220. According to one embodiment, the host controller 211 may execute a bootloader (e.g., the bootloader 213 in FIG. 2), and in the process of executing the bootloader 213, a write related to the storage device 220 may be executed. You can check whether the booster function is activated. According to one embodiment, the host controller 211 may execute a kernel binary (eg, kernel binary 214 in FIG. 2) corresponding to a process binary. For example, the host controller 211 may provide a process binary to the storage device 220, and the storage device control unit 221 of the storage device 220 may provide the process binary based on the activated write booster function. It can be stored in the first storage space 231. For example, when data is stored in the first storage space 231 and the storage capacity of the first storage space 231 is exceeded, the remaining data may be stored in the second storage space 232. In operation 711, the processor 210 may download the user binary.

동작 713에서 전자 장치(101)는 공정 바이너리를 기반으로 다양한 종류의 기능 테스트 및 공정 단계(예: 공정 프로세스)를 진행할 수 있다. 예를 들어, 공정 프로세스(예: 공정 단계)는 다양한 구성 부품들이 내부 공간에 배치되고, 구성 부품들과 관련된 다양한 테스트를 진행하는 동작을 포함할 수 있다. 공정 프로세스는 구성 부품들과 관련하여 불량이 확인될 경우, 수행되는 재 작업을 포함할 수 있고, 열이 발생하는 작업을 포함할 수 있다.In operation 713, the electronic device 101 may perform various types of functional tests and process steps (eg, process processes) based on the process binary. For example, a process process (e.g., a process step) may include the operation of arranging various component parts in an internal space and performing various tests related to the component parts. The manufacturing process may include rework performed when defects are identified with component parts and may include operations that generate heat.

일 실시예에 따르면, 전자 장치(101)는 제 1 저장 공간(231)을 기반으로 데이터가 저장되므로, 동작 713에서의 열이 발생하는 공정 프로세스가 진행되더라도, 제 1 저장 공간(231)에 저장된 데이터가 손상되거나, 또는 변형되는 상황을 방지할 수 있다. 일 실시예에 따르면, 제 1 저장 공간(231)은 NAND 저장부(230)의 SLC(single level cell) 영역을 포함할 수 있고, 하나의 셀 당 약 1 비트의 데이터가 저장되므로, 상대적으로 주변의 온도 상승에 따른 데이터 손상이 적을 수 있다. 전자 장치(101)는 공정 프로세스가 진행되는 동안, 제 1 저장 공간(231)을 기반으로 데이터를 저장하여, 데이터의 손상 또는 변형을 방지할 수 있다.According to one embodiment, the electronic device 101 stores data based on the first storage space 231, so even if the heat-generating process in operation 713 proceeds, the data stored in the first storage space 231 You can prevent situations where data is damaged or altered. According to one embodiment, the first storage space 231 may include a single level cell (SLC) area of the NAND storage unit 230, and approximately 1 bit of data is stored per cell, so the peripheral area is relatively small. Data damage due to temperature rise may be less. While a process is in progress, the electronic device 101 stores data based on the first storage space 231 to prevent damage or modification of the data.

동작 713에서 공정 바이너리에 기반한 공정 프로세스가 완료되면, 동작 705로 회귀할 수 있다. 동작 705에서 프로세서(210)는 저장 장치(220)에서 라이트 부스터 기능을 지원하는지 여부를 확인할 수 있다.When the process process based on the process binary is completed in operation 713, the process may return to operation 705. In operation 705, the processor 210 may check whether the storage device 220 supports the light booster function.

동작 707에서 공정 바이너리의 진행이 확인되지 않으면, 프로세서(210)는 재부팅 동작을 수행할 수 있다. 예를 들어, 공정 바이너리의 진행이 확인되지 않는 상황은 공정 프로세서(예: 공정 단계)가 완료된 상황을 포함할 수 있다. 공정 프로세스가 완료되었다는 것은 열이 발생하는 제작 공정의 수행이 완료되었음을 의미할 수 있다. 프로세서(210)는 재부팅 동작에 의해, 운영체제(OS)를 수행할 수 있고, 동작 715에서 운영체제가 수행되는 시점에 비활성화 상태인 라이트 부스터 플러시 기능을 활성화 상태로 전환할 수 있다. If the progress of the process binary is not confirmed in operation 707, the processor 210 may perform a reboot operation. For example, a situation in which the progress of a process binary is not confirmed may include a situation in which a process processor (e.g., a process step) has been completed. Completion of the manufacturing process may mean that the manufacturing process that generates heat has been completed. The processor 210 may execute an operating system (OS) through a reboot operation, and in operation 715, the light booster flush function, which is in an inactive state when the operating system is executed, may be converted to an activated state.

동작 717에서 저장 장치(220)의 저장 장치 제어부(221)는 라이트 부스터 플러시 기능이 활성화 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션시킬 수 있다. 예를 들어, 저장 장치 제어부(221)는 SLC 영역(예: 제 1 저장 공간(231))에 저장된 데이터를 MLC/TLC/QLC 영역(예: 제 2 저장 공간(232))으로 이동시켜서 저장할 수 있다.In operation 717, the storage device control unit 221 of the storage device 220 may migrate the data stored in the first storage space 231 to the second storage space 232 in response to the light booster flush function being activated. there is. For example, the storage device control unit 221 may store data stored in the SLC area (e.g., the first storage space 231) by moving it to the MLC/TLC/QLC area (e.g., the second storage space 232). there is.

도 8은 본 개시의 일 실시예에 따른 write booster 기능을 기반으로 데이터를 마이그레이션하는 공정 프로세스를 도시한 예시도이다.Figure 8 is an example diagram illustrating a process for migrating data based on the write booster function according to an embodiment of the present disclosure.

도 8의 전자 장치(101)는 도 1의 전자 장치(101) 및 도 2의 전자 장치(201)와 적어도 일부 유사하거나, 전자 장치(101)의 다른 실시예들을 더 포함할 수 있다. 도 8의 프로세서(210)는 도 2의 프로세서(210)와 적어도 일부 유사하거나, 프로세서(210)의 다른 실시예들을 더 포함할 수 있다.The electronic device 101 of FIG. 8 may be at least partially similar to the electronic device 101 of FIG. 1 and the electronic device 201 of FIG. 2, or may further include other embodiments of the electronic device 101. The processor 210 of FIG. 8 may be at least partially similar to the processor 210 of FIG. 2 or may further include other embodiments of the processor 210.

도 8을 참조하면, 공정 프로세스의 진행 및 완료 과정에서, 라이트 부스터 기능의 활성화 상태(예: ON) 및 비활성화 상태(예: OFF)를 나타내는 라이트 부스터 기능의 상태(WB state)(810) 및 저장 장치(220)에서 저장 공간으로 활용되는 cell type(820)을 도시한다.Referring to FIG. 8, during the progress and completion of the process, the state (WB state) 810 and storage of the light booster function indicating the activation state (e.g., ON) and the deactivation state (e.g., OFF) of the light booster function. A cell type 820 used as a storage space in the device 220 is shown.

도 8을 참조하면, 동작 801에서 1st SMD(831)(예: AP의 SMD)가 완료된 후, 수행되는 제 1 공정 프로세스(예: 동작 801, 동작 802) 및 동작 803에서 2nd SMD(833)(예: Master RF의 SMD)가 완료된 후, 수행되는 제 2 공정 프로세서(예: 동작 803, 동작 804)가 도시되었으나, 이에 한정되지는 않는다. 예를 들어, 공정 프로세스는 복수 개로 구성될 수 있다.Referring to FIG. 8, after the 1st SMD 831 (e.g., SMD of AP) is completed in operation 801, the first process (e.g., operation 801, operation 802) and the 2nd SMD 833 (e.g., operation 803) are performed in operation 803. A second process processor (e.g., operations 803 and 804) performed after the SMD of Master RF (e.g., SMD of Master RF) is completed is shown, but is not limited thereto. For example, a plurality of process processes may be configured.

동작 801에서 프로세서(210)는 1st SMD(831)가 완료되고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 1st SMD(831) 동작으로 인해 발생된 열 손상 데이터를 초기화시키는 동작을 포함할 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 동작 801에서 프로세서(210)는 제 1 공정 프로세스와 관련된 데이터를 제 1 저장 공간(231)에 저장(예: 1st 바이너리 다운로드)할 수 있다.In operation 801, the processor 210 completes the 1st SMD 831 and may perform a provisioning operation (eg, a logical unit (LU) configuration operation). For example, the provisioning operation may include an operation of initializing thermal damage data generated due to the operation of the 1st SMD 831. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. In operation 801, the processor 210 may store data related to the first process in the first storage space 231 (eg, download the 1st binary).

동작 802에서 전자 장치(101)는 제 1 공정 프로세스와 관련된 기능 검사(function test)가 수행될 수 있고, 상기 기능 검사의 결과, 불량이 확인될 경우, 제 1 공정 프로세스에 기반한 재 작업(예: 재 작업 발생 가능(832))을 수행할 수 있다. 예를 들어, 재 작업은 열이 발생하는 동작을 포함할 수 있다.In operation 802, the electronic device 101 may perform a function test related to the first process, and if a defect is confirmed as a result of the function test, rework based on the first process (e.g., Rework may occur (832)). For example, rework may involve operations that generate heat.

일 실시예에 따르면, 제 1 공정 프로세스(예: 동작 801, 동작 802)가 진행되고, 제 2 공정 프로세스(예: 동작 803, 동작 804)가 진행될 수 있다. 도 8을 참조하면, 제 1 공정 프로세스(801, 802) 및 제 2 공정 프로세스(803, 804)가 진행되는 동안, 프로세서(210)는 제 2 바이너리(예: 도 2의 제 2 바이너리(213))에 기반한 부트로더의 수행에 응답하여, 라이트 부스터 기능을 활성화할 수 있고, 운영체제(OS)의 수행에 응답하여, 라이트 부스터 기능을 비활성화할 수 있다. 예를 들어, 동작 801, 동작 803, 동작 805에서는 라이트 부스터 기능(810)이 활성화 상태(ON)(811, 813, 815)일 수 있고, 동작 802, 동작 804에서는 라이트 부스터 기능(810)이 비활성화 상태(OFF)(812, 814)일 수 있다. 동작 801, 동작 803, 동작 805에서 프로세서(210)는 활성화된 라이트 부스터 기능을 기반으로, 데이터를 제 1 저장 공간(231)(예: SLC(821, 823, 825))에 저장할 수 있고, 동작 802, 동작 804에서 프로세서(210)는 비활성화된 라이트 부스터 기능을 기반으로, 데이터를 제 2 저장 공간(232)(예: TLC(822, 824))에 저장할 수 있다.According to one embodiment, a first process (eg, operations 801 and 802) may proceed, and a second process (eg, operations 803 and 804) may proceed. Referring to FIG. 8, while the first process 801 and 802 and the second process 803 and 804 are in progress, the processor 210 processes the second binary (e.g., the second binary 213 of FIG. 2). ), the light booster function may be activated, and in response to the operation of the operating system (OS), the light booster function may be deactivated. For example, in operations 801, 803, and 805, the light booster function 810 may be activated (ON) (811, 813, 815), and in operations 802 and 804, the light booster function 810 may be deactivated. It may be in a state (OFF) (812, 814). In operations 801, 803, and 805, the processor 210 may store data in the first storage space 231 (e.g., SLC 821, 823, 825) based on the activated light booster function. At 802 and operation 804, the processor 210 may store data in the second storage space 232 (eg, TLCs 822 and 824) based on the deactivated light booster function.

동작 803에서 프로세서(210)는 2nd SMD(833)가 완료되고, 프로비저닝(provisioning) 동작(예: LU (logical unit) configuration 동작)을 수행할 수 있다. 예를 들어, 프로비저닝 동작은 Master RF SMD(833)동작으로 인해 발생된 열 손상 데이터를 초기화시킬 수 있다. 프로비저닝 동작은 NAND 저장부(230)를 기준으로 제 2 저장 공간(232)(예: MLC/TLC/QLC)의 Logical Unit 크기를 설정하는 동작을 포함할 수 있다. 동작 803에서 프로세서(210)는 제 2 공정 프로세스와 관련된 데이터를 제 1 저장 공간(231)에 저장(예: 2nd 바이너리 다운로드)할 수 있다.In operation 803, the processor 210 completes the 2nd SMD 833 and may perform a provisioning operation (eg, a logical unit (LU) configuration operation). For example, the provisioning operation may initialize thermal damage data generated by the Master RF SMD (833) operation. The provisioning operation may include setting the logical unit size of the second storage space 232 (eg, MLC/TLC/QLC) based on the NAND storage unit 230. In operation 803, the processor 210 may store data related to the second process in the first storage space 231 (eg, download the 2nd binary).

동작 804에서 전자 장치(101)는 제 2 공정 프로세스와 관련된 기능 검사(function test)가 수행될 수 있고, Main 공정이 진행될 수 있다. 전자 장치(101)는 기능 검사 및 Main 공정의 결과, 불량이 확인될 경우, 제 2 공정 프로세스에 기반한 재 작업(예: 재 작업 발생 가능(834))을 수행할 수 있다. 예를 들어, 재 작업은 열이 발생하는 작업을 포함할 수 있다.In operation 804, the electronic device 101 may perform a function test related to the second process and proceed with the main process. If a defect is confirmed as a result of the function test and the main process, the electronic device 101 may perform rework (e.g., rework may occur 834) based on the second process. For example, rework may involve operations that generate heat.

일 실시예에 따르면, 전자 장치(101)의 제작에 관한 공정 프로세스가 모두 완료된 경우, 동작 805에서 프로세서(210)는 유저 바이너리(user binary)를 다운로드할 수 있다. 예를 들어, 동작 805에서 라이트 부스터 상태(810)는 ON 상태(815)이며, 저장 장치 제어부(221)는 유저 바이너리를 제 1 저장 공간(231)(예: SLC(825))에 저장할 수 있다. 예를 들어, 유저 바이너리는 라이트 부스터 기능을 기반으로 제 1 저장 공간(231)에 저장될 수 있다. 만약, 유저 바이너리의 데이터 용량이 제 1 저장 공간(231)을 초과하는 경우, 유저 바이너리는 제 2 저장 공간(232)에 저장될 수 있다.According to one embodiment, when all processes related to manufacturing the electronic device 101 are completed, the processor 210 may download a user binary in operation 805. For example, in operation 805, the light booster state 810 is in the ON state 815, and the storage device control unit 221 may store the user binary in the first storage space 231 (e.g., SLC 825). . For example, user binaries may be stored in the first storage space 231 based on the light booster function. If the data capacity of the user binary exceeds the first storage space 231, the user binary may be stored in the second storage space 232.

동작 805에서 유저 바이너리가 저장 장치(220)에 저장되는 동작에 응답하여, 동작 806에서 전자 장치(101)는 재부팅 동작(예: 단말 power on)을 수행할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 재부팅 동작에 응답하여, 운영체제(OS)가 실행될 수 있고, 운영체제가 수행되는 시점에서 라이트 부스터 플러시 기능을 비활성화 상태에서 활성화 상태로 변경할 수 있다. 예를 들어, 동작 806에서 라이트 부스터 상태(810)는 OFF 상태(816)이며, 저장 장치 제어부(221)는 라이트 부스터 플러시 기능을 기반으로 마이그레이션 동작을 수행할 수 있다. In response to the operation of storing the user binary in the storage device 220 in operation 805, the electronic device 101 may perform a reboot operation (eg, power on the terminal) in operation 806. According to one embodiment, the electronic device 101 may execute an operating system (OS) in response to a reboot operation, and may change the light booster flush function from a disabled state to an activated state at the time the operating system is executed. For example, in operation 806, the write booster state 810 is in the OFF state 816, and the storage device control unit 221 may perform a migration operation based on the write booster flush function.

일 실시예에 따르면, 저장 장치(220)의 저장 장치 제어부(211)는 라이트 부스터 플러시 기능이 활성화 상태인 것을 확인하면, 제 1 저장 공간(231)에 저장된 데이터에 대한 마이그레이션 동작(816)을 수행할 수 있다. 예를 들어, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)(예: TLC(826))으로 이동시켜 저장할 수 있다.According to one embodiment, when the storage device control unit 211 of the storage device 220 confirms that the light booster flush function is activated, it performs a migration operation 816 on the data stored in the first storage space 231. can do. For example, data stored in the first storage space 231 can be moved to the second storage space 232 (eg, TLC 826) and stored.

일 실시예에 따른 저장 장치(예: 도 2의 저장 장치(220))의 동작 방법에 있어서, 제 1 비트의 데이터가 저장되는 제 1 저장 공간(예: 도 2의 제 1 저장 공간(231), SLC) 및 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(예: 도 2의 제 2 저장 공간(232), MLC/TLC/QLC)을 포함하는 제 1 메모리(예: 도 2의 NAND 저장부(230)) 및 상태 정보가 저장되는 제 2 메모리(예: 도 2의 DRAM(205)) 중 제 2 메모리(205)에 저장된 상태 정보를 기반으로, 저장 장치(예: 도 2의 저장 장치(220))에서 PSA 인터페이스를 지원하는지 여부를 확인하는 동작, PSA 인터페이스의 지원 확인에 상태 정보 를 제 1 상태로 변경하는 동작, 상태 정보가 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작, 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상태 정보를 제 2 상태로 변경하는 동작, 및 상태 정보가 제 2 상태인 것에 응답하여, 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션하는 동작을 포함할 수 있다. In a method of operating a storage device (e.g., the storage device 220 of FIG. 2) according to an embodiment, a first storage space (e.g., the first storage space 231 of FIG. 2) in which the first bit of data is stored. , SLC) and a second storage space (e.g., the second storage space 232 in FIG. 2, MLC/TLC/QLC) in which data of more than 2 bits, rather than the first bit, is stored (e.g., : Based on the state information stored in the second memory 205 of the NAND storage unit 230 in FIG. 2) and the second memory in which state information is stored (e.g. DRAM 205 in FIG. 2), the storage device (e.g. : An operation of checking whether the storage device 220 of FIG. 2 supports the PSA interface, an operation of changing the state information to the first state upon confirmation of support of the PSA interface, in response to the state information being the first state, An operation of storing data downloaded from an external electronic device in the first storage space 231 of the first memory 230, and changing state information to a second state in response to completion of a process corresponding to the downloaded data. The operation may include migrating data stored in the first storage space 231 to the second storage space 232 in response to the state information being in the second state.

일 실시예에 따른 방법은 제 1 메모리(230)의 전체 저장 공간 중에서 제 1 저장 공간(231)이 차지하는 비율을 확인하는 동작, 및 확인된 비율이 제 1 조건을 충족하는 경우, 제 1 저장 공간(231)의 사이즈를 확인하는 동작을 더 포함할 수 있다. 일 실시예에 따르면, 제 1 조건은 제 1 메모리(230)의 전체 저장 공간 중에서 제 1 저장 공간(231)이 차지하는 비율이 약 1/3을 초과하는 조건을 포함할 수 있다. A method according to an embodiment includes the operation of checking the ratio occupied by the first storage space 231 among the total storage space of the first memory 230, and if the confirmed ratio satisfies the first condition, the first storage space 231 An operation to check the size of (231) may be further included. According to one embodiment, the first condition may include a condition in which the proportion of the first storage space 231 of the total storage space of the first memory 230 exceeds about 1/3.

일 실시예에 따른 방법은 공정 바이너리에 대응되는 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작, 및 공정 바이너리를 기반으로 공정 프로세스가 진행되는 동안, 발생하는 적어도 하나의 데이터를 제 1 저장 공간(231)에 저장하는 동작을 더 포함할 수 있다.A method according to an embodiment includes an operation of storing data corresponding to a process binary in the first storage space 231 of the first memory 230, and at least one operation that occurs while a process is in progress based on the process binary. An operation of storing data in the first storage space 231 may be further included.

일 실시예에 따른 방법은 제 1 저장 공간(231)에 저장된 데이터가 제 2 저장 공간(232)으로 이동되는 마이그레이션 동작이 완료되면, 상태 정보를 제 2 상태에서 제 3 상태로 변경하는 동작을 더 포함할 수 있다.The method according to one embodiment further includes changing the state information from the second state to the third state when the migration operation in which the data stored in the first storage space 231 is moved to the second storage space 232 is completed. It can be included.

일 실시예에 따른 방법은 라이트 부스터(write booster) 기능의 지원 여부를 확인하는 동작, 라이트 부스터 기능을 지원하는 경우, 라이트 부스터 기능을 활성화하는 동작, 및 활성화된 라이트 부스터 기능을 기반으로 외부 전자 장치로부터 다운로드된 데이터를 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작을 더 포함할 수 있다. A method according to an embodiment includes checking whether the write booster function is supported, if the write booster function is supported, activating the write booster function, and an external electronic device based on the activated write booster function. It may further include storing data downloaded from in the first storage space 231 of the first memory 230.

일 실시예에 따른 방법은 공정 프로세스의 완료에 응답하여, 전자 장치(101)를 재부팅하는 동작, 전자 장치(101)의 재부팅 동작에 응답하여, 운영 체제의 실행을 확인하는 동작, 재부팅 동작에 따른 운영 체제의 실행에 응답하여, 비활성화된 라이트 부스터 플러시 기능을 활성화하는 동작, 및 활성화된 라이트 부스터 플러시 기능을 기반으로 제 1 저장 공간(231)에 저장된 데이터를 제 2 저장 공간(232)으로 마이그레이션하는 동작을 더 포함할 수 있다. A method according to an embodiment includes, in response to completion of a process, rebooting the electronic device 101, confirming execution of the operating system in response to the rebooting operation of the electronic device 101, and following the rebooting operation. In response to execution of the operating system, activating a disabled light booster flush function, and migrating data stored in the first storage space 231 to the second storage space 232 based on the activated light booster flush function. Additional actions may be included.

일 실시예에 따른 방법은 전자 장치(101)의 부트로더 실행에 응답하여, 라이트 부스터 기능을 활성화하는 동작, 및 전자 장치(101)의 운영체제 실행에 응답하여, 라이트 부스터 기능을 비활성화하는 동작을 더 포함할 수 있다.The method according to one embodiment further includes activating the light booster function in response to execution of the bootloader of the electronic device 101, and deactivating the light booster function in response to execution of the operating system of the electronic device 101. It can be included.

본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to those components in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.

본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these. For example, a processor (e.g., processor 120) of a device (e.g., electronic device 101) may call at least one command among one or more commands stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between cases where it is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is. According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.

101: 전자 장치 120, 210: 프로세서
205: DRAM 211: 호스트 컨트롤러
212: 제 1 바이너리 213: 제 2 바이너리
214: 제 3 바이너리 220: 저장 장치
221: 저장 장치 제어부 230: NAND 저장부
231: 제 1 저장 공간 232: 제 2 저장 공간
101: electronic device 120, 210: processor
205: DRAM 211: Host Controller
212: first binary 213: second binary
214: third binary 220: storage device
221: storage device control unit 230: NAND storage unit
231: first storage space 232: second storage space

Claims (20)

저장 장치(220)에 있어서,
제 1 비트의 데이터가 저장되는 제 1 저장 공간(231) 및 상기 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(232)을 포함하는 제 1 메모리(230);
상태 정보가 저장되는 제 2 메모리(205); 및
상기 제 1 메모리(230) 및 상기 제 2 메모리(205)에 작동적으로 연결된 메모리 컨트롤러(221); 를 포함하고,
상기 메모리 컨트롤러(221)는,
상기 제 2 메모리(205)에 저장된 상기 상태 정보를 기반으로, 상기 저장 장치(220)에서 PSA(product state awareness) 인터페이스를 지원하는지 여부를 확인하고,
상기 PSA 인터페이스의 지원 확인에 응답하여, 상기 상태 정보를 제 1 상태로 변경하고,
상기 상태 정보가 상기 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 상기 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하고,
상기 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상기 상태 정보를 제 2 상태로 변경하고,
상기 상태 정보가 상기 제 2 상태인 것에 응답하여, 상기 제 1 저장 공간(231)에 저장된 데이터를 상기 제 2 저장 공간(232)으로 마이그레이션하는 저장 장치.
In the storage device 220,
A first memory 230 including a first storage space 231 in which a first bit of data is stored and a second storage space 232 in which a second or more bit of data other than the first bit is stored;
a second memory 205 in which status information is stored; and
a memory controller 221 operatively connected to the first memory 230 and the second memory 205; Including,
The memory controller 221,
Based on the state information stored in the second memory 205, determine whether the storage device 220 supports a product state awareness (PSA) interface,
In response to confirmation of support of the PSA interface, change the state information to a first state,
In response to the state information being the first state, data downloaded from an external electronic device is stored in the first storage space 231 of the first memory 230,
In response to completion of the process process corresponding to the downloaded data, changing the state information to a second state,
A storage device that migrates data stored in the first storage space (231) to the second storage space (232) in response to the state information being the second state.
제 1 항에 있어서,
상기 메모리 컨트롤러(221)는,
상기 제 1 메모리(230)의 전체 저장 공간 중에서 상기 제 1 저장 공간(231)이 차지하는 비율을 확인하고,
상기 확인된 비율이 제 1 조건을 충족하는 경우, 상기 제 1 저장 공간(231)의 사이즈를 확인하고,
상기 상태 정보가 상기 제 1 상태인 것에 응답하여, 상기 다운로드된 데이터를 상기 제 1 메모리(230)의 상기 제 1 저장 공간(231)에 저장하는 저장 장치.
According to claim 1,
The memory controller 221,
Check the ratio occupied by the first storage space 231 among the total storage space of the first memory 230,
If the confirmed ratio satisfies the first condition, check the size of the first storage space 231,
A storage device that stores the downloaded data in the first storage space (231) of the first memory (230) in response to the state information being the first state.
제 1 항 내지 제 2 항에 있어서,
상기 제 1 조건은 상기 제 1 메모리(230)의 전체 저장 공간 중에서 상기 제 1 저장 공간(231)이 차지하는 비율이 약 1/3을 초과하는 조건을 포함하고,
상기 메모리 컨트롤러(221)는,
상기 제 1 조건을 충족하는 경우, 상기 제 1 저장 공간(231)의 사이즈가 약 20GB 이상으로 설정되었는지 여부를 확인하는 저장 장치.
According to claims 1 and 2,
The first condition includes a condition in which the proportion of the first storage space 231 of the total storage space of the first memory 230 exceeds about 1/3,
The memory controller 221,
A storage device that checks whether the size of the first storage space (231) is set to about 20 GB or more when the first condition is met.
제 1 항 내지 제 3 항에 있어서,
상기 상태 정보는 PSA 인터페이스의 지원 여부를 나타내는 제 1 코드 정보, 상기 제 1 저장 공간(231)의 최대 사이즈를 나타내는 제 2 코드 정보, 전자 장치(101)의 상태를 나타내는 제 3 코드 정보, 및 상기 제 1 저장 공간(231)의 사이즈를 나타내는 제 4 코드 정보 중 적어도 하나를 포함하는 저장 장치.
According to claims 1 to 3,
The status information includes first code information indicating whether the PSA interface is supported, second code information indicating the maximum size of the first storage space 231, third code information indicating the status of the electronic device 101, and the A storage device including at least one of fourth code information indicating the size of the first storage space 231.
제 1 항 내지 제 4 항에 있어서,
상기 메모리 컨트롤러(221)는,
공정 바이너리에 대응되는 데이터를 상기 제 1 메모리(230)의 상기 제 1 저장 공간(231)에 저장하고,
상기 공정 바이너리를 기반으로 상기 공정 프로세스가 진행되는 동안, 발생하는 적어도 하나의 데이터를 상기 제 1 저장 공간(231)에 저장하는 저장 장치.
According to claims 1 to 4,
The memory controller 221,
Store data corresponding to the process binary in the first storage space 231 of the first memory 230,
A storage device that stores at least one data generated while the process is in progress based on the process binary in the first storage space (231).
제 1 항 내지 제 5 항에 있어서,
상기 메모리 컨트롤러(221)는,
상기 적어도 하나의 데이터를 상기 제 1 저장 공간(231)에 저장할 때, 상기 제 1 저장 공간(231)이 초과되는 상황을 확인하고,
상기 제 1 저장 공간(231)이 초과되는 상황에 응답하여, 상기 적어도 하나의 데이터를 상기 제 2 저장 공간(232)에 저장하는 저장 장치.
According to claims 1 to 5,
The memory controller 221,
When storing the at least one data in the first storage space 231, confirming a situation in which the first storage space 231 is exceeded,
A storage device that stores the at least one data in the second storage space (232) in response to a situation where the first storage space (231) is exceeded.
제 1 항 내지 제 6 항에 있어서,
상기 메모리 컨트롤러(221)는,
상기 제 1 저장 공간(231)에 저장된 데이터가 상기 제 2 저장 공간(232)으로 이동되는 마이그레이션 동작이 완료되면, 상기 상태 정보를 상기 제 2 상태에서 제 3 상태로 변경하는 저장 장치.
According to claims 1 to 6,
The memory controller 221,
A storage device that changes the state information from the second state to the third state when a migration operation in which data stored in the first storage space (231) is moved to the second storage space (232) is completed.
제 1 항 내지 제 7 항에 있어서,
상기 메모리 컨트롤러(221)는,
상기 상태 정보가 상기 제 1 상태일 때, 상기 제 1 저장 공간(231)에 기 저장된 데이터를 확인하고,
상기 기 저장된 데이터를 마이그레이션 제외 데이터로 설정하고,
상기 마이그레이션 동작이 수행될 때, 상기 제 1 저장 공간(231)에 저장된 데이터 중에서 상기 마이그레이션 제외 데이터가 아닌, 나머지 데이터를 마이그레이션하는 저장 장치.
According to claims 1 to 7,
The memory controller 221,
When the state information is in the first state, check data previously stored in the first storage space 231,
Set the previously stored data as data excluded from migration,
A storage device that migrates remaining data other than the migration-excluded data among the data stored in the first storage space (231) when the migration operation is performed.
제 1 항에 있어서,
상기 공정 프로세스는 열이 발생하는 테스트 및 공정 단계를 포함하는 저장 장치.
According to claim 1,
A storage device in which the processing process includes testing and processing steps in which heat is generated.
제 1 항에 있어서,
상기 메모리 컨트롤러(221)는,
라이트 부스터(write booster) 기능의 지원 여부를 확인하고,
상기 라이트 부스터 기능을 지원하는 경우, 상기 라이트 부스터 기능을 활성화하고,
상기 활성화된 라이트 부스터 기능을 기반으로 상기 외부 전자 장치로부터 다운로드된 데이터를 상기 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 저장 장치.
According to claim 1,
The memory controller 221,
Check whether the write booster function is supported,
If the light booster function is supported, activate the light booster function,
A storage device that stores data downloaded from the external electronic device in the first storage space (231) of the first memory (230) based on the activated light booster function.
제 1 항 내지 제 10 항에 있어서,
상기 메모리 컨트롤러(221)는,
상기 라이트 부스터 기능을 지원하는 경우, 상기 라이트 부스터 기능과 관련된 라이트 부스터 플러시 기능을 비활성화하고,
상기 비활성화된 라이트 부스터 플러시 기능을 기반으로 상기 마이그레이션 동작을 중단하는 저장 장치.
The method of claims 1 to 10,
The memory controller 221,
If the light booster function is supported, disable the light booster flush function related to the light booster function,
A storage device that stops the migration operation based on the disabled light booster flush function.
제 1 항 내지 제 11 항에 있어서,
상기 메모리 컨트롤러(221)는,
재부팅 동작에 따른 운영 체제의 실행에 응답하여, 상기 비활성화된 라이트 부스터 플러시 기능을 활성화하고,
상기 활성화된 라이트 부스터 플러시 기능을 기반으로 상기 제 1 저장 공간(231)에 저장된 데이터를 상기 제 2 저장 공간(232)으로 마이그레이션하는 저장 장치.
The method of claims 1 to 11,
The memory controller 221,
In response to execution of the operating system following a reboot operation, activating the disabled light booster flush function,
A storage device that migrates data stored in the first storage space (231) to the second storage space (232) based on the activated light booster flush function.
제 1 항 내지 제 12 항에 있어서,
상기 메모리 컨트롤러(221)는,
전자 장치(101)의 부트로더 실행에 응답하여, 상기 라이트 부스터 기능을 활성화하고,
상기 전자 장치(101)의 운영체제 실행에 응답하여, 상기 라이트 부스터 기능을 비활성화하는 저장 장치.
The method of claims 1 to 12,
The memory controller 221,
In response to executing the bootloader of the electronic device 101, activating the light booster function,
A storage device that disables the light booster function in response to execution of the operating system of the electronic device (101).
저장 장치(220)의 동작 방법에 있어서,
제 1 비트의 데이터가 저장되는 제 1 저장 공간(231) 및 상기 제 1 비트가 아닌, 제 2 비트 이상의 데이터가 저장되는 제 2 저장 공간(232)을 포함하는 제 1 메모리(230) 및 상태 정보가 저장되는 제 2 메모리(205) 중 상기 제 2 메모리(205)에 저장된 상태 정보를 기반으로, 상기 저장 장치(220)에서 PSA(product state awareness) 인터페이스를 지원하는지 여부를 확인하는 동작;
상기 PSA 인터페이스의 지원 확인에 상기 상태 정보를 제 1 상태로 변경하는 동작;
상기 상태 정보가 상기 제 1 상태인 것에 응답하여, 외부 전자 장치로부터 다운로드된 데이터를 상기 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작;
상기 다운로드된 데이터에 대응되는 공정 프로세스의 완료에 응답하여, 상기 상태 정보를 제 2 상태로 변경하는 동작; 및
상기 상태 정보가 상기 제 2 상태인 것에 응답하여, 상기 제 1 저장 공간(231)에 저장된 데이터를 상기 제 2 저장 공간(232)으로 마이그레이션하는 동작; 을 포함하는 방법.
In the method of operating the storage device 220,
A first memory 230 and status information including a first storage space 231 in which a first bit of data is stored and a second storage space 232 in which a second or more bit of data other than the first bit is stored An operation of checking whether the storage device 220 supports a product state awareness (PSA) interface based on state information stored in the second memory 205 of the second memory 205 in which is stored;
Changing the state information to a first state upon confirmation of support of the PSA interface;
In response to the state information being the first state, storing data downloaded from an external electronic device in the first storage space 231 of the first memory 230;
In response to completion of a process corresponding to the downloaded data, changing the state information to a second state; and
migrating data stored in the first storage space (231) to the second storage space (232) in response to the state information being in the second state; How to include .
제 14 항에 있어서,
상기 제 1 메모리(230)의 전체 저장 공간 중에서 상기 제 1 저장 공간(231)이 차지하는 비율을 확인하는 동작; 및
상기 확인된 비율이 제 1 조건을 충족하는 경우, 상기 제 1 저장 공간(231)의 사이즈를 확인하는 동작; 을 더 포함하고,
상기 제 1 조건은 상기 제 1 메모리(230)의 전체 저장 공간 중에서 상기 제 1 저장 공간(231)이 차지하는 비율이 약 1/3을 초과하는 조건을 포함하는 방법.
According to claim 14,
Checking the ratio occupied by the first storage space 231 among the total storage space of the first memory 230; and
If the confirmed ratio satisfies a first condition, confirming the size of the first storage space 231; It further includes,
The first condition includes a condition that the ratio of the first storage space 231 to the total storage space of the first memory 230 exceeds about 1/3.
제 14 항 내지 제 15 항에 있어서,
공정 바이너리에 대응되는 데이터를 상기 제 1 메모리(230)의 상기 제 1 저장 공간(231)에 저장하는 동작; 및
상기 공정 바이너리를 기반으로 상기 공정 프로세스가 진행되는 동안, 발생하는 적어도 하나의 데이터를 상기 제 1 저장 공간(231)에 저장하는 동작; 을 더 포함하는 방법.
The method of claims 14 to 15,
An operation of storing data corresponding to a process binary in the first storage space 231 of the first memory 230; and
An operation of storing at least one data generated while the process is in progress based on the process binary in the first storage space 231; How to include more.
제 14 항 내지 제 16 항에 있어서,
상기 제 1 저장 공간(231)에 저장된 데이터가 상기 제 2 저장 공간(232)으로 이동되는 마이그레이션 동작이 완료되면, 상기 상태 정보를 상기 제 2 상태에서 제 3 상태로 변경하는 동작; 을 더 포함하는 방법.
The method of claims 14 to 16,
When a migration operation in which data stored in the first storage space 231 is moved to the second storage space 232 is completed, changing the state information from the second state to a third state; How to include more.
제 14 항에 있어서,
라이트 부스터(write booster) 기능의 지원 여부를 확인하는 동작;
상기 라이트 부스터 기능을 지원하는 경우, 상기 라이트 부스터 기능을 활성화하는 동작; 및
상기 활성화된 라이트 부스터 기능을 기반으로 상기 외부 전자 장치로부터 다운로드된 데이터를 상기 제 1 메모리(230)의 제 1 저장 공간(231)에 저장하는 동작; 을 더 포함하는 방법.
According to claim 14,
An operation to check whether the write booster function is supported;
If the light booster function is supported, activating the light booster function; and
An operation of storing data downloaded from the external electronic device in the first storage space 231 of the first memory 230 based on the activated light booster function; How to include more.
제 14 항 내지 제 18 항에 있어서,
상기 공정 프로세스의 완료에 응답하여, 전자 장치(101)를 재부팅하는 동작;
상기 전자 장치(101)의 재부팅 동작에 응답하여, 운영 체제의 실행을 확인하는 동작;
상기 재부팅 동작에 따른 상기 운영 체제의 실행에 응답하여, 상기 비활성화된 라이트 부스터 플러시 기능을 활성화하는 동작; 및
상기 활성화된 라이트 부스터 플러시 기능을 기반으로 상기 제 1 저장 공간(231)에 저장된 데이터를 상기 제 2 저장 공간(232)으로 마이그레이션하는 동작; 을 더 포함하는 방법.
The method of claims 14 to 18,
In response to completion of the processing process, rebooting the electronic device 101;
Confirming execution of an operating system in response to a rebooting operation of the electronic device 101;
activating the disabled light booster flush function in response to execution of the operating system according to the reboot operation; and
An operation of migrating data stored in the first storage space (231) to the second storage space (232) based on the activated light booster flush function; How to include more.
제 14 항 내지 제 19 항에 있어서,
상기 전자 장치(101)의 부트로더 실행에 응답하여, 상기 라이트 부스터 기능을 활성화하는 동작; 및
상기 전자 장치(101)의 운영체제의 실행에 응답하여, 상기 라이트 부스터 기능을 비활성화하는 동작; 을 더 포함하는 방법.
The method of claims 14 to 19,
activating the light booster function in response to execution of the bootloader of the electronic device 101; and
disabling the light booster function in response to execution of an operating system of the electronic device 101; How to include more.
KR1020230004055A 2022-11-21 2023-01-11 Method and electronic device for manufacturing storage device KR20240074611A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/018575 WO2024112015A1 (en) 2022-11-21 2023-11-17 Method for manufacturing storage device, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220156762 2022-11-21
KR20220156762 2022-11-21

Publications (1)

Publication Number Publication Date
KR20240074611A true KR20240074611A (en) 2024-05-28

Family

ID=91277188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230004055A KR20240074611A (en) 2022-11-21 2023-01-11 Method and electronic device for manufacturing storage device

Country Status (1)

Country Link
KR (1) KR20240074611A (en)

Similar Documents

Publication Publication Date Title
US20230342074A1 (en) Electronic device and method for operation of storage of electronic device
US10691624B2 (en) Universal flash storage, electronic device capable of connecting to a plurality type of memory devices and method thereof
US20230168831A1 (en) Electronic device and operation method of electronic device for managing storage space
CN114450662A (en) Application optimization method and electronic device supporting same
KR20240074611A (en) Method and electronic device for manufacturing storage device
KR20220102421A (en) Electronic device and memory management method of the electronic device
KR20220099322A (en) Electronic device and method for managing memory using the same
WO2024112015A1 (en) Method for manufacturing storage device, and electronic device
KR20230037910A (en) Printed circuit board and method for data processing
US20230305855A1 (en) Electronic device including controller for system booting and operating method thereof
KR20220135504A (en) Data Storage device and operating method of data Storage device
KR20230063819A (en) Electronic device for adjusting driving voltage of volatile memory and method for operating the same
KR20240072871A (en) Method for operating nonvolatile memory device based on temperature of memory and electronic device supporting the same
US11907166B2 (en) Electronic device and method for updating database based on reserved space
US20230118797A1 (en) Data swapping method and electronic device supporting same
US20230130911A1 (en) Apparatus for managing cache loss and operation method thereof
EP4343766A1 (en) Electronic device for adjusting driving voltage of volatile memory, and operating method therefor
US20230267071A1 (en) Electronic device and method controlling the same
EP4394577A1 (en) Method for operating non-volatile memory on basis of temperature of memory and electronic device for supporting same
KR20220102360A (en) Electronic device perfroming test for detecting fault of electronic device and method thereof
KR20230081556A (en) Electronic device and operation method of electronic device for managing storage space
KR20220102339A (en) Electronic device and kernel module loading method of the electronic device
KR20230139262A (en) Electronic device including the controller for system booting and method
KR20220101967A (en) Electronic device and memory management method of the electronic device
KR20230045488A (en) Method for connecting external electronic device and electronic device supporting the same