KR20080012778A - 메모리 관리 방법 및 휴대 단말장치 - Google Patents

메모리 관리 방법 및 휴대 단말장치 Download PDF

Info

Publication number
KR20080012778A
KR20080012778A KR1020070077679A KR20070077679A KR20080012778A KR 20080012778 A KR20080012778 A KR 20080012778A KR 1020070077679 A KR1020070077679 A KR 1020070077679A KR 20070077679 A KR20070077679 A KR 20070077679A KR 20080012778 A KR20080012778 A KR 20080012778A
Authority
KR
South Korea
Prior art keywords
area
block
management
blocks
replacement
Prior art date
Application number
KR1020070077679A
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 소니 에릭슨 모빌 커뮤니케이션즈 재팬, 아이엔씨.
Publication of KR20080012778A publication Critical patent/KR20080012778A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

블록 단위로 기록이 행해지는 불휘발성 메모리에 대한 차분 파일에 의한 소프트웨어 갱신에 적합한 메모리 관리 방법 및 이것을 사용한 휴대 단말장치를 제공한다. 블록 단위로 기록이 행해지는 불휘발성 메모리의 복수의 블록을, 관리 정보를 격납하는 적어도 1개의 블록으로 이루어지는 관리 영역과, 프로그램 코드를 기록하는 복수 블록의 코드 영역과, 불량 블록을 대체하는 복수의 블록으로 이루어지는 대체 영역과, 상기 관리 영역과 상기 대체 영역 사이에 설치되는 적어도 1개의 블록으로 이루어지는 간섭 영역으로 할당한다. 관리 영역 내의 관리 정보로서, 적어도, 대체 대상의 불량 블록과 대체 영역의 블록과의 대응 정보를 기억한다. 불량 블록의 이용시에, 상기 대응 정보에 의거하여 불량 블록 대신에 대체 영역의 블록을 사용한다.
관리 영역, 코드 영역, 대체 영역, 불량 블록, 간섭 영역

Description

