KR20250173406A - 데이터 저장 장치 및 그의 동작 방법 - Google Patents

데이터 저장 장치 및 그의 동작 방법

Info

Publication number
KR20250173406A
KR20250173406A KR1020250041976A KR20250041976A KR20250173406A KR 20250173406 A KR20250173406 A KR 20250173406A KR 1020250041976 A KR1020250041976 A KR 1020250041976A KR 20250041976 A KR20250041976 A KR 20250041976A KR 20250173406 A KR20250173406 A KR 20250173406A
Authority
KR
South Korea
Prior art keywords
firmware
memory unit
main
memory
booting
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020250041976A
Other languages
English (en)
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/KR2025/006603 priority Critical patent/WO2025254357A1/ko
Publication of KR20250173406A publication Critical patent/KR20250173406A/ko
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices

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 펌웨어 및 제2 메모리부에 저장된 제2 펌웨어 중 어느 하나가 메인 펌웨어로 동작하도록 지시하는 제어 신호를 수신하는 단계, 상기 제어 신호에 따라 상기 제1 펌웨어를 메인 펌웨어로 실행하는 단계, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제1 펌웨어를 참조하여 상기 제2 펌웨어를 업데이트하는 단계, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 상기 부팅이 실패하면, 상기 제2 펌웨어를 메인 펌웨어로 실행하는 단계, 그리고 상기 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제2 펌웨어를 참조하여 상기 제1 펌웨어를 업데이트하는 단계를 포함한다.

Description