메모리 관리 방법 및 휴대 단말장치{Memory Management Method and Portable Terminal Device}
본 발명은, 블록 단위로 기록이 이루어지는 불휘발성 메모리에 관한 것으로, 특히 그 메모리 관리 방법 및 이것을 사용한 휴대 단말장치에 관한 것이다.
휴대전화 단말을 비롯한 휴대 단말장치(간단히 휴대 단말이라고도 한다)에는, 재기록이 가능한 불휘발성 반도체메모리로서, 플래시 메모리가 이용되고 있다. 플래시 메모리에는, NAND형과 NOR형이 있다. NAND형 플래시 메모리(이하, NAND 메모리라고도 한다)는, 대용량화에 적합하고, 단위용량당 비용이 저렴하지만, 일정 사이즈의 블록 단위로만 기록과 판독이 가능하고, 랜덤 액세스가 느린 특징이 있다. 한편, NOR형 플래시 메모리는, 판독 속도가 고속이어서 고속 랜덤 액세스가 가능하지만, 고집적화에 적합하지 않고, 기록에 많은 전류를 필요로 하는 특징이 있다.
따라서, 비용, 고집적화, 소비전력의 면에서 유리한 NAND 메모리를 휴대 단 말의 프로그램의 기억에 이용하고, NAND 메모리로부터 Boot(기동)하는 경우, 일단, NAND 메모리로부터 SDRAM(Synchronous Dynamic Random Access Memory) 등의 RAM에 프로그램 영역이 전송되고, 프로그램은 RAM상에서 실행된다. 이 때문에, 프로그램 본체는 NAND 메모리상에 존재하게 된다.
NAND 메모리에는, 출시시에 이미 불량 블록이 포함되는 것은 통상적이다. 또한, NAND 메모리에는 사용 연월과 함께 열화가 발생하고, 초기 시점에서는 양호했던 블록이 불량해지는 것을 고려할 필요가 있다.
그런데, 휴대 단말 등의 전자기기의 소프트웨어(간단히 소프트라고도 한다)에는, 버그라 불리는 결함을 수정하거나, 기능의 추가나 개선을 실행하기 위한 버전 업이 이루어지는 것이 일반적이다.
버전 업을 실행할 때에는, 프로그램을 NAND 메모리에 로더 등으로 격납한다. 이 경우, 불량 블록은 스킵해서 NAND 메모리에 프로그램을 로드하는 방식이 일반적이다.
후발적으로 불량 블록이 발생한 경우, 프로그램의 전 영역을 NAND 메모리에 로드하는 경우에는 문제는 발생하지 않는다. 그러나, 차분 데이터를 사용한 소프트웨어 갱신과 같이, 갱신 전·후의 차분 파일을 생성하는 경우, 후발 불량 블록의 발생에 기인하여 갱신 전 프로그램의 어드레스 연속성이 손상되어, 갱신용 파일과 의 정합성이 떨어지게 되어, 프로그램을 갱신할 수 없게 되거나, 갱신할 수 있더라도 그 블록 이후에서 블록 내용을 1블록만큼 이동시켜서 재기록할 필요가 생긴다. 그 결과, 차분 파일의 갱신만으로 충분하지 않고, 차분 파일에 의한 소프트웨어 갱신의 이점이 손상되는 문제가 있었다.
본 발명은 이러한 배경에 있어서, 블록 단위로 기록이 이루어지는 불휘발성 메모리에 대한 차분 파일에 의한 소프트웨어 갱신에 알맞은 메모리 관리 방법 및 이것을 사용한 휴대 단말장치를 제공하는 것이다.
본 발명에 의한 메모리 관리 방법은, 블록 단위로 기록이 이루어지는 불휘발성 메모리의 관리 방법으로서, 상기 불휘발성 메모리의 복수의 블록을, 관리 정보를 격납하는 적어도 1개의 블록으로 이루어지는 관리 영역과, 프로그램 코드를 기록하는 복수 블록의 코드 영역과, 불량 블록을 대체하는 복수의 블록으로 이루어지는 대체 영역과, 상기 관리 영역과 상기 대체 영역 사이에 설치되는 적어도 1개의 블록으로 이루어지는 간섭 영역으로 할당하여, 상기 관리 영역 내의 관리 정보로서, 적어도, 상기 대체 영역의 블록과 그 대체 대상의 불량 블록과의 대응 정보를 기억하고, 상기 불량 블록의 이용시에 상기 대응 정보에 의거하여 상기 불량 블록 대신에 상기 대체 영역의 블록을 사용하는 것을 특징으로 한다.
이 메모리 관리 방법에서는, 불휘발성 메모리의 복수의 블록을 「관리 영역」과 「코드 영역」과 「대체 영역」과 「간섭 영역」으로 나누고, 상기 관리 영역 과 상기 대체 영역 사이에 상기 간섭 영역을 배치한다. 이 구성에 의해, 대체 영역을 관리 영역과 코드 영역 모두에 공통으로 이용할 수 있다. 또한 불휘발성 메모리 자체에 관리 영역을 설치함으로써, 외부에 특별한 메모리 관리 수단을 형성하지 않고 불량 블록의 대체 관리를 행할 수 있다.
보다 구체적인 실시예로서, 상기 관리 영역의 블록이 불량이 된 경우, 메모리 어드레스상, 상기 대체 영역 내의 상기 간섭 영역에 가까운 측의 블록으로 상기 간섭 영역을 이동시키고, 원래의 간섭 영역의 1블록을 새로운 관리 영역으로 한다. 또한 상기 대체 영역의 블록은 메모리 어드레스상, 상기 간섭 영역으로부터 먼쪽부터 사용해간다. 이에 따라 간섭 영역이 관리 영역과 대체 영역 사이의 위치 가변의 경계로서 기능하고, 대체 영역의 블록을 관리 영역과 대체 영역 모두에 이용할 수 있다.
본 발명에 의한 휴대 단말장치는, 블록 단위로 기록이 이루어지는 불휘발성 메모리와, 상기 불휘발성 메모리의 복수의 블록을, 관리 정보를 격납하는 적어도 1개의 블록으로 이루어지는 관리 영역과, 프로그램 코드를 기록하는 복수 블록의 코드 영역과, 불량 블록을 대체하는 복수의 블록으로 이루어지는 대체 영역과, 상기 관리 영역과 상기 대체 영역 사이에 설치되는 적어도 1개의 블록으로 이루어지는 간섭 영역으로 할당하여 이용하는 제어 수단을 구비하고, 상기 제어 수단은, 상기 관리 영역 내의 관리 정보로서, 적어도, 상기 대체 영역의 블록과 그 대체 대상의 불량 블록의 대응 정보를 기억하고, 상기 불량 블록의 이용시에 상기 대응 정보에 의거하여 상기 불량 블록 대신에 상기 대체 영역의 블록을 사용하는 것을 특징으로 한다.
본 발명에 의하면, 불휘발성 메모리에 후발 불량 블록이 발생했을 경우라도 그 불량 블록을 대체 영역의 블록으로 대체함으로써, 차분에 의한 갱신용 파일을 기초로 한 소프트웨어 갱신을 행하는 것이 용이하게 된다.
관리 영역에 후발 불량 블록이 발생한 경우에도 간섭 영역을 대체 영역측으로 이동하고, 원래의 간섭 영역을 새로운 관리 영역으로서 이용함으로써, 실질적으로 대체 영역의 블록을 관리 영역과 코드 영역의 양쪽이 이용할 수 있다. 즉, 대체 영역의 일정 개수의 블록의 용도를 한정하지 않고, 대체 영역의 모든 블록을 유효하게 이용하는 것이 가능하게 된다.
상기 관리 영역으로서 각각 관리 정보를 격납하는 적어도 2개의 블록을 사용함으로써, 관리 정보를 외부에 백업할 필요가 없어진다.
또한 대체 영역의 블록에 의한 불량 블록의 대체에 관한 관리 정보를 불휘발성 메모리의 적어도 1블록 안에 격납하여 이용함으로써, MMU등의 특별한 논리·물리 어드레스 변환 수단을 설치할 필요가 없어진다.
이하, 본 발명의 적절한 실시예에 대해서 도면을 참조하면서, 상세하게 설명한다.
도 1은, 본 발명에 의한 실시예에 관련되는 휴대 단말(10)의 하드웨어 개략 구성을 도시하고 있다. 휴대 단말(10)은, 제어부(11), 음성 처리부(12), 마이 크(13), 스피커(14), 기억부(15), 통신부(16), 안테나(17), 조작부(18), 표시부(19)를 구비한다.
제어부(11)는, CPU(Central Processing Unit)나 DSP(Digital Signal Processor)등의 프로세서를 가지고, 휴대 단말(10)의 처리 및 각부의 제어를 주관한다. 음성 처리부(12)는 제어부(11)의 제어하에서 통화나 음악재생 등의 음성처리를 행하여, 마이크(13)로부터의 음성입력, 스피커(14)로의 음성출력을 행한다.
기억부(15)는, 프로그램이나 데이터를 기억하는 부위이며, 본 실시예에서는SDRAM(15a) 및 NAND 메모리(15b)를 가진다.
NAND 메모리(15b)는, 제어부(11)가 실행하는 프로그램을 격납하는 재기록 가능한 불휘발성 메모리이다. NAND 메모리(15b)에는 프로그램 본체의 코드(프로그램 코드)를 격납하는 Code 영역(21)과 갱신용 파일을 격납하는 Storage 영역(22)이 존재한다. Storage 영역(22)에는, 프로그램 외에, 전화번호부, 전자우편, 웹 콘텐츠, 음악, 화상 등의 각종의 데이터를 격납할 수 있다.
Code 영역(21)은, Boot시에 SDRAM(15a)으로 전개되고, 프로그램은 SDRAM(15a)상에서 실행된다. 더 구체적으로는, 제어부(11) 및 기억부(15)에 전원이 공급되면, 제어부(11)의 매립 로직에 의해 NAND 메모리(15b)의 Boot영역의 내용이 제어부내장의 메모리 영역으로 읽혀져 실행된다. 이 프로그램에는 본 발명에서 정하는 불량 블록 관리 방법이 매립되고 있으며, 이 프로그램에 의해 실행 대상 프로그램 코드가 NAND 메모리(15b)로부터 SDRAM(15a)으로 전개되어, 프로그램(25)이 SDRAM(15a)상에서 실행된다. 갱신용 파일은 사전에, 휴대 단말(10)의 외부에서 전 용T00L로 작성되고, 통신부(16)를 통해, 전용 서버로부터 다운로드되어, Storage 영역(22)에 격납된다.
또한 본 발명에서는NAND 메모리상의 연속 영역에 관리 영역을 설치하고, 여기에 관리 정보를 기억해서 불량 블록의 관리 및 후술하는 블록 대체 관리를 행한다. 또한, 본 명세서에 있어서의 「블록」이란 메모리 장치마다 정해지는 특정 사이즈가 그룹화된 단위영역을 한다.
통신부(16)는, 제어부(11)의 제어하에서, 안테나(17)를 통해 기지국(도시 생략)과 무선에 의한 송수신을 행하는 부위이다. 조작부(18)는, 텐키나 각종의 제어 키 등을 가지고, 유저에 의한 지시나 정보를 제어부(11)에 입력하는 기능을 가진다. 표시부(19)는, 예를 들면 LCD, 유기EL등의 표시 디바이스를 가지고, 유저에 대하여 텍스트, 화상(정지 화상, 동영상)등의 가시 정보를 표시하는 기능을 가진다.
상기한 바와 같이, NAND 메모리(15b)로부터 Boot처리를 기동할 경우, 프로그램은 NAND 메모리(15b)로부터 SDRAM(15a)위로 전개되어, 프로그램은 SDRAM(15a)상에서 실행된다. 도 2에서는 NAND 메모리(15b)의 Block(3)에서 이 이후의 블록에 프로그램 영역을 격납하고 있는 예를 도시하고 있다. NAND 메모리(15b)에 대하여 프로그램을 기록할 때에, 도 2b에 나타내는 바와 같이 가령 어느 「블록 N」이 불량인 경우, 그 불량 블록은 사용하지 않고, 다음의 정상인 「블록 N+1」에 프로그램을 기록한다. 프로그램은 SDRAM(15a)상에서 실행되므로 이것으로 충분하다.
NAND 메모리(15b)의 Block N에서 불량이 검출된 경우, 프로그램은 Block N을 건너뛰어, Block N+1에 격납된다. 이 방식은, 프로그램 전체를 갱신하는 것이다. 그러나 이 방식은, 갱신용 파일(차분 파일)을 사용한 소프트웨어 갱신을 행할 때에는 적절하지 않은 경우가 있다.
갱신용 파일(33)은, 도 3에 모식적으로 나타내는 바와 같이, 갱신전 프로그램(31)과 갱신후 프로그램(32)을 비교하여, 차분 파일로서 생성된다. 통상, 이 갱신용 파일(33)은, 갱신후 프로그램(32)에 비하여 사이즈(데이터량)가 작고, 갱신후 프로그램(32) 전체에 비하여, 다운로드나 갱신 처리에 필요한 시간이 단축된다는 이점이 있다.
도 4에 나타내는 바와 같이 갱신용 파일(33)은 소프트웨어 갱신 실행시, 휴대단말 내부의 NAND 메모리(15b)의 Storage영역(22)에 격납되고, 이 갱신용 파일에 의거하여 NAND 메모리(15b)의 Code영역(21)에 격납되어 있는 갱신전 프로그램(31)에 대하여, 소프트웨어 갱신 엔진(23)이 갱신 처리를 행하고, NAND 메모리 위에 갱신후 프로그램(32)을 생성한다. 소프트웨어 갱신 엔진(23)은, 예를 들면 NAND 메모리(15)에 격납되어, 갱신 처리시, 갱신 엔진(23)을, 일단, RAM(15a)에 전개(카피)하고, 이 RAM(15a)안의 소프트웨어 갱신 엔진(23)을 실행함으로써 소프트웨어 갱신을 실현할 수 있다.
프로그램은 NAND 메모리에 격납되므로, 종래 방식에서는 NAND 메모리의 전 블록이 정상인 경우에는 문제없지만, 도 5에 나타내는 바와 같이 후발적으로 불량 블록 N이 발생한 경우에는, 갱신전 프로그램의 어드레스 연속성이 손상되어, 갱신용 파일과의 정합성이 취해지지 않게 되어, 프로그램 갱신을 실시할 수 없게 되거나, 또는 실시할 수 있다고 해도, 이 불량 블록 이후의 블록에 대해 프로그램을 이 동시켜서 기억시키므로, 원래 필요하지 않은 블록의 기록이 필요하게 된다.
본 실시예에서는 미리, NAND 메모리의 불량 블록에 대응할 수 있는 대체 블록을 준비하고, 불량 블록과 대체 블록의 물리 어드레스를 논리 어드레스에서 관리함으로써, NAND 메모리의 어드레스 연속성을 확보할 수 있고, 연속 어드레스를 전제로서 작성된, 소프트웨어 갱신전과 갱신후의 갱신용 파일(차분 파일)을 사용하여, NAND 메모리에 불량 블록이 후발한 경우에도 소프트웨어 갱신을 실행하는 것이 가능하게 된다.
이하, 갱신전 프로그램을 격납한 NAND 메모리에 후발 불량 블록이 발생한 경우에도 소프트웨어 갱신을 가능하게 하는 방법에 관하여 설명한다.
도 6은, 본 실시예에 있어서의 NAND 메모리(15b)의 메모리 공간으로서의 내부 구성 예를 도시하고 있다. NAND 메모리(15b)는 복수의 단위 데이터량에 대응하는 블록으로 분할되어, 각 블록은 도시하는 바와 같이 그 기능이 할당된다. 도 6의 기능의 할당상태는 초기의 할당상태이며, 후술하는 바와 같이, 이 상태는 변화될 수 있다.
NAND 메모리(15b)의 선두 블록(Block 0)에는 부트 코드가 배치된다. Block 1 이후의 블록을 사용하여 본 실시예의 동작이 행해진다.
도시한 예에서는, Block 0에 계속되는 Block 1, Block 2의 2개의 블록을 「관리 영역 1」 및 「관리 영역 2」로서 사용하고 있다. 「관리 영역」은 NAND 메모리의 불량 블록 및 대체 블록을 관리하기 위한 관리 정보를 기억하는 영역이다. 관리 정보의 상세에 대해서는 후술한다. 관리 영역은 NAND 메모리의 기록시의 전원 차단 등에 의한 관리 정보의 소실(파손)의 대책으로서, 복수쌍 구비하고 있다.
「관리 영역 2」에 계속해서「간섭 영역 1」 및 「간섭 영역 2」이 각각 Block3, 4에 설치된다. 「간섭 영역」은, 관리 영역과 대체 영역의 경계를 식별하기 위해 사용하는 영역이다.
「간섭 영역 2」의 Block 4에 계속해서 Block 5∼Block 14까지를 대체 영역으로 하고 있다. 대체 영역은 불량 블록을 대체하기 위한 영역으로서 확보되고 있다. 도시한 예에서는 대체 영역으로서 10개의 블록을 확보하고 있지만, 이 블록수는 사용하는 NAND 메모리의 용량을 고려하여 최적 값으로 조정된다.
대체 영역의 다음 블록(Block 15)부터 이후의 블록은, 실제의 프로그램이 격납하고 있는 Code영역이 이어진다.
여기에서, 도 7에 의해, 본 실시예에 있어서의 관리 영역의 내부구성 및 그 기억 정보에 대하여 설명한다. 관리 영역의 하나의 블록(150)에는, 다음과 같은 정보가 기억된다.
(1)체크 디지트(151) : 하나의 관리 영역(블록)내의 데이터의 파손 등을 체크하기 위한 체크섬 등의 체크용 데이터이다. 이에 따라 데이터 쓰기 중에 전원 차단이 된 경우에, 블록내의 불완전한 기록상태를 판별할 수 있다.
(2)세대수(152) : 관리 영역(블록)내의 관리 정보가 갱신될 때의 세대를 나타내는 세대정보이며, 예를 들면 점차 증가해 가는 번호이다.
(3)대체 영역의 사용수(153) : 대체 영역으로서 준비된 복수의 블록 중 사용 완료된 블록의 개수이다. 이 대신에, 미사용의 블록의 개수를 사용해도 된다. 대체 영역의 당초의 블록수는 기존의 알려진 값(여기에서는 10)이므로, 사용 완료된 블록수와 미사용의 블록수는 어느 한쪽을 알면 다른 쪽을 알 수 있다. 또한, 후술하는 바와 같이 대체 영역의 블록이 불량이 되는 경우도 있으며, 이러한 불량 블록은 「사용 완료」에 해당한다.
(4)대체 대상의 대응 정보(154) : 대체 영역의 정상적인 미사용 블록이 특정 블록의 대체 대상으로서 할당된 경우, 그 대응관계를 나타내는 정보이며, 여기에서는, 불량 블록의 블록 번호와 대체 영역의 블록 번호를 대응시켜 기억하고 있다. 이 예에서는, 최대 10개의 대응 정보를 격납가능하다.
(5)관리용 영역(Block 1-14)안의 불량 블록 정보(155) : 관리 영역, 간섭 영역 및 대체 영역(도 6의 예에서는 Block 1∼14)은 관리용 영역이며, 이들 중 어느 하나의 블록이 불량이 된 경우에 기록되는 그 불량 블록을 특정하는 정보(여기에서는 블록 번호)이다. 어느 관리용 영역의 블록을 이용하고자 하여, 그 블록이 관리용 영역의 블록이 불량으로서 기록되고 있을 경우에는, 그 블록을 뛰어넘어 다음 블록을 이용한다.
도 8에 의해, 블록 기록 실행시(소프트웨어 갱신시)에, 후발적인 불량 블록이 검출된 경우의 움직임을 설명한다. 지금, Block N+3에 불량이 검출되어 기록이 불가능함을 판명했다고 하자. 이 Block N+3은 Bad블록으로서 마킹 되어, 이후 사용은 금지된다. Block N+3에 기록을 행할 예정이었던 Code는, 다음 Block N+4가 아닌, 대체 영역(10)에 대체하여 기록된다. 이 대체 정보는 「관리 영역 1」에 기억한다. 이 예에서는, 대체 영역(10)이 Block N+3을 대체하는 대체 정보가 기억한다.
이와 같이 관리 정보로 불량 블록과 대체 블록의 관리를 행하는 것으로, 실제의 물리 어드레스를 논리 어드레스에 대응하여, 논리 어드레스를 물리 어드레스로 변환하는 어드레스 변환을 행하는 것이 가능하게 된다. 또한 논리 어드레스를 참조하는 것으로 메모리 어드레스의 연속성을 확보할 수 있다. 이러한 관리 영역에 기억된 대체 정보에 의한 논리 어드레스의 물리 어드레스에 의한 변환에 의하면, 외부에 기존에 알려진 메모리 관리 유닛(MMU)등의 특별한 어드레스 변환 수단을 설치할 필요가 없다.
다음에 도 9에 의해, 관리 영역이 불량 블록이 된 경우의 동작을 설명한다. 본 실시예에서는, 전술한 바와 같이, 관리 영역은 「관리 영역 1」과 「관리 영역 2」에 의해, 정(original)·부(duplicate)의 2면이 관리된다.「관리 영역 1」과 「관리 영역 2」는 교대로 이용되어, 이용되는 쪽이 「정」이 되고, 다른 쪽이 「부」가 된다. 관리 영역으로의 정보의 격납은, 하나의 부록에 1세대분의 관리 정보를 격납하는 방법과, 하나의 블록에 복수 세대의 관리 정보를 추기하여, 정의 영역으로의 추기가 불가능하게 되었을 경우에 「정」「부」의 변환을 행하는 방법이 있다. 여기에서는, 설명을 간단히 하기 위해, 전자의 방법에 관하여 설명한다.
또한, 2면 준비하는 이유는 다음과 같다. 본 발명을 적용하는 메모리의 특성상, 이미 정보가 기입되어 있는 장소에 새롭게 정보를 기록할 경우, 한번, 그 블록의 소거 조작을 행하여, 기록되어 있는 정보를 삭제할 필요가 있다. 가령, 1면에만 관리 영역을 갱신할 경우, 관리 영역을 소거했을 때 전원 절단 등의 어떠한 장해가 발생했을 경우에 현재의 관리 정보가 손상되게 된다. 이러한 불편함을 방지하 기 위해, 최신의 정보를 유지하는 블록과, 소거 조작을 행하여 새롭게 갱신된 관리 정보를 기록 블록을 분리한다. 구체적인 관리 영역의 갱신 동작에서는, 관리 영역의 갱신이 필요한 경우, 「부」영역을 소거하고, 「정」영역으로부터 판독한 정보를 갱신하여 「부」영역에 새로운 세대수로 기록한다. 이 기록종료 시점에서, 정·부영역의 교환이 완료하여, 구 「부」영역이 「정」영역으로, 구「정」영역이 「부」영역으로 변경되게 된다.
또한, 관리 정보의 기록은, 사전에 RAM상에 판독하고 있었던 「정」의 관리 영역의 카피를 갱신하여, 그때까지 「부」였던 관리 영역에 기록함으로써 행해진다(또한, 갱신 방법으로서는, 관리 영역의 갱신이 필요하게 된 시점에서 「정」영역으로부터 메모리로의 카피를 작성하는 방법도 있을 수 있지만, 본 실시예에서는 실행시의 효율을 고려하여, 미리 최신의 관리 정보의 카피가 메모리 상에 판독되어서 상주하고 있는 것으로 한다). 또한 관리 정보의 정·부의 구별은, 관리 정보에 첨부된 세대수(152)의 비교를 행하여, 보다 최근에 기록된 영역을 「정」으로서 취급한다.
도 9a의 상태에서 RAM상에서 갱신한 새로운 관리 정보를 「부」영역에 기록하려고 했을 때, 도 9b에 나타내는 바와 같이 Block 2가 불량 블록이 된 경우, 도 9c에 나타내는 바와 같이, Block 3의 간섭 영역을 새로운 「관리 영역 2 」로서 확보한다. 원래의 「관리 영역 2」는 불량으로서 RAM상의 관리 정보에 기록되어, Block 2가 불량이라고 하여 갱신된 관리 정보가 새롭게 확보된 「관리 영역 2」에 기록된다. 이에 따라 원래의 「관리 영역 1」이 「부」가 되고, 새롭게 기록된 「 관리 영역 2」가 「정」이 된다.
Block 3이 관리 영역이 된 결과, 간섭 영역 1, 2를 1블록만큼 이동시켜서, Block4, 5로 이동시킨다. 간섭 영역에는 미리 OxAA등의 소정의 데이터로 기록을 행하여, Code 영역(21)과 관리 영역의 경계를 명시하기 위한 영역으로 한다. 또한, 본 실시예에서는, 대체 영역의 미사용 블록도 간섭 영역과 같은 소정의 데이터를 기록하고 있으며, 이러한 경우에는, 블록내의 데이터상에서는 간섭 영역과 대체 영역은 구별이 없으며, 「간섭 영역 1, 2를 1블록만큼 이동」한다고 해도, 관리 정보만 바뀌고, 특히 대체 영역의 1블록을 새로운 간섭 영역으로 하기 위해 이 대체 영역 블록에 특별한 기록 처리 등을 행할 필요는 없다.
상기한 바와 같이, 대체 영역은 Code영역의 불량 블록을 대체할 뿐만 아니라, 도 9에 나타내는 바와 같이, 관리 영역의 대체에도 이용할 수 있다. 단, 관리 영역의 대체 방법은 Code영역의 불량 블록의 대체와는 다르며, 간섭 영역을 이동시킴으로써 행한다. 이와 같이, NAND 메모리(15b)내의 메모리 공간에 있어서 관리 영역과 대체 영역 사이에 간섭 영역을 끼우는 형식으로 각 블록의 기능을 할당함으로써, 대체 영역을 유효하게 이용할 수 있다.
이 대신에, 관리 영역에 전용의 고정수의 대체 영역과, Code영역에 전용의 고정수의 대체 영역을 설치하는 실장 형태도 생각할 수 있지만, 관리 영역과 Code영역의 불량 블록의 발생 상태에 의해, 한쪽의 대체 영역이 낭비가 되는 경우가 있을 수 있다. 이에 대하여 본 실시예와 같이, 대체 영역을 동적으로 관리 영역과 Code영역의 어느 쪽에도 이용할 수 있는 형태로 했기 때문에, 대체 영역의 모든 블 록을 낭비 없이 유효하게 이용할 수 있다.
본 실시예에서는, 대체 처리는 간섭 영역이 2면(2블록) 할당되지 않는 시점까지 대체 처리를 계속할 수 있다. 대체 영역 1까지 사용 후, 다음의 대체 영역은 간섭 영역임을 검출하여, 대체 동작을 정지한다. 이에 따라 관리 영역과 대체 영역이 오버랩하는 것이 방지된다.
또한, 도 9등에 있어서, 영역 할당의 변경시에 각 영역의 번호를 1부터 다시 붙이도록 재번호 부여를 하고 있지만, 이것은 설명의 편의상이며, 각 영역에 붙이 번호는 특별히 중요하지 않다.
도 8에 나타낸 바와 같이, 대체 영역에 의한 Code영역의 불량 블록의 대체는 간섭 영역으로부터 가장 먼 대체 영역의 블록을 사용하여 행해진다.
도 10은, 이와 같이 Code영역의 불량 블록이 대체 영역으로 대체되어, 대체영역이 남은 1블록이 되고, 또한, 그 시점에서 Code영역 내의 Block L(도면 생략)에 불량이 발생하여, 대체 영역을 다 사용한 상태를 나타내고 있다. 즉, 간섭 영역 2에 인접한 대체 영역 1까지 「사용 완료」가 되고 있다. 또한 동 도면의 Block 11에 나타내는 바와 같이 대체 영역 내의 블록이 불량이 되는 경우도 있다. 이 경우에는, 이 블록을 이용하지 않도록, 관리용 영역 내의 불량 블록 정보(155)(도 7)에 기억되어 관리된다.
이상의 구성에 의해, 관리 영역에서 논리 어드레스를 관리함으로써, NAND 메모리내의 프로그램의 어드레스의 연속성을 유지하는 것이 실현된다. 이 때문에 NAND 메모리에 불량 블록이 있는 경우에도, 소프트웨어 갱신 엔진이 관리 영역을 참조함으로써 갱신용 파일을 기초로 소프트웨어 갱신을 행하는 것이 가능하게 된다.
도 11은, 불량 블록이 발견된 후에 실행되는 불량 블록 대체 처리의 개략 처리를 나타내는 플로챠트이다. 또한, 후발적인 불량 블록은, 후술하는 도 12의 스텝 S23, S24 및 이 도 11의 스텝 S18에서 검출될 수 있다.
도 11의 처리에 있어서, 우선, 대체 영역에 미사용의 정상 블록이 존재하는 지 여부를 체크한다(S11). 존재하지 않으면, 이 처리를 종료한다. 이 때, 에러 메시지 등의 어떠한 메시지를 표시부에 표시하도록 해도 된다.
미사용의 정상 블록이 존재할 경우, 불량 블록이 관리 영역의 블록인지 여부를 체크한다(S12). 관리 영역의 블록이 아니면, 스텝 S15로 진행된다. 관리 영역의 블록이면, 현재의 간섭 영역 1을 새로운 관리 영역으로 하고(S13), 현재의 대체 영역 1을 새로운 간섭 영역 2로 한다(S14).
스텝 S15에서는, 불량 블록이 Code영역의 블록 인지의 여부를 체크한다. Code 영역의 블록이 아닌 경우에는, 그 블록(대체 영역의 블록)을 불량으로서 관리 정보를 갱신하고(S17), 스텝 S18로 진행한다.
Code영역의 블록일 경우, 간섭 영역으로부터 가장 먼 대체 영역의 미사용 정상 블록으로 불량 블록을 대체한다(S16).
그 후에 NAND 메모리(15b)의 관리 영역의 블록의 내용을 갱신한다(S18).
도 12는, NAND 메모리(15b)안의 프로그램을 갱신용 파일에 의거하여 갱신하는 처리를 나타낸 플로챠트이다.
우선, NAND 메모리(15b)에 프로그램을 기록할 때(S21), 기록대상 블록이 대체 영역으로 대체되고 있는지를 관리 영역(정)의 관리 정보로부터 판단한다(S22).
대체되고 있는 경우에는, 관리 정보에 의해 지정된 대상대체 영역(대체 블록)으로 프로그램의 기록을 행한다(S23). 대체되지 않은 경우에는, 그 기록대상 블록에 대하여 프로그램의 기록을 행한다(S24).
도 13은, 불량 블록의 대체 결과에 의한 NAND 메모리의 물리 어드레스에 대응하는 실제의 블록과 논리 어드레스에 대응하는 Code영역과의 관계를 도시한 도면이다.
관리 영역의 관리 정보에 의한 NAND 메모리(15b)의 물리 어드레스와 논리 어드레스의 대응에 의해, 갱신전 프로그램의 NAND 메모리에 불량 블록이 있는 경우에도, 논리 어드레스는 연속성이 확보되어, 갱신용 파일에 의해, NAND 메모리(15b)내의 블록의 내용을 이동할 필요없이, 프로그램의 갱신이 가능하게 된다.
또한 NAND 메모리(15b)로부터 SDRAM(15a)으로 프로그램을 전송하는 경우도, 마찬가지로 대체 영역의 이용이 있는지 여부를 체크함으로써, 정확하게 프로그램을 SDRAM에 전송하는 것이 가능하게 된다.
도 14는, NAND 메모리(15b)의 판독 처리를 나타낸 플로챠트이다. 우선, 판독 대상 블록이 대체되고 있는지를 관리 정보에 의거하여 체크한다(S31). 대체되지 않으면, 판독 대상 블록을 그대로 판독한다(S32). 대체되고 있으면, 그 대체 대상 블록을 판독한다(S33). 다른 판독 대상 블록이 있으면(S34), 스텝 S31로 되돌아와, 상기의 처리를 반복한다.
이상, 본 발명의 적합한 실시예에 관하여 설명했지만, 상기에서 언급한 이외에도 여러 가지 변형, 변경을 행하는 것이 가능하다. 예를 들면 휴대전화 단말을 예로 들어 설명했지만, 전화 단말에 한정하는 것이 아니다.
본 발명은, 소프트웨어의 차분 갱신을 주요한 응용으로서 예를 들었지만, 소프트웨어의 차분 갱신에 한정하지 않고, 일반적으로 NAND 메모리의 일부의 블록의 내용을 다른 블록에 영향을 주지 않고 고쳐 쓸 필요가 있는 경우에 적용할 수 있다.
본 발명은 NAND형 플래시 메모리에 적절히 적용할 수 있지만, NOR형 플래시 메모리로의 적용을 배제하는 것은 아니다.
도 1은 본 발명에 의한 실시예에 따른 휴대 단말(10)의 하드웨어 구성을 개략적으로 도시한 도면이다.
도 2는 도 1안에 나타낸 NAND 메모리의 특정 Block으로부터 이 이후의 블록에 프로그램 영역을 격납하고 있는 예를 도시한 도면이다.
도 3은 갱신전 프로그램과 갱신후 프로그램을 비교하여 차분 파일로서의 갱신용 파일이 생성되는 모양을 모식적으로 도시한 도면이다.
도 4는 갱신용 파일에 근거하는 소프트웨어 갱신 엔진에 의한 갱신전 프로그램의 갱신의 모양을 모식적으로 도시한 도면이다.
도 5는 NAND 메모리에 불량 블록이 발생했을 경우의, 갱신용 파일에 의한 NAND 메모리내의 프로그램 갱신시의 문제를 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 있어서의 NAND 메모리의 메모리 공간으로서의 내부 구성 예를 도시한 도면이다.
도 7은 본 발명의 실시예에 있어서의 관리 영역의 내부구성 및 그 기억 정보에 대해 설명하기 위한 도면이다.
도 8은 대체 영역에 의한 Code영역의 불량 블록의 대체의 모양을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 있어서 관리 영역이 불량 블록이 된 경우의 동작을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 있어서 NAND 메모리 내의 대체 영역을 다 사용 한 상태를 도시한 도면이다.
도 11은 본 발명의 실시예에 있어서, 불량 블록이 발견된 후에 실행되는 불량 블록 대체 처리의 개략처리를 나타내는 플로챠트이다.
도 12는 본 발명의 실시예에 있어서, NAND 메모리 내의 프로그램을 갱신용 파일에 의거하여 갱신하는 처리를 나타내는 플로챠트이다.
도 13은 본 발명의 실시예에 있어서, 불량 블록의 대체의 결과에 의한 NAND 메모리의 물리 어드레스에 대응하는 실제의 블록과 논리 어드레스에 대응하는 Code영역과의 관계를 도시한 도면이다.
도 14는 본 발명의 실시예에 있어서, NAND 메모리의 판독 처리를 나타낸 플로챠트이다.
[부호의 설명]
10 : 휴대 단말 11 : 제어부
12 : 음성처리부 13 : 마이크
14 : 스피커 15 : 기억부
15a : SDRAM 15b : NAND 메모리
16 : 통신부 17 : 안테나
18 : 조작부 19 : 표시부
21 : Code영역 22 : Storage영역
23 : 소프트웨어 갱신 엔진 31 : 갱신전 프로그램
32 : 갱신후 프로그램 33 : 갱신용 파일
150 : 블록 151 : 체크 디지트
152 : 세대수 153 : 대체 영역의 사용수
154 : 대체 대상의 대응 정보
155 : 관리용 영역(Block 1∼14)내의 불량 블록 정보

Claims (14)

  1. 블록 단위로 기록이 행해지는 불휘발성 메모리의 관리 방법으로서,
    상기 불휘발성 메모리의 복수의 블록을, 관리 정보를 격납하는 적어도 1개의 블록으로 이루어지는 관리 영역과, 프로그램 코드를 기록하는 복수 블록의 코드 영역과, 불량 블록을 대체하는 복수의 블록으로 이루어지는 대체 영역과, 상기 관리 영역과 상기 대체 영역 사이에 설치되는 적어도 1개의 블록으로 이루어지는 간섭 영역으로 할당하고,
    상기 관리 영역 내의 관리 정보로서, 적어도, 상기 대체 영역의 블록과 그 대체 대상의 불량 블록과의 대응 정보를 기억하여,
    상기 불량 블록의 이용시에 상기 대응 정보에 의거하여 상기 불량 블록 대신에 상기 대체 영역의 블록을 사용하는 것을 특징으로 하는 메모리 관리 방법.
  2. 제 1항에 있어서,
    상기 관리 정보는, 상기 대체 영역의 사용 완료된 블록수 또는 미사용의 블록수를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 관리 정보는, 상기 관리 영역 및 / 또는 상기 대체 영역의 불량 블록의 정보를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  4. 제 1항에 있어서,
    상기 관리 영역은 각각 관리 정보를 격납하는 적어도 2개의 블록을 사용하고, 상기 관리 정보에는 그 세대를 나타내는 세대정보를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  5. 제 1항 또는 제 4항에 있어서,
    상기 관리 영역의 블록이 불량이 된 경우, 메모리 어드레스상, 상기 대체 영역 내의 상기 간섭 영역에 가까운 측의 블록으로 상기 간섭 영역을 이동하여, 원래의 간섭 영역의 1블록을 새로운 관리 영역으로 하는 것을 특징으로 하는 메모리 관리 방법.
  6. 제 1항에 있어서,
    상기 대체 영역의 블록은 메모리 어드레스상, 상기 간섭 영역으로부터 먼 측부터 사용해 가는 것을 특징으로 하는 메모리 관리 방법.
  7. 블록 단위로 기록이 행해지는 불휘발성 메모리와,
    상기 불휘발성 메모리의 복수의 블록을, 관리 정보를 격납하는 적어도 1개의 블록으로 이루어지는 관리 영역과, 프로그램 코드를 기록하는 복수 블록의 코드 영역과, 불량 블록을 대체하는 복수의 블록으로 이루어지는 대체 영역과, 상기 관리 영역과 상기 대체 영역 사이에 설치되는 적어도 1개의 블록으로 이루어지는 간섭 영역으로 할당하여 이용하는 제어 수단을 구비하고,
    상기 제어 수단은, 상기 관리 영역 내의 관리 정보로서, 적어도, 상기 대체 영역의 블록과 그 대체 대상의 불량 블록과의 대응 정보를 기억하여,
    상기 불량 블록의 이용시에 상기 대응 정보에 의거하여 상기 불량 블록 대신에 상기 대체 영역의 블록을 사용하는 것을 특징으로 하는 휴대 단말장치.
  8. 제 7항에 있어서,
    상기 프로그램 코드를 기억가능한 RAM을 구비하고,
    상기 제어 수단은, 상기 불휘발성 메모리내의 프로그램 코드의 실행에 앞서, 이 프로그램 코드를 블록 단위로 상기 RAM상에 전송하여 상기 RAM상에서 실행하는 것을 특징으로 하는 휴대 단말장치.
  9. 제 7항에 있어서,
    상기 제어 수단은, 상기 불휘발성 메모리의 코드 영역 내의 어느 블록에 액세스할 때, 상기 관리 정보를 확인하고, 이 블록에 대하여 상기 대체 영역의 블록이 할당되고 있을 때에는, 이 블록 대신에 상기 대체 영역의 블록을 이용하는 것을 특징으로 하는 휴대 단말장치.
  10. 제 7항에 있어서,
    상기 관리 정보는, 상기 대체 영역의 사용 완료된 블록수 또는 미사용의 블록수를 더 포함하는 것을 특징으로 하는 휴대 단말장치.
  11. 제 7항 또는 제 10항에 있어서,
    상기 관리 정보는, 상기 관리 영역 및 / 또는 상기 대체 영역의 불량 블록의 정보를 더 포함하는 것을 특징으로 하는 휴대 단말장치.
  12. 제 7항에 있어서,
    상기 관리 영역은 각각 관리 정보를 격납하는 적어도 2개의 블록을 사용하고, 상기 관리 정보에는 그 세대를 나타내는 세대정보를 포함하는 것을 특징으로 하는 휴대 단말장치.
  13. 제 7항 또는 제 12항에 있어서,
    상기 제어 수단은, 상기 관리 영역의 블록이 불량이 된 경우, 메모리 어드레스상, 상기 대체 영역 내의 상기 간섭 영역에 가까운 측의 블록으로 상기 간섭 영역을 이동하고, 원래의 간섭 영역의 1블록을 새로운 관리 영역으로 하는 것을 특징으로 하는 휴대 단말장치.
  14. 제 7항에 있어서,
    상기 제어 수단은, 상기 대체 영역의 블록을, 메모리 어드레스상, 상기 간섭 영역으로부터 먼 측부터부터 사용해 가는 것을 특징으로 하는 휴대 단말장치.