데이터 저장 장치 및 그의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD OF THE SAME}
본 발명은 데이터 저장 장치 및 그의 동작 방법에 관한 것이다.
데이터 저장 장치는 전자기기, 통신, 차량, 네트워크, 텔레매틱스 등 다양한 기술분야에 광범위하게 사용된다. 특히, NAND 플래시 메모리는 NAND 기반 데이터 저장 장치의 일 예이며, 비휘발성 메모리이다.
NAND 플래시 메모리에 대한 전원 순단이 발생하거나, 전원이 불안정하게 공급될 경우, 메모리 내 데이터가 손상을 입을 수 있다. 예를 들어, 기록(write)/소거(erase) 진행 중 NAND 플래시 메모리에 대한 전원 순단이 발생한 경우, 데이터가 정상적으로 저장되지 않고 깨질 수 있다. 특히, 기록(write)/소거(erase) 진행 중이던 블록의 일부는 백업 후 복구가 가능하지만, 일부 블록은 복구가 어려울 수도 있다.
NAND 플래시 메모리를 포함하는 임베디드 시스템에 전원 순단이 발생한 경우, 시스템의 부팅이 어려워질 수 있으며, 시스템의 신뢰성이 낮아질 수 있다. 이에 따라, 전원 순단 시에도 시스템의 신뢰성을 유지하며 안정적으로 부팅할 수 있는 방법이 필요하다.
본 발명이 이루고자 하는 기술적 과제는 전원 순단 시에도 데이터의 손실 없이 안정적인 부팅이 가능한 데이터 저장 장치 및 그의 동작 방법을 제공하는 데 있다.
본 발명의 한 실시예에 따른 데이터 저장 장치의 동작 방법은 제1 메모리부에 저장된 제1 펌웨어 및 제2 메모리부에 저장된 제2 펌웨어 중 어느 하나가 메인 펌웨어로 동작하도록 지시하는 제어 신호를 수신하는 단계, 상기 제어 신호에 따라 상기 제1 펌웨어를 메인 펌웨어로 실행하는 단계, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제1 펌웨어를 참조하여 상기 제2 펌웨어를 업데이트하는 단계, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 상기 부팅이 실패하면, 상기 제2 펌웨어를 메인 펌웨어로 실행하는 단계, 그리고 상기 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제2 펌웨어를 참조하여 상기 제1 펌웨어를 업데이트하는 단계를 포함한다.
상기 제1 메모리부 및 상기 제2 메모리부는 하나의 NAND 플래시 메모리에 포함된 서로 다른 다이(Die)일 수 있다.
상기 제1 메모리부에 할당된 어드레스 구간은 상기 제2 메모리부에 할당된 어드레스 구간과 중첩되지 않을 수 있다.
상기 제1 펌웨어가 메인 펌웨어로 동작할 때 상기 제1 메모리부에 할당된 어드레스 구간 내 제1 부트 시작 어드레스로부터 부팅이 실행되고, 상기 제2 펌웨어가 메인 펌웨어로 동작할 때 상기 제2 메모리부에 할당된 어드레스 구간 내 제2 부트 시작 어드레스로부터 부팅이 실행될 수 있다.
상기 제1 메모리부에 할당된 어드레스 구간은 0 내지 2N-1이고, 상기 제2 메모리부에 할당된 어드레스 구간은 2N 내지 2N+1-1일 수 있다.
상기 제어 신호는 적어도 하나의 GPIO(general purpose input output)를 통하여 수신될 수 있다.
본 발명의 한 실시예에 따른 데이터 저장 장치는 제1 펌웨어를 저장하는 제1 메모리부, 제2 펌웨어를 저장하는 제2 메모리부, 그리고 제어부를 포함하고, 상기 제어부는, 상기 제1 펌웨어 및 상기 제2 펌웨어 중 어느 하나가 메인 펌웨어로 동작하도록 지시하는 제어 신호를 수신하면, 상기 제어 신호에 따라 상기 제1 펌웨어를 메인 펌웨어로 실행하고, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제1 펌웨어를 참조하여 상기 제2 펌웨어를 업데이트하고, 상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 실패하면, 상기 제2 펌웨어를 메인 펌웨어로 실행하며, 상기 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면 상기 제2 펌웨어를 참조하여 상기 제1 펌웨어를 업데이트하도록 설정된다.
본 발명의 실시예에 따르면, 전원 순단 시에도 데이터의 손실 없이 안정적인 부팅이 가능한 데이터 저장 장치 및 그의 동작 방법을 얻을 수 있다. 특히, 본 발명의 실시예에 따르면, 메모리의 용량 또는 메모리의 물리적인 크기를 증가시키지 않고도, 전원 순단 시 손실된 데이터를 복구하는 것이 가능하다. 또한, 본 발명의 실시예에 따르면, 데이터 저장 장치의 정상적인 동작과 동시에 백업 데이터의 업데이트가 가능하다.
도 1은 본 발명의 한 실시예에 따른 데이터 저장 장치를 포함하는 시스템의 블록도이다.
도 2는 본 발명의 한 실시예에 따른 데이터 저장 장치의 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 데이터 저장 장치의 블록도이다
도 4는 본 발명의 한 실시예에 따른 데이터 저장 장치의 동작 방법의 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 데이터 저장 장치의 동작 방법의 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 데이터 저장 장치의 동작 방법의 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합, 치환하여 사용할 수 있다.
또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.
또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다.
이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.
그리고, 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결, 결합 또는 접속되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합' 또는 '접속' 되는 경우도 포함할 수 있다.
또한, 각 구성 요소의 "상(위) 또는 하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, 상(위) 또는 하(아래)는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위) 또는 하(아래)"으로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 한 실시예에 따른 데이터 저장 장치를 포함하는 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 한 실시예에 따른 시스템(10)은 전원 장치(100) 및 데이터 저장 장치(200)를 포함한다.
전원 장치(100)는 변환부(110), 입력 전압 검출부(120) 및 검출 신호 전달부(130)를 포함할 수 있다. 변환부(110)는 주 전원(main power)에 해당하는 입력 전압을 수신하며, 수신한 입력 전압을 데이터 저장 장치(200)의 각 구성 요소에서 요구되는 전압으로 변환하여 출력할 수 있다. 더욱 구체적으로, 변환부(110)는 레귤레이터(regulator)로 구현될 수 있다. 레귤레이터는 입력단을 통해 입력 전압을 수신하고, 출력단을 통해 출력 전압을 출력할 수 있다. 레귤레이터의 출력 전압은 데이터 저장 장치(200)의 구동 전압일 수 있다. 레귤레이터는 입력 전압을 안정화하여 출력함으로써 데이터 저장 장치(200)에 안정적인 구동 전압을 구동할 수 있다.
입력 전압 검출부(120)는 주전원으로 공급되는 입력 전압의 크기를 검출하고, 이에 따른 검출 신호를 출력할 수 있다. 예를 들어, 입력 전압 검출부(120)는 비교기를 포함할 수 있으며, 입력 전압과 기준 신호 간 비교 결과에 따라 검출 신호를 출력할 수 있다. 검출 신호 전달부(130)는 입력 전압 검출부(120)로부터 출력된 검출 신호를 데이터 저장 장치(200)에 전달할 수 있다. 도시되지 않았으나, 검출 신호 전달부(130)는 검출 신호가 가지는 높은 전압을 데이터 저장 장치(200)의 제어부(230)에서 수신할 수 있는 수준의 낮은 전압으로 변환하여 출력하는 논리 회로를 포함할 수 있다.
데이터 저장 장치(200)는 전원 장치(100)로부터 입력되는 전압을 구동 전압으로 하여 동작할 수 있다. 데이터 저장 장치(200)는 제어 장치(300)와 통신을 수행하고, 제어 장치(300)로부터 전달되는 데이터를 저장할 수 있다. 즉, 데이터 저장 장치(200)는 제어 장치(300)와 통신을 하며, 제어 장치(300)로부터 수신한 제어 신호를 저장할 수 있다. 예를 들어, 데이터 저장 장치(200)는 차량 내에 배치되며, 제어 장치(300)는 차량을 제어하는 차량 제어 장치일 수 있으나, 이로 제한되는 것은 아니다. 본 발명의 실시예에 따른 데이터 저장 장치(200)는 전자기기, 통신, 차량, 네트워크, 텔레매틱스 등 다양한 기술분야에 적용될 수 있으며, 제어 장치(300)는 본 발명의 실시예에 따른 데이터 저장 장치(200)가 탑재되는 시스템을 제어하는 장치일 수 있다.
본 발명의 실시예에 따른 데이터 저장 장치(200)는 메모리부(210), 전원 공급부(220) 및 제어부(230)를 포함한다. 제어부(230)는 메모리부(210)를 제어하며, CPU(central processing unit)과 혼용될 수 있다. 제어부(230)는 메모리부(210)로부터 동작 신호를 수신한 후, 이에 기반하여 메모리부(210)에 액세스할 수 있다. 동작 신호는, 예를 들어 Ready output signal 및 Busy output signal일 수 있다.
본 발명의 실시예에 따르면, 메모리부(210)는 데이터의 기록, 소거 및 읽기가 가능한 비휘발성 메모리일 수 있다. 예를 들어, 메모리부(210)는 전기적으로 기록 및 소거가 가능하며, 일정 주기로 데이터를 재작성하는 리프레시 기능이 필요 없는 비휘발성 메모리일 수 있다. 예를 들어, 메모리부(210)는 NAND 플래시 메모리일 수 있다. 제어부(230)의 동작 신호는 메모리부(210)를 구성하는 NAND 플래시 메모리의 타이밍에 대응할 수 있다. 여기서, 타이밍은 NAND 플래시 메모리의 동작 타입에 따라 다른 시간 주기로 변환될 수 있다. 예를 들어, NAND 플래시 메모리의 동작 타입에 따라 다른 시간 주기는 메모리 셀로부터 페이지 레지스터로 데이터를 로딩하는 시간(리딩 동작), 페이지 레지스터로부터 메모리 셀로 데이터를 로딩하는 시간(기록 동작), 블록 단위로 메모리 셀들을 소거하는 시간(소거 동작) 등을 포함할 수 있다.
또는, 메모리부(210)는 NOR(Not AND Read-Only 메모리이거나, eMMC(embedded multimedia card) 메모리일 수도 있으며, 메모리의 종류가 이로 제한되는 것은 아니다.
데이터 저장 장치(200)의 전원 공급부(220)는 변환부(110)의 출력단과 연결되어 변환부(110)의 출력 전압을 수신하고, 수신한 출력 전압을 안정화하여 메모리부(210)에 구동 전압을 공급할 수 있다. 전원 공급부(220)는 메모리부(210)에 구동 전압을 공급하는 PMIC(power management IC)일 수 있다. 전원 공급부(220)를 구성하는 PMIC는 전력용 디스크리트 파워 소자 모듈과 고전압 파워 회로, 저전압 디지털 회로, 고전압 및 저전압 아날로그 회로를 포함하는 전원 제어 모듈일 수 있으며, 데이터 저장 장치(200)에 입력된 입력 전압을 메모리부(210)에 맞게 변환, 분배, 충전 및 제어하는 역할을 할 수 있다.
본 발명의 실시예에 따르면, 전원 순단 또는 전원 불안정 시에도 데이터의 손실 없이 안정적인 부팅이 가능한 데이터 저장 장치를 얻고자 한다.
도 2는 본 발명의 한 실시예에 따른 데이터 저장 장치의 블록도이고, 도 3은 본 발명의 다른 실시예에 따른 데이터 저장 장치의 블록도이며, 도 4는 본 발명의 한 실시예에 따른 데이터 저장 장치의 동작 방법의 순서도이다.
도 2 및 도 3을 참조하면, 데이터 저장 장치(200)는 메모리부(210), 전원 공급부(미도시) 및 제어부(230)를 포함한다. 메모리부(210), 전원 공급부(미도시) 및 제어부(230)와 관련하여 도 1을 참조하여 설명한 내용과 동일한 내용에 대해서는 중복된 설명을 생략한다.
본 발명의 실시예에 따르면, 데이터 저장 장치(200)의 제어부(230)는 부트로더(bootloader, 231)를 포함한다. 데이터 저장 장치(200)에 전원이 들어오면, 부트로더(231)가 실행되며, 이에 따라 운영체제(operating system, OS)가 로드될 수 있다.
본 발명의 실시예에 따르면, 데이터 저장 장치(200)의 메모리부(210)는 복수의 메모리부를 포함한다. 설명의 편의를 위하여, 본 명세서에서는 메모리부(210)가 제1 메모리부(211) 및 제2 메모리부(212)를 포함하는 것으로 도시 및 설명하고 있으나, 이로 제한되는 것은 아니며, 본 발명의 실시예에 따른 메모리부(210)는 2 이상의 복수의 메모리부를 포함할 수 있다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 메모리부(210)는 하나의 NAND 플래시 메모리를 포함하며, 하나의 NAND 플래시 메모리는 복수의 다이(Die)를 포함할 수 있다. 즉, 도 2의 실시예에서 제1 메모리부(211)는 제1 다이(Die)이고, 제2 메모리부(212)는 제2 다이(Die)일 수 있다. 다이는 데이터를 저장하는 기본 단위일 수 있고, 반도체 칩으로 구성될 수 있다. 각 다이는 복수의 블록을 포함할 수 있다. 각 블록은 데이터를 저장하는 논리적 단위이며, 도시되지 않았으나 각 블록은 복수의 페이지(page)를 포함할 수 있다. 데이터의 소거는 블록 단위로 수행될 수 있고, 데이터의 기록은 페이지 단위로 수행될 수 있다. 메모리 어드레스는 페이지 단위로 할당될 수 있다. 또는, 도 2의 실시예에서 제1 메모리부(211) 및 제2 메모리부(212)는 하나의 NOR 메모리에 포함된 제1 다이 및 제2 다이일 수도 있다. 또는, 도 2의 실시예에서 제1 메모리부(211) 및 제2 메모리부(212)는 하나의 eMMC 메모리에 포함된 제1 다이 및 제2 다이일 수도 있다.
또는, 도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 메모리부(210)는 복수의 NAND 플래시 메모리를 포함할 수 있다. 즉, 도 3의 실시예에서 제1 메모리부(211)는 제1 NAND 플래시 메모리와 혼용될 수 있고, 제2 메모리부(212)는 제2 NAND 플래시 메모리와 혼용될 수 있다. 전술한 바와 같이, 각 NAND 플래시 메모리는 복수의 다이를 포함하고, 각 다이는 복수의 블록을 포함하며, 각 블록은 복수의 페이지를 포함하고, 메모리 어드레스는 페이지 단위로 할당될 수 있다. 또는, 도 3의 실시예에서 제1 메모리부(211) 및 제2 메모리부(212)는 제1 NOR 메모리 및 제2 NOR 메모리일 수도 있다. 또는, 도 3의 실시예에서 제1 메모리부(211) 및 제2 메모리부(212)는 제1 eMMC 메모리 및 제2 eMMC 메모리일 수도 있다.
본 발명의 실시예에 따르면, 제1 메모리부(211)에는 제1 펌웨어가 저장되고, 제2 메모리부(212)에는 제2 펌웨어가 저장되며, 제1 메모리부(211)에 저장된 제1 펌웨어와 제2 메모리부(212)에 저장된 제2 펌웨어는 동일한 데이터를 포함한다. 펌웨어는 특정 하드웨어 장치에서 동작하는 프로그램으로, 하드웨어 장치의 기본적인 동작을 제어하고 관리하는 소프트웨어를 의미할 수 있다. 펌웨어는 하드웨어 장치의 동작 방식, 입력 신호 처리, 데이터 전송, 부팅 과정, 오류 감지 수정 등의 기능을 수행할 수 있다. 펌웨어는 주기적 또는 비주기적으로 업데이트될 수 있다. 예를 들어, 펌웨어의 업데이트를 통해 펌웨어에 새로운 기능이 추가되거나, 펌웨어의 성능이 향상될 수 있다. 펌웨어는 데이터 저장 장치(200)의 유선 통신, 무선 통신 또는 외부 저장 장치를 통하여 주기적 또는 비주기적으로 업데이트될 수 있다. 무선 통신은, 예를 들어 FOTA(Firmware Over The Air)일 수 있고, 외부 저장 장치는, 예를 들어 메모리 스틱일 수 있다.
본 발명의 실시예에 따르면, 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 동작할 때, 제2 메모리부(212)에 저장된 제2 펌웨어는 백업 펌웨어로 동작할 수 있고, 제2 메모리부(212)에 저장된 제2 펌웨어가 메인 펌웨어로 동작할 때, 제1 메모리부(211)에 저장된 제1 펌웨어는 백업 펌웨어로 동작할 수 있다. 제1 메모리부(211)에 저장된 제1 펌웨어와 제2 메모리부(212)에 저장된 제2 펌웨어는 동일한 데이터를 포함하면, 메인 펌웨어와 백업 펌웨어가 고정되지 않고 메모리부(210)의 상태에 따라 변경될 수 있다. 즉, 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 고정되고, 제2 메모리부(212)에 저장된 제2 펌웨어가 백업 펌웨어로 고정된 것이 아니라, 메모리부(210)의 상태 또는 제어부(230)의 제어에 따라 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 동작하거나, 제2 메모리부(212)에 저장된 제2 펌웨어가 메인 펌웨어로 동작할 수 있으며, 제1 시점에서 메인 펌웨어로 동작하던 제1 펌웨어가 제2 시점에서는 백업 펌웨어로 동작하고, 제1 시점에서 백업 펌웨어로 동작하던 제2 펌웨어가 제2 시점에서는 메인 펌웨어로 동작할 수도 있다.
도 2 내지 도 4를 참조하면, 제어부(230) 내 부트로더(231)가 실행되면(S400), 제1 메모리부(211)의 제1 펌웨어가 메인 펌웨어로 실행된다(S410). 여기서, 펌웨어는 하드웨어 장치를 제어하거나 지원하는 소프트웨어이며, 펌웨어가 실행되면 시스템이 부팅될 수 있다.
단계 S410에서 제1 메모리부(211)의 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S420), 제2 메모리부(212)에 저장된 제2 펌웨어가 업데이트된다(S430). 이때, 제2 펌웨어는 메인 펌웨어인 제1 펌웨어의 데이터를 참조하여 업데이트될 수 있다. 제2 펌웨어는 메인 펌웨어인 제1 펌웨어의 데이터와 동일하게 업데이트될 수 있다. 이에 따라, 제2 펌웨어는 백업 펌웨어의 역할을 할 수 있다.
본 발명의 실시예에 따르면, 단계 S430의 업데이트는 단계 S420의 부팅 성공 후 주기적 또는 비주기적으로 반복하여 수행될 수 있다. 이에 따르면, 제1 메모리부(211)에 저장된 제1 펌웨어와 제2 메모리부(212)에 저장된 제2 펌웨어는 모두 동일한 최신 데이터를 포함할 수 있다.
한편, 제1 메모리부(211) 또는 제1 메모리부(211)의 제1 펌웨어가 손상된 경우, 단계 S420의 부팅이 실패할 수 있다. 단계 S420의 부팅이 실패하면, 제2 메모리부(212)의 제2 펌웨어가 메인 펌웨어로 실행된다(S440). 단계 S440에서 제2 메모리부(212)의 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S450), 제1 메모리부(211)에 저장된 제1 펌웨어가 복구 및 업데이트된다(S460). 이를 위하여, 제1 펌웨어는 메인 펌웨어인 제2 펌웨어의 데이터를 참조하여 복구 및 업데이트될 수 있다. 이에 따라, 제1 펌웨어는 백업 펌웨어의 역할을 할 수 있다.
본 발명의 실시예에 따르면, 단계 S460의 복구 및 업데이트는 단계 S450의 부팅 성공 후 주기적 또는 비주기적으로 반복하여 수행될 수 있다. 이에 따르면, 제1 메모리부(211)에 저장된 제1 펌웨어와 제2 메모리부(212)에 저장된 제2 펌웨어는 모두 동일한 최신 데이터를 포함할 수 있다.
다만, 단계 S450의 부팅도 실패하면, 제1 메모리부(211)의 제1 펌웨어 및 제2 메모리부(212)의 제2 펌웨어 모두 손상된 것으로 보고, 시스템이 종료되거나 재부팅이 시도될 수 있다(S470).
이와 같이, 제1 메모리부(211)의 제1 펌웨어 및 제2 메모리부(212)의 제2 펌웨어 중 하나가 메인 펌웨어로 동작하고, 다른 하나가 메인 펌웨어의 데이터를 참조하여 복구 및 업데이트되면, 전원 순단 또는 전원 불안정에 의해 두 개의 메모리부 중 하나가 손상되더라도, 나머지 메모리부를 통하여 부팅 및 복구가 가능하며, 메인 펌웨어로 동작하는 제1 메모리부(211)에 영향을 미치지 않고 제2 메모리부(212)의 백업 펌웨어를 업데이트하는 것이 가능하다. 특히, 제1 메모리부(211) 및 제2 메모리부(212)가 하나의 NAND 플래시 메모리에 포함된 제1 다이 및 제2 다이인 경우, 물리적인 공간을 추가하지 않고도 2개의 NAND 플래시 메모리를 사용하는 효과를 얻을 수 있다.
본 발명의 실시예에 따르면, 제어부(230) 내 부트로더(231)가 실행되면, 제1 메모리부(211)의 제1 펌웨어 또는 제2 메모리부(212)의 제2 펌웨어가 메인 펌웨어로 실행된다. 이때, 제1 메모리부(211)의 제1 펌웨어 및 제2 메모리부(212)의 제2 펌웨어 중 어느 펌웨어가 메인 펌웨어로 동작할지는 제어 신호에 의해 선택될 수 있다.
본 명세서에서, 제어 신호는 제어부(230)가 제1 메모리부(211) 또는 제2 메모리부(212)에게 어느 펌웨어가 메인 펌웨어로 동작하고 어느 펌웨어가 백업 펌웨어로 동작할지를 지시하는 신호를 의미할 수 있다. 또는, 제어 신호는 데이터 저장 장치(200) 내의 선택부(240), 전원 장치(100) 또는 제어 장치(300)가 제어부(230)에게 어느 펌웨어가 메인 펌웨어로 동작하고 어느 펌웨어가 백업 펌웨어로 동작할지를 지시하는 신호를 의미할 수도 있다.
도 5는 본 발명의 다른 실시예에 따른 데이터 저장 장치의 동작 방법의 흐름도이다. 설명의 편의를 위하여, 도 1 내지 도 4를 참조하여 설명한 내용과 동일한 내용에 대해서는 중복된 설명을 생략한다.
도 5를 참조하면, 제어부(230) 내 부트로더(231)가 실행되면(S500), 제어부(230)는 제1 메모리부(211) 및 제2 메모리부(212) 중 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 관한 설정을 확인한다(S510). 도 2 및 도 3에 도시된 바와 같이, 제어부(230)는 선택부(240)로부터 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 관한 설정을 수신할 수 있다. 이때, 선택부(240)는 제어부(230)와 연결되며, 제어부(230)에게 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 설정 정보를 저장할 수 있다. 여기서, 선택부(240)는 제어부(230)에 포함되되 부트로더(231)의 외부 구성이거나, 데이터 저장 장치(200)에 포함되되 제어부(230)의 외부 구성이거나, 데이터 저장 장치(200)의 외부 구성일 수 있다. 선택부(240)에 저장된 설정 정보는 고정된 정보가 아닐 수 있다. 예를 들어, 선택부(240)에 저장된 설정 정보는 제어부(230)에 의해 변경되거나, 외부 장치(미도시)에 의해 변경될 수 있다. 예를 들어, 선택부(240)는 메모리 스틱일 수 있다. 제어부(230)는 선택부(240)의 설정에 따라 메모리부(210)에게 메인 펌웨어의 실행 및 백업 펌웨어의 업데이트를 위한 제어 신호를 전송할 수 있다.
단계 S510의 확인 결과, 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부가 제1 메모리부(211)로 설정된 것으로 확인된 경우, 제1 메모리부(211)의 제1 펌웨어가 메인 펌웨어로 실행된다(S520).
단계 S520에서 제1 메모리부(211)의 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S530), 제2 메모리부(212)에 저장된 제2 펌웨어는 제1 메모리부(211)의 제1 펌웨어를 참조하여 업데이트된다(S540).
한편, 제1 메모리부(211) 또는 제1 메모리부(211)의 제1 펌웨어가 손상된 경우, 단계 S530에서 부팅이 실패할 수 있다. 단계 S530의 부팅이 실패하면, 제어부(230)는 메인 펌웨어에 관한 선택부(240)의 설정을 수정한다(S550). 즉, 제어부(230)는 제2 메모리부(212)에 저장된 제2 펌웨어를 메인 펌웨어로 재설정할 수 있다. 이때, 제어부(230)는 선택부(240)가 제2 메모리부(212)에 저장된 제2 펌웨어를 메인 펌웨어로 재설정하도록 선택부(240)를 제어하는 제어 신호를 전송할 수도 있다. 그리고, 제어부(230)는 재설정에 따라 메모리부(210)에게 메인 펌웨어의 실행 및 백업 펌웨어의 업데이트를 위한 제어 신호를 전송할 수 있다.
이후, 제2 메모리부(212)의 제2 펌웨어가 메인 펌웨어로 실행된다(S560). 단계 S560에서 제2 메모리부(212)의 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S570), 제1 메모리부(211)에 저장된 제1 펌웨어는 제2 메모리부(212)에 저장된 제2 펌웨어를 참조하여 복구 및 업데이트된다(S580).
다만, 단계 S570의 부팅도 실패하면, 제1 메모리부(211)의 제1 펌웨어 및 제2 메모리부(212)의 제2 펌웨어 모두 손상된 것으로 보고, 시스템이 종료되거나 재부팅이 시도될 수 있다(S590).
이와 같이, 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 관한 설정 정보가 선택부(240)에 미리 저장되면, 제어부(230)는 선택부(240)에 미리 저장된 설정 정보에 따라 신속하게 메인 펌웨어를 실행할 수 있다. 특히, 부팅 실패 시 해당 메모리부가 아닌 다른 메모리부로 설정 정보를 재설정하면, 다음 부팅 시에도 미리 저장된 재설정 정보에 따라 신속하게 메인 펌웨어를 실행하는 것이 가능하다.
도 6은 본 발명의 또 다른 실시예에 따른 데이터 저장 장치의 동작 방법의 흐름도이다. 설명의 편의를 위하여, 도 1 내지 도 5를 참조하여 설명한 내용과 동일한 내용에 대해서는 중복된 설명을 생략한다.
도 6을 참조하면, 제어부(230) 내 부트로더(231)가 실행되면(S600), 제어부(230)는 제1 메모리부(211) 및 제2 메모리부(212) 중 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 대한 제어 신호를 수신한다(S610). 여기서, 제어 신호는 GPIO(general-purpose input/output)을 통하여 전송되는 외부 입력 신호일 수 있다. 여기서, 제어 신호는 도 1에 도시된 전원 장치(100)로부터 전송되거나, 도 1에 도시된 제어 장치(300)로부터 전송되거나, 도 1에 도시되지 않은 기타 외부 장치로부터 전송될 수 있다. 본 발명의 실시예에 따르면, GPIO를 통하여 전송되는 제어 신호에 따라 부트 시작 어드레스(boot start address)가 지시될 수 있다.
표 1은 GPIO를 통한 제어 신호의 한 예이고, 표 2는 GPIO를 통한 제어 신호의 다른 예이다.
Case 1 GPIO 0 부트 시작 어드레스
1 L 제1 메모리부에 할당된 어드레스
2 H 제2 메모리부에 할당된 어드레스
Case 1 GPIO 0 GPIO 1 GPIO2 부트 시작 어드레스
1 L L L 0
2 L L H 2048
3 L H L 4096
4 L H H 8192
5 H L L 10240
6 H L H 12288
7 H H L 14336
8 H H H 16384
표 1을 참조하면, GPIO 0를 통하여 L 신호가 입력되면, 제1 메모리부(211)에 할당된 어드레스로 부트 시작되고, GPIO를 통하여 H 신호가 입력되면, 제2 메모리부(212)에 할당된 어드레스로 부트 시작될 수 있다. 즉, GPIO 0를 통하여 L 신호가 입력되면, 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 실행되고, GPIO 0를 통하여 H 신호가 입력되면, 제2 메모리부(212)에 저장된 제2 펌웨어가 메인 펌웨어로 실행될 수 있다.
표 2를 참조하면, 메모리부(210)가 8개의 메모리부, 예를 들어 8개의 다이(die)를 포함하고, 3개의 GPIO를 통하여 제어 신호가 입력되면, 3개의 GPIO의 "L" 및 "H" 조합에 따라 각 메모리부에 할당된 어드레스로 부트 시작될 수 있다.
이를 위하여, 메모리부(210)를 구성하는 복수의 메모리부에 대하여, 메모리부 별로 할당된 어드레스 구간은 서로 중첩되지 않도록 설정될 수 있다. 예를 들어, 메모리부(210)가 하나의 NAND 플래시 메모리이고, 제1 메모리부(211) 및 제2 메모리부(212)가 하나의 NAND 플래시 메모리에 포함된 서로 다른 다이(die)인 경우, 다이 별로 할당된 어드레스 구간은 서로 중첩되지 않도록 설정될 수 있다. 예를 들어, 메모리부(210)가 제1 메모리부(211)인 제1 다이(die) 및 제2 메모리부(212)인 제2 다이(die)로 구성된 경우, 제1 메모리부(211)인 제1 다이에 할당된 어드레스 구간은 0~2N-1이고, 제2 메모리부(212)인 제2 다이에 할당된 어드레스 구간은 2N~2N+1-1일 수 있다. 여기서, N은 양의 정수일 수 있다. 예를 들어, 메모리부(210)가 8비트 메모리이고, 메모리부(210)가 제1 메모리부(211)인 제1 다이(die) 및 제2 메모리부(212)인 제2 다이(die)로 구성된 경우, 제1 메모리부(211)인 제1 다이에 대하여 0~2047 구간의 어드레스가 할당되고, 제2 메모리부(212)인 제2 다이에 대하여 2048~4095 구간의 어드레스가 할당될 수 있다. 이와 같이, 다이 별로 할당된 어드레스 구간은 서로 중첩되지 않도록 설정될 경우, GPIO를 통해 지시된 제어 신호에 따라 부트 시작 어드레스가 결정되며, 부트 시작 어드레스로부터 해당 어드레스 구간 내에서 순차적으로 부팅 과정이 수행될 수 있다. 이에 따르면, 전원 순단 또는 전원 불안정에 의해 일부 다이가 손상되더라도 다른 다이가 신속하게 메인 펌웨어의 기능을 하며 부팅될 수 있다.
단계 S610에서 GPIO를 통해 제어부(230)가 수신한 제어 신호에 기초하여, 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 설정되었음이 확인되면, 제1 메모리부(211)의 제1 펌웨어가 메인 펌웨어로 실행된다(S620). 예를 들어, 표 1을 참조하여, GPIO 0을 통하여 L 신호가 입력되면, 이는 제1 메모리부(211)에 저장된 제1 펌웨어가 메인 펌웨어로 설정되었음을 의미할 수 있다. 메모리부(210)가 8비트 메모리이고, 메모리부(210)가 제1 메모리부(211)인 제1 다이(die) 및 제2 메모리부(212)인 제2 다이(die)로 구성된 경우, 제1 메모리부(211)에 할당된 어드레스 구간인 0~2047 중 부트 시작 어드레스인 0으로부터 순차적으로 부팅을 수행할 수 있다.
단계 S620에서 제1 메모리부(211)의 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S630), 제2 메모리부(212)에 저장된 제2 펌웨어는 제1 메모리부(211)에 저장된 제1 펌웨어를 참조하여 업데이트된다(S640).
한편, 제1 메모리부(211) 또는 제1 메모리부(211)의 제1 펌웨어가 손상된 경우, 단계 S630에서 부팅이 실패할 수 있다. 단계 S630의 부팅이 실패하면, 제어부(230)는 제1 메모리부(211) 및 제2 메모리부(212) 중 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부에 대한 제어 신호를 다시 수신하며(S650), 제2 메모리부(212)의 제2 펌웨어가 메인 펌웨어로 실행된다(S660). 예를 들어, 제2 메모리부(212)에 할당된 어드레스 구간인 2048~4095 중 부트 시작 어드레스인 2048으로부터 순차적으로 부팅을 수행할 수 있다. 본 발명의 다른 실시예에서, 단계 S650은 생략될 수도 있으며, 단계 S630의 부팅이 실패하면, 단계 S660이 자동으로 실행될 수도 있다. 즉, 단계 S630의 부팅이 실패하면, 제2 메모리부(212)에 할당된 어드레스 구간 중 부트 시작 어드레스인 2048부터 순차적으로 부팅을 수행할 수도 있다. 단계 S660에서 제2 메모리부(212)의 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면(S670), 제1 메모리부(211)에 저장된 제1 펌웨어는 제2 메모리부(212)에 저장된 제2 펌웨어를 참조하여 복구 및 업데이트된다(S680).
다만, 단계 S670의 부팅도 실패하면, 제1 메모리부(211)의 제1 펌웨어 및 제2 메모리부(212)의 제2 펌웨어 모두 손상된 것으로 보고, 시스템이 종료되거나 재부팅이 시도될 수 있다(S690).
이와 같이, 메인 펌웨어로 동작할 펌웨어가 저장된 메모리부가 고정되지 않고 GPIO를 통해 수신되는 제어 신호에 따라 달라질 경우, 복수의 메모리부 중 하나가 손상되더라도, 손상되지 않은 메모리부를 통하여 신속하게 부팅하고, 손상된 메모리부를 복구 및 업데이트하는 것이 가능하다. 특히, 다이 별로 서로 중첩되지 않는 구간으로 어드레스가 할당될 경우, 각 다이는 메인 펌웨어로 동작하거나 백업 펌웨어로 동작할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (11)

  1. 데이터 저장 장치의 동작 방법에 있어서,
    제1 메모리부에 저장된 제1 펌웨어 및 제2 메모리부에 저장된 제2 펌웨어 중 어느 하나가 메인 펌웨어로 동작하도록 지시하는 제어 신호를 수신하는 단계,
    상기 제어 신호에 따라 상기 제1 펌웨어를 메인 펌웨어로 실행하는 단계,
    상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제1 펌웨어를 참조하여 상기 제2 펌웨어를 업데이트하는 단계,
    상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 상기 부팅이 실패하면, 상기 제2 펌웨어를 메인 펌웨어로 실행하는 단계, 그리고
    상기 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제2 펌웨어를 참조하여 상기 제1 펌웨어를 업데이트하는 단계를 포함하는 동작 방법.
  2. 제1항에 있어서,
    상기 제1 메모리부 및 상기 제2 메모리부는 하나의 NAND 플래시 메모리에 포함된 서로 다른 다이(Die)인 동작 방법.
  3. 제1항에 있어서,
    상기 제1 메모리부에 할당된 어드레스 구간은 상기 제2 메모리부에 할당된 어드레스 구간과 중첩되지 않는 동작 방법.
  4. 제3항에 있어서,
    상기 제1 펌웨어가 메인 펌웨어로 동작할 때 상기 제1 메모리부에 할당된 어드레스 구간 내 제1 부트 시작 어드레스로부터 부팅이 실행되고,
    상기 제2 펌웨어가 메인 펌웨어로 동작할 때 상기 제2 메모리부에 할당된 어드레스 구간 내 제2 부트 시작 어드레스로부터 부팅이 실행되는 동작 방법.
  5. 제3항에 있어서,
    상기 제1 메모리부에 할당된 어드레스 구간은 0 내지 2N-1이고, 상기 제2 메모리부에 할당된 어드레스 구간은 2N 내지 2N+1-1인 동작 방법.
  6. 제1항에 있어서,
    상기 제어 신호는 적어도 하나의 GPIO(general purpose input output)를 통하여 수신되는 동작 방법.
  7. 제1 펌웨어를 저장하는 제1 메모리부,
    제2 펌웨어를 저장하는 제2 메모리부, 그리고
    제어부를 포함하고,
    상기 제어부는,
    상기 제1 펌웨어 및 상기 제2 펌웨어 중 어느 하나가 메인 펌웨어로 동작하도록 지시하는 제어 신호를 수신하면, 상기 제어 신호에 따라 상기 제1 펌웨어를 메인 펌웨어로 실행하고,
    상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면, 상기 제1 펌웨어를 참조하여 상기 제2 펌웨어를 업데이트하고,
    상기 제1 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 실패하면, 상기 제2 펌웨어를 메인 펌웨어로 실행하며,
    상기 제2 펌웨어를 메인 펌웨어로 실행한 결과 부팅이 성공하면 상기 제2 펌웨어를 참조하여 상기 제1 펌웨어를 업데이트하도록 설정된 데이터 저장 장치.
  8. 제7항에 있어서,
    상기 제1 메모리부 및 상기 제2 메모리부는 하나의 NAND 플래시 메모리에 포함된 서로 다른 다이(Die)인 데이터 저장 장치.
  9. 제8항에 있어서,
    상기 제1 메모리부에 할당된 어드레스 구간은 상기 제2 메모리부에 할당된 어드레스 구간과 중첩되지 않는 데이터 저장 장치.
  10. 제9항에 있어서,
    상기 제1 메모리부에 할당된 어드레스 구간은 0 내지 2N-1이고, 상기 제2 메모리부에 할당된 어드레스 구간은 2N 내지 2N+1-1인 데이터 저장 장치.
  11. 제7항에 있어서,
    상기 제어 신호는 적어도 하나의 GPIO를 통하여 수신되는 데이터 저장 장치.
KR1020250041976A 2024-06-03 2025-04-01 데이터 저장 장치 및 그의 동작 방법 Pending KR20250173406A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2025/006603 WO2025254357A1 (ko) 2024-06-03 2025-05-15 데이터 저장 장치 및 그의 동작 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20240072143 2024-06-03
KR1020240072143 2024-06-03

Publications (1)

Publication Number Publication Date
KR20250173406A true KR20250173406A (ko) 2025-12-10

Family

ID=98056864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020250041976A Pending KR20250173406A (ko) 2024-06-03 2025-04-01 데이터 저장 장치 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR20250173406A (ko)

Similar Documents

Publication Publication Date Title
CN111078149B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
JP5173818B2 (ja) 組込みコントローラを介するフラッシュストレージの初期化
JP5142685B2 (ja) メモリシステム
US20110119431A1 (en) Memory system with read-disturb suppressed and control method for the same
CN106158038B (zh) 从非易失性存储器读取数据的方法
EP3133604B1 (en) Method and device for fail-safe erase of flash memory
US20080046778A1 (en) Memory controller and semiconductor memory device
JP4570891B2 (ja) 記憶装置
US10116335B2 (en) Data processing method, memory storage device and memory control circuit unit
US11281402B2 (en) Memory management method, memory storage device and memory control circuit unit
US11467758B2 (en) Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device
JP7550895B2 (ja) 半導体装置およびウエアレベリング方法
US20130091322A1 (en) Electronic System and Memory Managing Method Thereof
US20220374216A1 (en) Method of manufacturing information processing apparatus and mobile computer
CN111028877B (zh) 数据存取方法、存储器储存装置与存储器控制电路单元
US20160054935A1 (en) Data storing method and memory controller and memory storage device using the same
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2835107B2 (ja) 不揮発性半導体記憶装置のエラー訂正回路及びそのエラー訂正方法
US20240028506A1 (en) Mapping table re-building method, memory storage device and memory control circuit unit
KR20250173406A (ko) 데이터 저장 장치 및 그의 동작 방법
US20210320673A1 (en) Error correction circuit and operating method thereof
US12086419B2 (en) Partial erasing management method, memory storage device, and memory control circuit unit
WO2025254357A1 (ko) 데이터 저장 장치 및 그의 동작 방법
TW202611689A (zh) 資料儲存裝置及其操作方法
US20250028633A1 (en) Storage device and control method thereof

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

Q12 Application published

Free format text: ST27 STATUS EVENT CODE: A-1-1-Q10-Q12-NAP-PG1501 (AS PROVIDED BY THE NATIONAL OFFICE)