KR1020070077679A 2006-08-04 2007-08-02 메모리 관리 방법 및 휴대 단말장치 KR20080012778A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006212751A JP5019567B2 (ja) 2006-08-04 2006-08-04 メモリ管理方法および携帯端末装置
JPJP-P-2006-00212751 2006-08-04

Publications (1)

Publication Number Publication Date
KR20080012778A true KR20080012778A (ko) 2008-02-12

Family

ID=38819896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070077679A KR20080012778A (ko) 2006-08-04 2007-08-02 메모리 관리 방법 및 휴대 단말장치

Country Status (6)

Country Link
US (1) US7797573B2 (ko)
EP (1) EP1909175B1 (ko)
JP (1) JP5019567B2 (ko)
KR (1) KR20080012778A (ko)
CN (1) CN100541450C (ko)
TW (1) TW200828017A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8446787B2 (en) * 2008-11-20 2013-05-21 Micron Technology, Inc. Replacing defective memory blocks in response to external addresses
JP5521437B2 (ja) * 2009-01-29 2014-06-11 日本電気株式会社 携帯端末装置、ソフトウェア更新方法及びプログラム
US8706954B2 (en) 2010-09-07 2014-04-22 Sony Corporation Memory management apparatus and memory management method
EP3346386B1 (en) * 2011-09-30 2020-01-22 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
US20150230080A1 (en) * 2014-02-11 2015-08-13 Pantech Co., Ltd. Media scanning method and media scanning terminal
WO2015146788A1 (ja) * 2014-03-28 2015-10-01 京セラドキュメントソリューションズ株式会社 電子機器
US9760303B2 (en) * 2015-09-29 2017-09-12 Sandisk Technologies Llc Partially-bad block operation in 3-D nonvolatile memory
CN106339242A (zh) * 2016-07-26 2017-01-18 深圳市英威腾交通技术有限公司 一种电力机车控制设备的软件更新方法和系统
CN106951297B (zh) * 2017-04-06 2020-07-28 惠州佰维存储科技有限公司 嵌入式多媒体卡的生产方法及其系统
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6135651A (en) * 1997-05-29 2000-10-24 Cirrus Logic, Inc. Patching apparatus and method for upgrading modem software code
JP2001134496A (ja) * 1999-11-04 2001-05-18 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
JP2001350673A (ja) * 2000-06-05 2001-12-21 Hitachi Ltd フラッシュメモリアクセス制御方法
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US7328007B2 (en) * 2001-07-26 2008-02-05 Kyocera Wireless Corp. System and method for organizing wireless communication device system software
US6879530B2 (en) * 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7210010B2 (en) * 2002-09-30 2007-04-24 Insignia Solutions Plc Efficient system and method for updating a memory device
GB2403303B (en) * 2003-06-23 2005-08-17 Matsushita Electric Ind Co Ltd Embedded device with software registry
JP4357305B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
US7336536B2 (en) * 2004-06-25 2008-02-26 Micron Technology, Inc. Handling defective memory blocks of NAND memory devices
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
US7508708B2 (en) * 2006-03-30 2009-03-24 Micron Technology, Inc. NAND string with a redundant memory cell

Also Published As

Publication number Publication date
EP1909175A3 (en) 2009-05-27
EP1909175A2 (en) 2008-04-09
US7797573B2 (en) 2010-09-14
JP5019567B2 (ja) 2012-09-05
EP1909175B1 (en) 2018-08-22
TW200828017A (en) 2008-07-01
CN101118518A (zh) 2008-02-06
JP2008040701A (ja) 2008-02-21
CN100541450C (zh) 2009-09-16
US20080034252A1 (en) 2008-02-07

Similar Documents

Publication Publication Date Title
KR20080012778A (ko) 메모리 관리 방법 및 휴대 단말장치
JP3708047B2 (ja) フラッシュメモリの管理方法
US8954649B2 (en) Garbage collection in storage devices based on flash memories
EP1895418B1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
CN100487672C (zh) 用于分割一逻辑块的方法及设备
US8099545B2 (en) Wear leveling in storage devices based on flash memories and related circuit, system, and method
KR100816761B1 (ko) 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US20080282024A1 (en) Management of erase operations in storage devices based on flash memories
US20080098195A1 (en) Memory system including flash memory and mapping table management method
US8775758B2 (en) Memory device and method for performing a write-abort-safe firmware update
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
KR20060012696A (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP2007241576A (ja) 不揮発性記憶装置およびそのデータ書込み方法
JPWO2006067923A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
US20050132127A1 (en) Flash memory and mapping control apparatus and method for flash memory
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
CN112596668A (zh) 一种存储器的坏块处理方法及系统
JP2000222292A (ja) フラッシュメモリを利用したデータ管理方法
JP2013235531A (ja) 制御装置、記憶装置、記憶制御方法
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN108399076A (zh) 一种基于uefi的固件更新方法与装置
JP2001249855A (ja) 不揮発性メモリのデータ書き替え方法及び加入者回路
JP2009134672A (ja) メモリ管理方法および携帯端末装置
KR100514756B1 (ko) 플래쉬 메모리를 파일 시스템으로 라이트하기 위한캐쉬처리 방법
US8706954B2 (en) Memory management apparatus and memory management method

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid