[go: up one dir, main page]

WO2013094914A1 - Apparatus and method for indicating flash memory life - Google Patents

Apparatus and method for indicating flash memory life Download PDF

Info

Publication number
WO2013094914A1
WO2013094914A1 PCT/KR2012/010700 KR2012010700W WO2013094914A1 WO 2013094914 A1 WO2013094914 A1 WO 2013094914A1 KR 2012010700 W KR2012010700 W KR 2012010700W WO 2013094914 A1 WO2013094914 A1 WO 2013094914A1
Authority
WO
WIPO (PCT)
Prior art keywords
flash memory
storage device
value
writes
blocks
Prior art date
Application number
PCT/KR2012/010700
Other languages
French (fr)
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
Priority claimed from KR1020120091356A external-priority patent/KR101404260B1/en
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to US14/366,299 priority Critical patent/US9513821B2/en
Publication of WO2013094914A1 publication Critical patent/WO2013094914A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Definitions

  • the following embodiments relate to flash memory, and more particularly, a method and apparatus for providing a life indicator of a flash memory are disclosed.
  • Flash memory has a limited lifetime, especially in the writing of data.
  • the flash memory includes a plurality of blocks, and the number of writes for each block is limited.
  • One embodiment may provide an apparatus and method for enabling a user to check the lifetime value of a flash memory.
  • One embodiment may provide an apparatus and a method for backing up data stored in a flash memory according to a lifetime value of the flash memory.
  • the storage device may include a flash memory storing data and a controller configured to calculate a life value of the flash memory based on the number of writes of a plurality of blocks of the flash memory.
  • the lifetime value may be a value within a predetermined range.
  • the controller may calculate the life value based on a dispersion value of the write times and a maximum value of the write times.
  • the controller may calculate the life value based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks.
  • the threshold value may be determined based on a maximum number of writes of a block of the flash memory.
  • the storage device may further include a connection unit connected to a host to transmit the lifetime value to the host.
  • the controller may transmit the calculated lifetime value to the host through the connection unit if the calculated lifetime value is greater than or equal to a threshold value.
  • the storage device may further include a display unit for outputting light or sound.
  • the controller may control the display unit to output the light or the sound when the calculated life value is greater than or equal to a threshold value.
  • An operation method of may be provided.
  • the lifetime value may be calculated based on a variance value of the write times and a maximum value of the write times.
  • the life value may be calculated based on the number of writes of blocks whose write count is greater than or equal to a threshold value among the plurality of blocks.
  • the method of operating a storage device using the flash memory may further include transmitting the calculated life span value to a host using the storage device when the calculated life span value is greater than or equal to a threshold value.
  • the method of operating a storage device using the flash memory may further include outputting light or sound when the calculated life value is greater than or equal to a threshold value.
  • a storage device including a flash memory and a processor for controlling the storage device, the storage device of the storage device calculated based on the number of writes of a plurality of blocks of the flash memory;
  • An electronic device may be provided that transmits a lifetime value to the processor, and wherein the processor determines whether to perform backup of data in the storage device based on the lifetime value.
  • the electronic device may further include a backup storage device.
  • the processor may read the data in the storage device and write the data in the backup storage device when the backup is determined.
  • the storage device calculates a calculated lifetime value of the storage device based on the number of writes of a plurality of blocks of flash memory in the storage device, wherein the storage device calculates the calculated lifetime value. Transmitting to the processor; And determining, by the processor, whether to back up data in the storage device based on the calculated lifetime value.
  • An apparatus and method are provided for enabling a user to check the lifetime value of a flash memory.
  • the user can determine the lifetime value of the flash memory and can respond according to the threat of the lifetime value.
  • an apparatus and method for backing up data stored in a flash memory are provided.
  • FIG. 1 is a block diagram of a storage device according to example embodiments.
  • FIG. 2 is a flowchart of a method of operating a storage device using a flash memory, according to an exemplary embodiment.
  • FIG. 3 is a block diagram of an electronic device according to an exemplary embodiment.
  • FIG. 4 is a signal flowchart of a method of operating an electronic device according to an exemplary embodiment.
  • the number of times data is written to a block of the flash memory is equal to the number of times data is deleted from the block or is proportional to the number of times the data is deleted. Accordingly, the term "write count” and the term “delete number” hereinafter may be used with the same meaning and may be replaced with each other.
  • FIG. 1 is a block diagram of a storage device according to example embodiments.
  • the storage device 100 may include a connector 110, a controller 120, a flash memory 130, and an indicator 140.
  • the storage device 100 may include a universal serial bus (USB) storage device, a flash memory card, a solid state drive (SSD), an MP3 player, a mobile phone (
  • USB universal serial bus
  • the device may be a device in which a flash memory such as a mobile phone or a tablet is embedded and connected to a host.
  • the host is an electronic device such as a personal computer (PC), and may be a device that writes data to or reads data from the storage device 100 connected thereto. .
  • PC personal computer
  • connection unit 110 may connect the storage device 100 to a host.
  • the connection unit 110 may provide an interface of the storage device 100 to the host.
  • the connection unit 110 may be an interface port of a predetermined standard such as USB, an IEEE 1394, an AT, or the like. Alternatively, the connection unit 110 may be a chip for data transmission between the host and the storage device 100. The connection unit 110 may transmit data output from the controller 120 to the host, and may transmit data output from the host to the controller 120. For example, the connection unit 110 may be connected to the host to transmit the lifetime value calculated by the control unit 120 to the host.
  • a predetermined standard such as USB, an IEEE 1394, an AT, or the like.
  • the connection unit 110 may be a chip for data transmission between the host and the storage device 100.
  • the connection unit 110 may transmit data output from the controller 120 to the host, and may transmit data output from the host to the controller 120.
  • the connection unit 110 may be connected to the host to transmit the lifetime value calculated by the control unit 120 to the host.
  • the connection unit 110 may be a port or an interface component that provides a wired / wireless network such as an Ethernet port, a blue tooth chip, or a Wi-Fi chip.
  • the host and the storage device 100 may be connected to each other through a wired or wireless network.
  • the controller 120 may access data in the flash memory 130 at the request of the host.
  • the controller 120 may read data requested by the host from the flash memory 130 and transmit the data to the host through the connection unit 110.
  • the controller 120 may write data transmitted by the host to the flash memory 130.
  • the controller 120 may perform a function of a flash translation layer (FTL).
  • FTL flash translation layer
  • the flash memory 130 may store data.
  • the flash memory 130 may include a plurality of blocks. In FIG. 1, as a plurality of blocks, a first block 132, a second block 134, a third block 136, and a fourth block 138 are illustrated.
  • Each of the blocks may be a unit for accessing data such as read, write, update, and delete, or a unit of operation. That is, the controller 120 may access data in the flash memory 130 on a block basis and may provide an operation on the flash memory 130. The block may be different from the unit of data requested by the host.
  • Each of the blocks may have a limited number of writes.
  • Write times of blocks may be managed by the controller 120 as metadata.
  • the limited number of writes may be due to the characteristics of the flash memory 130.
  • the number of writes of the block may increase by one each time new data is written to the block.
  • the controller 120 may perform mapping between the logical address used by the host and the physical address used to access the flash memory 130. Thus, with the logical address of the data that the host has requested to write, the host cannot actually know in which block of the flash memory 130 the data was written.
  • the controller 120 may provide various functions for reducing writing to a block, such as buffering, caching, and wear-leveling. Therefore, the host may not know which block of the flash memory 130 has been written by the request, and may not know whether the data has been actually written to the flash memory 130.
  • Each of the plurality of flash memories may include a plurality of blocks.
  • the lifetime value to be described below may be calculated for each of the plurality of flash memories.
  • a plurality of physical flash memories may be regarded as one flash memory 130.
  • the display unit 140 may indicate that the life of the flash memory 130 has reached a dangerous level.
  • the display unit 140 may output light or sound.
  • the controller 120 outputs light or sound through the display unit 140 to a degree that the life of the flash memory 130 is dangerous to a user of the storage device 100. You can tell that you have reached.
  • the display unit 140 may be a light emitting diode (LED) for outputting light or a speaker for outputting sound.
  • LED light emitting diode
  • FIG. 2 is a flowchart of a method of operating a storage device using a flash memory, according to an exemplary embodiment.
  • the controller 120 may store data in a flash memory.
  • the controller 120 may store data in a block selected to process a data access request of a host among a plurality of blocks of the flash memory 130.
  • the controller 120 may update the write count of the selected block.
  • the number of writes of the selected block may be managed as metadata.
  • the metadata may be stored in a particular block of flash memory 130 and may be stored in a cache (not shown) of storage device 100, such as a random access memory (RAM).
  • the controller 120 may receive a request for the lifetime value of the storage device 100 from the host through the connector 110. Step 220 is optional, and the controller 120 may transmit the calculated lifetime value to the host as needed without the host request.
  • the controller 120 may calculate a lifetime value of the flash memory 130 or the storage device 100 based on the number of writes of the plurality of blocks of the flash memory 130.
  • the controller 120 may calculate a lifetime value based on Equations 1 to 2 below.
  • the set T may be a set of write times of a plurality of blocks of the flash memory 130.
  • the write count may be an integer of 0 or more, respectively.
  • the set P may be blocks in which the number of writes is greater than or equal to a first threshold value among the plurality of blocks of the flash memory 130. That is, the controller 120 may calculate a lifetime value based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks of the flash memory 130.
  • the first threshold value may be determined based on the maximum number of writes of a block of the flash memory 130.
  • the first threshold value may be a value obtained by multiplying a maximum number of writes of a block of the flash memory 130 by a correction factor that is a real number greater than 0 and less than or equal to 1.
  • the set P may be defined according to Equation 1 below.
  • EraseCount Max may be the maximum number of writes of a block of the flash memory 130.
  • 0.8 may represent an example of a correction factor.
  • x may represent each block of the flash memory 130.
  • the controller 120 may calculate a lifetime value based on Equation 2. When there is no element of the set P , the controller 120 may calculate a lifetime value based on Equation 3.
  • P Max may be the maximum value among the elements in the set P.
  • P Max may be a maximum value among the number of writes of blocks of the flash memory 130.
  • V may be a variance value of the number of writes of blocks of the flash memory 130.
  • V Max may be the maximum value of the variance of the write times of the blocks of the flash memory 130. That is, V Max may be the maximum variance value that the number of writes of blocks of the flash memory 130 may have. For example, when the number of blocks of the flash memory 130 is 2 n , V Max indicates that the number of writes of n blocks among the blocks of the flash memory 130 is all zero, and the number of writes of the remaining n blocks is EraseCount. It can be the value of V when Max . n may be an integer of 1 or more.
  • s may be a weight. s may be a value capable of adjusting the specific gravity between the left term and the right term of Equation 2. s may be a real number between 0 and 1, inclusive. S may be a real number equal to or greater than 0.5 to calculate meaningful lifetime values.
  • the lifetime value calculated by the controller 120 may be a value within a predetermined range.
  • the lifetime value may be a value between 0 and 100, inclusive.
  • the controller 120 may calculate a lifespan value based on at least one of S , P , P Max , V , V Max, and EraseCount Max .
  • the controller 120 may calculate a lifespan value of the flash memory 130 based on a dispersion value of the number of writes of the blocks of the flash memory 130 and at least one of a maximum value of the number of writes.
  • the calculated lifetime value may be proportional to one or more of P Max and V , and inversely proportional to one or more of V Max and EraseCount Max .
  • the number of writes used to calculate the lifetime value may be limited to only the number of writes above the threshold, as described above with reference to Equation (1).
  • the controller 120 may compare the calculated lifetime value with the second threshold value. If the calculated lifetime value is greater than or equal to the second threshold value, one or more of steps 250 and 260 to be described below may be performed. If the calculated lifetime value is less than the second threshold value, the procedure may end.
  • step 250 the controller 120 may transmit the calculated lifetime value to the host using the storage device 100 through the connection unit 110. If the host requested a lifetime value in step 210, step 250 may always be performed without a comparison between the calculated lifetime value and the second threshold value. In addition, step 250 may be performed periodically.
  • the controller 120 may control the display unit 140 to output light or sound.
  • the user may recognize that the life of the flash memory 130 or the storage device 100 has reached a dangerous level.
  • FIG. 3 is a block diagram of an electronic device according to an exemplary embodiment.
  • the electronic device 300 may be a host described above with reference to FIGS. 1 and 2. That is, the electronic device 300 may be a device using the storage device 100.
  • the electronic device 300 may include a processor 310, a storage device 100, and a backup storage device 320.
  • the processor 310 may process operations required for the operation of the electronic device 300 and may control the storage device 100 and the backup storage device 320.
  • the processor 310 may access data stored in the storage device 100 and data stored in the backup storage device 320.
  • the storage device 100 and the backup storage device 320 may store data of the electronic device 300.
  • the backup storage device 320 can be used to back up the data of the storage device 100.
  • the backup storage device 320 may also be a storage device 100 that uses a flash memory and provides a lifetime value.
  • FIG. 4 is a signal flowchart of a method of operating an electronic device according to an exemplary embodiment.
  • the processor 310 may transmit a request for a lifetime value of the storage device 100 to the connection unit 110 of the storage device 100.
  • Step 410 is additional, and the storage device 100 may calculate the lifetime value without an explicit request from the processor 310 and transmit the calculated lifetime value to the processor 310 according to a predefined protocol. .
  • the controller 120 of the storage device 100 may calculate a lifetime value of the storage device 100.
  • the lifetime value of the storage device 100 may be a lifetime value of the flash memory 130 of the storage device 100.
  • the lifetime value of the storage device 100 may be calculated based on the number of writes of a plurality of blocks of the flash memory 120 in the storage device 100.
  • control unit 120 of the storage device 100 may transmit the calculated life value to the processor 310 through the connection unit 110.
  • the controller 120 may transmit the calculated lifetime value only to the processor 310 when the calculated lifetime value is greater than or equal to the second threshold value.
  • the processor 310 may indicate the transmitted lifetime value.
  • the transmitted lifetime value may be displayed through an application running on the electronic device 300. The user may recognize the displayed lifetime value and take appropriate measures according to the lifetime value, such as backup of data in the storage device 100.
  • the processor 310 may determine whether to perform backup of data in the storage device 100 based on the transmitted lifetime value. For example, if the transmitted lifetime value is greater than or equal to the second threshold value, the processor 310 may perform step 450 to be described later.
  • the processor 310 may back up data in the storage device 100 to the backup storage device 320. That is, the processor 310 may read data in the storage device 100 and write the data in the backup storage device 320.
  • Step 460 may include step 462 and step 464.
  • the processor 310 may read data in the storage device 100.
  • the processor 310 may write data read from the storage device 100 into the backup storage device 454.
  • Steps 462 and 464 may be performed repeatedly until all data required for backup in the storage device 100 is backed up.
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process and generate data in response to the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

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

Abstract

The present invention relates to an apparatus and method for indicating flash memory life. While data is being stored in a flash memory, the number of writes in a plurality of blocks of the flash memory increases. The amount of flash memory life is calculated on the basis of the number of write times in the plurality of blocks. The calculated amount of life can be transmitted to a host. In addition, when the calculated amount of life is greater than a threshold value, a signal providing notice that the life of the flash memory has reached a dangerous level can be output.

Description

플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치Devices and devices providing life indicators of flash memory
아래의 실시예는 플래시 메모리에 관한 것으로, 보다 상세히는 플래시 메모리의 수명 인디케이터를 제공하는 방법 및 장치가 개시된다.The following embodiments relate to flash memory, and more particularly, a method and apparatus for providing a life indicator of a flash memory are disclosed.
플래시 메모리는, 특히 데이터의 기입(write)에 있어서, 제한된 수명을 갖는다. 플래시 메모리는 다수의 블록들을 포함하며, 각 블록에 대한 기입의 횟수는 제한된다.Flash memory has a limited lifetime, especially in the writing of data. The flash memory includes a plurality of blocks, and the number of writes for each block is limited.
플래시 메모리의 짧은 수명에 기인하여, 데이터의 손실이 발생할 수 있다. 이러한 수명의 문제를 극복하기 위해 웨어-레벨링(wear-leveling)과 같은 다양한 소프트웨어 기법이 사용될 수 있다.Due to the short life of the flash memory, loss of data may occur. Various software techniques, such as wear-leveling, can be used to overcome this lifetime problem.
수명의 문제는 플래시 메모리의 특성에 의해 발생한다. 따라서, 소프트웨어 기법에 의해 플래시 메모리의 수명이 연장될 수는 있지만 소프트웨어 기법의 한계 또한 분명히 존재한다.The problem of lifespan is caused by the characteristics of flash memory. Thus, although the lifetime of flash memory can be extended by software techniques, the limitations of software techniques also exist clearly.
플래시 메모리의 짧은 수명에 의해 플래시 메모리 내에 보관된 자료가 못쓰게 될 경우를 방지하기 위해, 플래시 메모리의 수명에 대한 정보를 제공해줄 수 있는 방안이 요구된다.In order to prevent the data stored in the flash memory from being damaged due to the short life of the flash memory, a method of providing information on the life of the flash memory is required.
일 실시예는 사용자가 플래시 메모리의 수명 값을 확인할 수 있게 하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and method for enabling a user to check the lifetime value of a flash memory.
일 실시예는 플래시 메모리의 수명 값에 따라, 플래시 메모리 내에 저장된 데이터를 백업하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and a method for backing up data stored in a flash memory according to a lifetime value of the flash memory.
일 측에 있어서, 데이터를 저장하는 플래시 메모리 및 상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 상기 플래시 메모리의 수명 값을 계산하는 제어부를 포함하는, 저장 장치가 제공될 수 있다.The storage device may include a flash memory storing data and a controller configured to calculate a life value of the flash memory based on the number of writes of a plurality of blocks of the flash memory.
상기 플래시 메모리는 복수 개일 수 있다.There may be a plurality of flash memories.
상기 수명 값은 소정의 범위 내의 값일 수 있다.The lifetime value may be a value within a predetermined range.
상기 제어부는 상기 기입 횟수들의 분산 값 및 상기 기입 횟수들 중 최대 값에 기반하여 상기 수명 값을 계산할 수 있다.The controller may calculate the life value based on a dispersion value of the write times and a maximum value of the write times.
상기 제어부는 상기 복수 개의 블록들 중 기입 횟수가 임계 값 이상인 블록들의 기입 횟수들에 기반하여 상기 수명 값을 계산할 수 있다.The controller may calculate the life value based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks.
상기 임계 값은 상기 플래시 메모리의 블록의 최대 기입 횟수에 기반하여 결정될 수 있다.The threshold value may be determined based on a maximum number of writes of a block of the flash memory.
상기 저장 장치는, 호스트와 연결되어, 상기 수명 값을 상기 호스트로 전송하는 연결부를 더 포함할 수 있다.The storage device may further include a connection unit connected to a host to transmit the lifetime value to the host.
상기 제어부는 상기 계산된 수명 값이 임계 값 이상이면, 상기 연결부를 통해 상기 계산된 수명 값을 상기 호스트로 전송할 수 있다.The controller may transmit the calculated lifetime value to the host through the connection unit if the calculated lifetime value is greater than or equal to a threshold value.
상기 저장 장치는, 광 또는 음향을 출력하는 표시부를 더 포함할 수 있다.The storage device may further include a display unit for outputting light or sound.
상기 제어부는 상기 계산된 수명 값이 임계 값 이상이면, 상기 광 또는 상기 음향을 출력하도록 상기 표시부를 제어할 수 있다.The controller may control the display unit to output the light or the sound when the calculated life value is greater than or equal to a threshold value.
다른 일 측에 있어서, 플래시 메모리 내에 데이터를 저장하는 단계 및 상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 상기 플래시 메모리의 수명 값을 계산하는 단계를 포함하는, 플래시 메모리를 사용하는 저장 장치의 동작 방법이 제공될 수 있다.The storage device of claim 1, further comprising: storing data in a flash memory and calculating a lifetime value of the flash memory based on the number of writes of the plurality of blocks of the flash memory. An operation method of may be provided.
상기 수명 값은 상기 기입 횟수들의 분산 값 및 상기 기입 횟수들 중 최대 값에 기반하여 계산될 수 있다.The lifetime value may be calculated based on a variance value of the write times and a maximum value of the write times.
상기 수명 값은 상기 복수 개의 블록들 중 기입 횟수가 임계 값 이상인 블록들의 기입 횟수들에 기반하여 계산될 수 있다.The life value may be calculated based on the number of writes of blocks whose write count is greater than or equal to a threshold value among the plurality of blocks.
상기 플래시 메모리를 사용하는 저장 장치의 동작 방법은, 상기 계산된 수명 값이 임계 값 이상이면 상기 계산된 수명 값을 상기 저장 장치를 사용하는 호스트로 전송하는 단계를 더 포함할 수 있다.The method of operating a storage device using the flash memory may further include transmitting the calculated life span value to a host using the storage device when the calculated life span value is greater than or equal to a threshold value.
상기 플래시 메모리를 사용하는 저장 장치의 동작 방법은, 상기 계산된 수명 값이 임계 값 이상이면 광 또는 음향을 출력하는 단계를 더 포함할 수 있다.The method of operating a storage device using the flash memory may further include outputting light or sound when the calculated life value is greater than or equal to a threshold value.
또 다른 일 측에 있어서, 플래시 메모리를 포함하는 저장 장치 및 상기 저장 장치를 제어하는 프로세서를 포함하고, 상기 저장 장치는 상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 계산된 상기 저장 장치의 수명 값을 상기 프로세서로 전송하고, 상기 프로세서는 상기 수명 값에 기반하여 상기 저장 장치 내의 데이터의 백업의 수행 여부를 결정하는, 전자 장치가 제공될 수 있다.In another aspect, a storage device including a flash memory and a processor for controlling the storage device, the storage device of the storage device calculated based on the number of writes of a plurality of blocks of the flash memory; An electronic device may be provided that transmits a lifetime value to the processor, and wherein the processor determines whether to perform backup of data in the storage device based on the lifetime value.
상기 전자 장치는, 백업 저장 장치를 더 포함할 수 있다.The electronic device may further include a backup storage device.
상기 프로세서는 상기 백업이 결정된 경우 상기 저장 장치 내의 데이터를 독출하여 상기 백업 저장 장치 내에 기입할 수 있다.The processor may read the data in the storage device and write the data in the backup storage device when the backup is determined.
또 다른 일 측에 있어서, 저장 장치가 상기 저장 장치 내의 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 계산된 상기 저장 장치의 수명 값을 계산하는 단계, 상기 저장 장치가 상기 계산된 수명 값을 프로세서로 전송하는 단게; 및 상기 프로세서가 상기 계산된 수명 값에 기반하여 상기 저장 장치 내의 데이터의 백업 여부를 결정하는 단계를 포함하는, 전자 장치의 동작 방법이 제공될 수 있다.In another aspect, the storage device calculates a calculated lifetime value of the storage device based on the number of writes of a plurality of blocks of flash memory in the storage device, wherein the storage device calculates the calculated lifetime value. Transmitting to the processor; And determining, by the processor, whether to back up data in the storage device based on the calculated lifetime value.
사용자가 플래시 메모리의 수명 값을 확인할 수 있게하는 장치 및 방법이 제공된다. 사용자는 플래시 메모리의 수명 값을 파악할 수 있고, 수명 값에 대한 위협에 따라 대처할 수 있다.An apparatus and method are provided for enabling a user to check the lifetime value of a flash memory. The user can determine the lifetime value of the flash memory and can respond according to the threat of the lifetime value.
플래시 메모리의 수명 값에 따라, 플래시 메모리 내에 저장된 데이터를 백업하는 장치 및 방법이 제공된다.According to the lifetime value of a flash memory, an apparatus and method for backing up data stored in a flash memory are provided.
도 1은 일 실시예에 따른 저장 장치의 블록도이다.1 is a block diagram of a storage device according to example embodiments.
도 2는 일 실시예에 따른 플래시 메모리를 사용하는 저장 장치의 동작 방법의 흐름도이다.2 is a flowchart of a method of operating a storage device using a flash memory, according to an exemplary embodiment.
도 3은 일 실시예에 따른 전자 장치의 블록도이다.3 is a block diagram of an electronic device according to an exemplary embodiment.
도 4는 일 실시예에 따른 전자 장치의 동작 방법의 신호 흐름도이다.4 is a signal flowchart of a method of operating an electronic device according to an exemplary embodiment.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
플래시 메모리의 블록에 데이터가 기입된 횟수는 상기의 블록에서 데이터가 삭제된 횟수와 동일하거나 상기의 삭제된 횟수에 비례한다. 따라서, 이하에서 용어 "기입 횟수" 및 용어 "삭제 횟수"는 동일한 의미로 사용될 수 있으며, 서로 간에 대체될 수 있다.The number of times data is written to a block of the flash memory is equal to the number of times data is deleted from the block or is proportional to the number of times the data is deleted. Accordingly, the term "write count" and the term "delete number" hereinafter may be used with the same meaning and may be replaced with each other.
도 1은 일 실시예에 따른 저장 장치의 블록도이다.1 is a block diagram of a storage device according to example embodiments.
저장 장치(100)는 연결부(connector)(110), 제어부(controller)(120), 플래시 메모리(flash memory)(130) 및 표시부(indicator)(140)를 포함할 수 있다.The storage device 100 may include a connector 110, a controller 120, a flash memory 130, and an indicator 140.
저장 장치(100)는 범용 직렬 버스(Universal Serial Bus; USB) 저장 장치, 플래시 메모리 카드(card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 엠피3(MP3) 플레이어(player), 모바일 폰(mobile phone) 및 타블렛(tablet) 등 플래시 메모리를 내장하고, 호스트(host)에 연결되는 장치를 의미할 수 있다. 호스트는 개인용 컴퓨터(Personal Computer; PC) 등의 전자 장치로서, 자신과 연결된 저장 장치(100) 내에 데이터를 기입(write)하거나, 저장 장치(100)로부터 데이터를 독출(read)하는 장치일 수 있다. The storage device 100 may include a universal serial bus (USB) storage device, a flash memory card, a solid state drive (SSD), an MP3 player, a mobile phone ( The device may be a device in which a flash memory such as a mobile phone or a tablet is embedded and connected to a host. The host is an electronic device such as a personal computer (PC), and may be a device that writes data to or reads data from the storage device 100 connected thereto. .
연결부(110)는 저장 장치(100)를 호스트와 연결시킬 수 있다. 연결부(110)는 저장 장치(100)의 인터페이스(interface)를 호스트에게 제공할 수 있다.The connection unit 110 may connect the storage device 100 to a host. The connection unit 110 may provide an interface of the storage device 100 to the host.
연결부(110)는 USB, 아이트리플이(IEEE) 1394 및 에이티에이(ATA) 등과 같은 소정의 규격의 인터페이스 포트(port)일 수 있다. 또는, 연결부(110)는 호스트 및 저장 장치(100) 간의 데이터 전송을 위한 칩(chip)일 수 있다. 연결부(110)는 제어부(120)부터 출력된 데이터를 호스트로 전송할 수 있고, 호스트로부터 출력된 데이터를 제어부(120)로 전송할 수 있다. 예컨대, 연결부(110)는 호스트와 연결되어, 제어부(120)에 의해 계산된 수명 값을 호스트로 전송할 수 있다.The connection unit 110 may be an interface port of a predetermined standard such as USB, an IEEE 1394, an AT, or the like. Alternatively, the connection unit 110 may be a chip for data transmission between the host and the storage device 100. The connection unit 110 may transmit data output from the controller 120 to the host, and may transmit data output from the host to the controller 120. For example, the connection unit 110 may be connected to the host to transmit the lifetime value calculated by the control unit 120 to the host.
연결부(110)는 이더넷(Ethernet) 포트, 블루투스(blue tooth) 칩 또는 와이파이(wifi) 칩과 같은 유무선 네트워크를 제공하는 포트 또는 인터페이스 부품일 수 있다. 호스트 및 저장 장치(100)는 유무선 네트워크를 통해 서로 간에 연결될 수 있다.The connection unit 110 may be a port or an interface component that provides a wired / wireless network such as an Ethernet port, a blue tooth chip, or a Wi-Fi chip. The host and the storage device 100 may be connected to each other through a wired or wireless network.
제어부(120)는 호스트의 요청에 따라 플래시 메모리(130) 내의 데이터에 접근할 수 있다. 제어부(120)는 호스트에 의해 요청된 데이터를 플래시 메모리(130)로부터 독출하여, 연결부(110)를 통해 호스트로 전송할 수 있다. 또한, 제어부(120)는 호스트에 의해 전송된 데이터를 플래시 메모리(130)에 기입할 수 있다. 제어부(120)는 플래시 변환 레이어(Flash Translation Layer; FTL)의 기능을 수행할 수 있다.The controller 120 may access data in the flash memory 130 at the request of the host. The controller 120 may read data requested by the host from the flash memory 130 and transmit the data to the host through the connection unit 110. In addition, the controller 120 may write data transmitted by the host to the flash memory 130. The controller 120 may perform a function of a flash translation layer (FTL).
플래시 메모리(130)는 데이터를 저장할 수 있다. 플래시 메모리(130)는 복수 개의 블록들을 포함할 수 있다. 도 1에서, 복수 개의 블록들로서, 제1 블록(132), 제2 블록(134), 제3 블록(136) 및 제4 블록(138)이 도시되었다. The flash memory 130 may store data. The flash memory 130 may include a plurality of blocks. In FIG. 1, as a plurality of blocks, a first block 132, a second block 134, a third block 136, and a fourth block 138 are illustrated.
블록들 각각은 독출, 기입, 갱신 및 삭제 등 데이터를 접근하는 단위 또는 연산의 단위일 수 있다. 즉, 제어부(120)는 블록 단위로 플래시 메모리(130) 내의 데이터에 접근할 수 있으며, 플래시 메모리(130)에 대한 연산을 제공할 수 있다. 상기의 블록은 호스트가 요청하는 데이터의 단위와는 상이할 수 있다.Each of the blocks may be a unit for accessing data such as read, write, update, and delete, or a unit of operation. That is, the controller 120 may access data in the flash memory 130 on a block basis and may provide an operation on the flash memory 130. The block may be different from the unit of data requested by the host.
블록들 각각은 제한된 기입 횟수를 가질 수 있다. 블록들의 기입 횟스들은 메타데이터(metadata)로서 제어부(120)에 의해 관리될 수 있다. 제한된 기입 횟수는 플래시 메모리(130)의 특성에 기인할 수 있다. 블록의 기입 횟수는 블록에 새로운 데이터가 기입될 때마다 1씩 증가할 수 있다. 제어부(120)는 호스트에 의해 사용되는 논리적 주소 및 플래시 메모리(130)를 접근하기 위해 사용되는 물리적 주소 간의 사상(mapping)을 수행할 수 있다. 따라서, 호스트는 자신이 기입을 요청한 데이터의 논리적 주소를 가지고는, 실제로 플래시 메모리(130)의 어떤 블록에 데이터가 기입되었는지 알 수 없다. 또한, 제어부(120)는 버퍼링(buffering), 캐슁(caching) 및 웨어-레벨링(wear-leveling) 등 블록에 대한 기입을 감소시키는 여러 기능들을 제공할 수 있다. 따라서, 호스트는 상기의 요청에 의해 플래시 메모리(130)의 어떤 블록에 데이터가 기입되었는지 알 수 없을 뿐만 아니라, 실제로 플래시 메모리(130)에 데이터가 기입되었는지 여부 또한 알 수 없을 수 있다.Each of the blocks may have a limited number of writes. Write times of blocks may be managed by the controller 120 as metadata. The limited number of writes may be due to the characteristics of the flash memory 130. The number of writes of the block may increase by one each time new data is written to the block. The controller 120 may perform mapping between the logical address used by the host and the physical address used to access the flash memory 130. Thus, with the logical address of the data that the host has requested to write, the host cannot actually know in which block of the flash memory 130 the data was written. In addition, the controller 120 may provide various functions for reducing writing to a block, such as buffering, caching, and wear-leveling. Therefore, the host may not know which block of the flash memory 130 has been written by the request, and may not know whether the data has been actually written to the flash memory 130.
블록들 중 적어도 하나의 기입 횟수가 최대 값에 도달하면, 상기의 블록에는 추가적인 기입이 불가능하게 될 수 있고, 플래시 메모리(130) 전체가 더 이상 사용되지 못할 수도 있다.When the number of writes of at least one of the blocks reaches a maximum value, additional writing may not be possible in the above block, and the entire flash memory 130 may no longer be used.
플래시 메모리(130)는 복수 개일 수 있다. 복수 개의 플래시 메모리들은 각각 복수 개의 블록들을 포함할 수 있다. 후술될 수명 값은 복수 개의 플래시 메모리들 각각에 대해 계산될 수 있다. 또한, 물리적인 복수 개의 플래시 메모리들이 하나의 플래시 메모리(130)로 간주될 수 있다.There may be a plurality of flash memories 130. Each of the plurality of flash memories may include a plurality of blocks. The lifetime value to be described below may be calculated for each of the plurality of flash memories. Also, a plurality of physical flash memories may be regarded as one flash memory 130.
표시부(140)는 플래시 메모리(130)의 수명이 위험한 정도에 도달하였음을 나타낼 수 있다. 표시부(140)는 광 또는 음향를 출력할 수 있다. 제어부(120)는 플래시 메모리(130)의 수명이 위험한 정도에 도달한 경우, 표시부(140)를 통해 광 또는 음향을 출력함으로써 저장 장치(100)의 사용자에게 플래시 메모리(130)의 수명이 위험한 정도에 도달하였음을 알릴 수 있다.The display unit 140 may indicate that the life of the flash memory 130 has reached a dangerous level. The display unit 140 may output light or sound. When the life span of the flash memory 130 reaches a dangerous level, the controller 120 outputs light or sound through the display unit 140 to a degree that the life of the flash memory 130 is dangerous to a user of the storage device 100. You can tell that you have reached.
표시부(140)는 광을 출력하는 발광 다이오드(Light Emitting Diode; LED) 또는 음향을 출력하는 스피커(speaker)일 수 있다.The display unit 140 may be a light emitting diode (LED) for outputting light or a speaker for outputting sound.
도 2는 일 실시예에 따른 플래시 메모리를 사용하는 저장 장치의 동작 방법의 흐름도이다.2 is a flowchart of a method of operating a storage device using a flash memory, according to an exemplary embodiment.
단계(210)에서, 제어부(120)는 플래시 메모리 내에 데이터를 저장할 수 있다.In operation 210, the controller 120 may store data in a flash memory.
제어부(120)는 플래시 메모리(130)의 복수 개의 블록들 중 호스트의 데이터 접근 요청을 처리하기 위해 선택된 블록 내에 데이터를 저장할 수 있다. 제어부(120)는 선택된 블록의 기입 횟수를 갱신할 수 있다. 선택된 블록의 기입 횟수는 메타데이터로서 관리될 수 있다. 메타데이터는 플래시 메모리(130)의 특정한 블록 내에 저장될 수 있으며, 램(Random Access Memory; RAM) 등과 같은 저장 장치(100)의 캐쉬(도시되지 않음) 내에 저장될 수 있다.The controller 120 may store data in a block selected to process a data access request of a host among a plurality of blocks of the flash memory 130. The controller 120 may update the write count of the selected block. The number of writes of the selected block may be managed as metadata. The metadata may be stored in a particular block of flash memory 130 and may be stored in a cache (not shown) of storage device 100, such as a random access memory (RAM).
단계(220)에서, 제어부(120)는 연결부(110)를 통해 호스트로부터 저장 장치(100)의 수명 값의 요청을 수신할 수 있다. 단계(220)는 선택적인 것으로, 제어부(120)는 호스트의 요청 없이도 필요에 따라 계산된 수명 값을 호스트로 전송할 수 있다.In operation 220, the controller 120 may receive a request for the lifetime value of the storage device 100 from the host through the connector 110. Step 220 is optional, and the controller 120 may transmit the calculated lifetime value to the host as needed without the host request.
단계(230)에서, 제어부(120)는 플래시 메모리(130)의 복수 개의 블록들의 기입 횟수들에 기반하여 플래시 메모리(130) 또는 저장 장치(100)의 수명 값을 계산할 수 있다.In operation 230, the controller 120 may calculate a lifetime value of the flash memory 130 or the storage device 100 based on the number of writes of the plurality of blocks of the flash memory 130.
제어부(120)는 하기의 수학식 1 내지 수학식 2에 기반하여 수명 값을 계산할 수 있다.The controller 120 may calculate a lifetime value based on Equations 1 to 2 below.
집합 T는 플래시 메모리(130)의 복수 개의 블록들의 기입 횟수들의 집합일 수 있다. 기입 횟수들은 각각 0 이상의 정수일 수 있다.The set T may be a set of write times of a plurality of blocks of the flash memory 130. The write count may be an integer of 0 or more, respectively.
집합 P는 플래시 메모리(130)의 복수 개의 블록들 중 기입 횟수가 제1 임계 값 이상인 블록들일 수 있다. 즉, 제어부(120)는 플래시 메모리(130)의 복수 개의 블록들 중 기입 횟수가 임계 값 이상인 블록들의 기입 횟수들에 기반하여 수명 값을 계산할 수 있다. 제1 임계 값은 플래시 메모리(130)의 블록의 최대 기입 횟수에 기반하여 결정될 수 있다. 제1 임계 값은 플래시 메모리(130)의 블록의 최대 기입 횟수에 0 보다 크고, 1 이하인 실수인 보정 계수를 곱한 값일 수 있다. 예컨대, 집합 P는 하기의 수학식 1에 따라 정의될 수 있다.The set P may be blocks in which the number of writes is greater than or equal to a first threshold value among the plurality of blocks of the flash memory 130. That is, the controller 120 may calculate a lifetime value based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks of the flash memory 130. The first threshold value may be determined based on the maximum number of writes of a block of the flash memory 130. The first threshold value may be a value obtained by multiplying a maximum number of writes of a block of the flash memory 130 by a correction factor that is a real number greater than 0 and less than or equal to 1. For example, the set P may be defined according to Equation 1 below.
Figure PCTKR2012010700-appb-I000001
Figure PCTKR2012010700-appb-I000001
여기서, EraseCount Max 는 플래시 메모리(130)의 블록의 최대 기입 횟수일 수 있다. 0.8은 보정 계수의 일 예를 나타낼 수 있다. x는 플래시 메모리(130)의 각 블록을 나타낼 수 있다.Here, EraseCount Max may be the maximum number of writes of a block of the flash memory 130. 0.8 may represent an example of a correction factor. x may represent each block of the flash memory 130.
집합 P의 원소의 개수가 1 이상일 때, 제어부(120)는 수학식 2에 기반하여 수명 값을 계산할 수 있다. 집합 P의 원소가 없을 때, 제어부(120)는 수학식 3에 기반하여 수명 값을 계산할 수 있다.When the number of elements of the set P is 1 or more, the controller 120 may calculate a lifetime value based on Equation 2. When there is no element of the set P , the controller 120 may calculate a lifetime value based on Equation 3.
Figure PCTKR2012010700-appb-I000002
Figure PCTKR2012010700-appb-I000002
여기서, P Max 는 집합 P 내의 원소들 중 최대 값일 수 있다. P Max 는 플래시 메모리(130)의 블록들의 기입 횟수들 중 최대 값일 수 있다.Here, P Max may be the maximum value among the elements in the set P. P Max may be a maximum value among the number of writes of blocks of the flash memory 130.
V는 플래시 메모리(130)의 블록들의 기입 횟수들의 분산 값일 수 있다. V Max 는 플래시 메모리(130)의 블록들의 기입 횟수들의 분산의 최대 값일 수 있다. 즉, V Max 는 플래시 메모리(130)의 블록들의 기입 횟수들이 가질 수 있는 최대의 분산 값일 수 있다. 예컨대, 플래시 메모리(130)의 블록들의 개수가 2n 개일 때, V Max 는 플래시 메모리(130)의 블록들 중 n 개의 블록들의 기입 횟수들은 모두 0이고, 나머지 n 개의 블록들의 기입 횟수들은 모두 EraseCount Max 일 때의 V의 값일 수 있다. n은 1 이상의 정수일 수 있다. V may be a variance value of the number of writes of blocks of the flash memory 130. V Max may be the maximum value of the variance of the write times of the blocks of the flash memory 130. That is, V Max may be the maximum variance value that the number of writes of blocks of the flash memory 130 may have. For example, when the number of blocks of the flash memory 130 is 2 n , V Max indicates that the number of writes of n blocks among the blocks of the flash memory 130 is all zero, and the number of writes of the remaining n blocks is EraseCount. It can be the value of V when Max . n may be an integer of 1 or more.
s는 가중치일 수 있다. s는 수학식 2의 좌항 및 우항 간의 비중을 조절할 수 있는 값일 수 있다. s는 0 이상 1 이하의 실수일 수 있다. 의미 있는 수명 값을 계산하기 위해 s는 0.5 이상의 실수일 수 있다. s may be a weight. s may be a value capable of adjusting the specific gravity between the left term and the right term of Equation 2. s may be a real number between 0 and 1, inclusive. S may be a real number equal to or greater than 0.5 to calculate meaningful lifetime values.
수학식 1 내지 수학식 3을 참조하여 전술된 설명에 따르면, 제어부(120)에 의해 계산된 수명 값은 소정의 범위 내의 값일 수 있다. 수명 값은 0 이상 100 이하의 값일 수 있다. 제어부(120)는 S, P, P Max , V, V Max EraseCount Max 중 하나 이상에 기반하여 수명 값을 계산할 수 있다. 제어부(120)는 플래시 메모리(130)의 블록들의 기입 횟수들의 분산 값 및 기입 횟수들 중 최대 값 하나 이상에 기반하여 플래시 메모리(130)의 수명 값을 계산할 수 있다. 예컨대, 계산된 수명 값은 P Max V 중 하나 이상에 비례할 수 있고, V Max EraseCount Max 중 하나 이상에 반비례할 수 있다. 또한, 수명 값을 계산하기 위해 사용되는 기입 횟수들은, 수학식 1을 참조하여 전술된 것과 같이, 임계 값 이상인 기입 횟수들만으로 제한될 수 있다.According to the above description with reference to Equations 1 to 3, the lifetime value calculated by the controller 120 may be a value within a predetermined range. The lifetime value may be a value between 0 and 100, inclusive. The controller 120 may calculate a lifespan value based on at least one of S , P , P Max , V , V Max, and EraseCount Max . The controller 120 may calculate a lifespan value of the flash memory 130 based on a dispersion value of the number of writes of the blocks of the flash memory 130 and at least one of a maximum value of the number of writes. For example, the calculated lifetime value may be proportional to one or more of P Max and V , and inversely proportional to one or more of V Max and EraseCount Max . In addition, the number of writes used to calculate the lifetime value may be limited to only the number of writes above the threshold, as described above with reference to Equation (1).
단계(240)에서, 제어부(120)는 계산된 수명 값을 제2 임계 값과 비교할 수 있다. 계산된 수명 값이 제2 임계 값 이상이면, 후술될 단계(250) 및 단계(260) 중 하나 이상이 수행될 수 있다. 계산된 수명 값이 제2 임계 값보다 작으면, 절차가 종료할 수 있다.In operation 240, the controller 120 may compare the calculated lifetime value with the second threshold value. If the calculated lifetime value is greater than or equal to the second threshold value, one or more of steps 250 and 260 to be described below may be performed. If the calculated lifetime value is less than the second threshold value, the procedure may end.
계산된 수명 값이 제2 임계 값 이상인 경우, 단계(250)에서, 제어부(120)는 연결부(110)를 통해 계산된 수명 값을 저장 장치(100)를 사용하는 호스트로 전송할 수 있다. 단계(210)에서 호스트가 수명 값을 요청한 경우에는, 단계(250)는, 계산된 수명 값 및 제2 임계 값 간의 비교 없이 항상 수행될 수도 있다. 또한, 단계(250)는 주기적으로 수행될 수도 있다.If the calculated lifetime value is greater than or equal to the second threshold value, in step 250, the controller 120 may transmit the calculated lifetime value to the host using the storage device 100 through the connection unit 110. If the host requested a lifetime value in step 210, step 250 may always be performed without a comparison between the calculated lifetime value and the second threshold value. In addition, step 250 may be performed periodically.
계산된 수명 값이 제2 임계 값 이상인 경우, 단계(260)에서, 제어부(120)는 광 또는 음향을 출력하도록 표시부(140)를 제어할 수 있다. 표시부(140)에 의해 광 또는 음향이 출력되면, 사용자는 플래시 메모리(130) 또는 저장 장치(100)의 수명이 위험한 정도에 도달하였음을 인식할 수 있다.If the calculated lifetime value is greater than or equal to the second threshold value, in step 260, the controller 120 may control the display unit 140 to output light or sound. When light or sound is output by the display unit 140, the user may recognize that the life of the flash memory 130 or the storage device 100 has reached a dangerous level.
도 3은 일 실시예에 따른 전자 장치의 블록도이다.3 is a block diagram of an electronic device according to an exemplary embodiment.
전자 장치(300)는 도 1 및 도 2를 참조하여 전술된 호스트일 수 있다. 즉, 전자 장치(300)는 저장 장치(100)를 사용하는 장치일 수 있다.The electronic device 300 may be a host described above with reference to FIGS. 1 and 2. That is, the electronic device 300 may be a device using the storage device 100.
전자 장치(300)는 프로세서(310), 저장 장치(100) 및 백업(backup) 저장 장치(320)를 포함할 수 있다.The electronic device 300 may include a processor 310, a storage device 100, and a backup storage device 320.
프로세서(310)는 전자 장치(300)의 동작에 필요한 연산을 처리할 수 있으며, 저장 장치(100) 및 백업 저장 장치(320)를 제어할 수 있다. 프로세서(310)는 저장 장치(100) 내에 저장된 데이터 및 백업 저장 장치(320) 내에 저장된 데이터에 접근할 수 있다.The processor 310 may process operations required for the operation of the electronic device 300 and may control the storage device 100 and the backup storage device 320. The processor 310 may access data stored in the storage device 100 and data stored in the backup storage device 320.
저장 장치(100) 및 백업 저장 장치(320)는 전자 장치(300)의 데이터를 저장할 수 있다. 백업 저장 장치(320)는 저장 장치(100)의 데이터를 백업하기 위해 사용될 수 있다. 백업 저장 장치(320) 또한 플래시 메모리를 사용하고, 수명 값을 제공하는 저장 장치(100)일 수 있다.The storage device 100 and the backup storage device 320 may store data of the electronic device 300. The backup storage device 320 can be used to back up the data of the storage device 100. The backup storage device 320 may also be a storage device 100 that uses a flash memory and provides a lifetime value.
도 4는 일 실시예에 따른 전자 장치의 동작 방법의 신호 흐름도이다.4 is a signal flowchart of a method of operating an electronic device according to an exemplary embodiment.
단계(410)에서, 프로세서(310)는 저장 장치(100)의 수명 값의 요청을 저장 장치(100)의 연결부(110)로 전송할 수 있다. 단계(410)는 부가적인 것으로, 저장 장치(100)는 프로세서(310)의 명시적인 요청 없이도 수명 값을 계산할 수 있고, 계산된 수명 값을 기 정의된 프로토콜에 따라 프로세서(310)로 전송할 수 있다.In operation 410, the processor 310 may transmit a request for a lifetime value of the storage device 100 to the connection unit 110 of the storage device 100. Step 410 is additional, and the storage device 100 may calculate the lifetime value without an explicit request from the processor 310 and transmit the calculated lifetime value to the processor 310 according to a predefined protocol. .
단계(420)에서, 저장 장치(100)의 제어부(120)는 저장 장치(100)의 수명 값을 계산할 수 있다. 여기서, 저장 장치(100)의 수명 값은 저장 장치(100)의 플래시 메모리(130)의 수명 값일 수 있다. 도 2를 참조하여 전술된 것처럼, 저장 장치(100)의 수명 값은 저장 장치(100) 내의 플래시 메모리(120)의 복수 개의 블록들의 기입 횟수들에 기반하여 계산될 수 있다.In operation 420, the controller 120 of the storage device 100 may calculate a lifetime value of the storage device 100. Here, the lifetime value of the storage device 100 may be a lifetime value of the flash memory 130 of the storage device 100. As described above with reference to FIG. 2, the lifetime value of the storage device 100 may be calculated based on the number of writes of a plurality of blocks of the flash memory 120 in the storage device 100.
단계(430)에서, 저장 장치(100)의 제어부(120)는 연결부(110)를 통해 계산된 수명 값을 프로세서(310)로 전송할 수 있다. 제어부(120)는 계산된 수명 값이 제2 임계 값 이상일 경우에만 계산된 수명 값을 프로세서(310)로 전송할 수도 있다.In operation 430, the control unit 120 of the storage device 100 may transmit the calculated life value to the processor 310 through the connection unit 110. The controller 120 may transmit the calculated lifetime value only to the processor 310 when the calculated lifetime value is greater than or equal to the second threshold value.
단계(440)에서, 프로세서(310)는 전송된 수명 값을 표시할 수 있다. 전송된 수명 값은 전자 장치(300)에서 실행되고 있는 어플리케이션 등을 통해 표시될 수 있다. 사용자는 표시된 수명 값을 인식할 수 있고, 저장 장치(100) 내의 데이터의 백업 등 수명 값에 따른 적합한 조치를 취할 수 있다.In step 440, the processor 310 may indicate the transmitted lifetime value. The transmitted lifetime value may be displayed through an application running on the electronic device 300. The user may recognize the displayed lifetime value and take appropriate measures according to the lifetime value, such as backup of data in the storage device 100.
단계(450)에서, 프로세서(310)는 전송된 수명 값에 기반하여 저장 장치(100) 내의 데이터의 백업의 수행 여부를 결정할 수 있다. 예컨대, 프로세서(310)는 전송된 수명 값이 제2 임계 값 이상이면, 후술될 단계(450)을 수행할 수 있다.In operation 450, the processor 310 may determine whether to perform backup of data in the storage device 100 based on the transmitted lifetime value. For example, if the transmitted lifetime value is greater than or equal to the second threshold value, the processor 310 may perform step 450 to be described later.
단계(460)에서, 백업이 결정된 경우, 프로세서(310)는 저장 장치(100) 내의 데이터를 백업 저장 장치(320) 내에 백업할 수 있다. 즉, 프로세서(310)는 저장 장치(100) 내의 데이터를 독출하여 백업 저장 장치(320) 내에 기입할 수 있다.In operation 460, when a backup is determined, the processor 310 may back up data in the storage device 100 to the backup storage device 320. That is, the processor 310 may read data in the storage device 100 and write the data in the backup storage device 320.
단계(460)는 단계(462) 및 단계(464)를 포함할 수 있다.Step 460 may include step 462 and step 464.
단계(462)에서, 프로세서(310)는 저장 장치(100) 내의 데이터를 독출할 수 있다.In operation 462, the processor 310 may read data in the storage device 100.
단계(464)에서, 프로세서(310)는 저장 장치(100)로부터 독출된 데이터를 백업 저장 장치(454) 내에 기입할 수 있다.In operation 464, the processor 310 may write data read from the storage device 100 into the backup storage device 454.
저장 장치(100) 내의 백업이 요구되는 모든 데이터가 백업될 때까지, 단계(462) 및 단계(464)는 반복적으로 수행될 수 있다.Steps 462 and 464 may be performed repeatedly until all data required for backup in the storage device 100 is backed up.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
   이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

Claims (14)

  1. 데이터를 저장하는 플래시 메모리; 및A flash memory for storing data; And
    상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 상기 플래시 메모리의 수명 값을 계산하는 제어부A controller configured to calculate a life value of the flash memory based on the number of writes of a plurality of blocks of the flash memory
    를 포함하는, 저장 장치.Including, a storage device.
  2. 제1항에 있어서,The method of claim 1,
    상기 제어부는 상기 기입 횟수들의 분산 값 및 상기 기입 횟수들 중 최대 값에 기반하여 상기 수명 값을 계산하는, 저장 장치.And the control unit calculates the life value based on a variance value of the write times and a maximum value of the write times.
  3. 제1항에 있어서,The method of claim 1,
    상기 제어부는 상기 복수 개의 블록들 중 기입 횟수가 임계 값 이상인 블록들의 기입 횟수들에 기반하여 상기 수명 값을 계산하는, 저장 장치.The controller is further configured to calculate the life value based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks.
  4. 제3항에 있어서,The method of claim 3,
    상기 임계 값은 상기 플래시 메모리의 블록의 최대 기입 횟수에 기반하여 결정되는, 저장 장치.And the threshold value is determined based on a maximum number of writes of a block of the flash memory.
  5. 제1항에 있어서,The method of claim 1,
    호스트와 연결되어, 상기 수명 값을 상기 호스트로 전송하는 연결부A connection unit connected to a host to transmit the lifetime value to the host
    를 더 포함하는, 저장 장치.The storage device further comprises.
  6. 제5항에 있어서,The method of claim 5,
    상기 제어부는 상기 계산된 수명 값이 임계 값 이상이면, 상기 연결부를 통해 상기 계산된 수명 값을 상기 호스트로 전송하는, 저장 장치.And the control unit transmits the calculated lifetime value to the host through the connection unit if the calculated lifetime value is greater than or equal to a threshold value.
  7. 제5항에 있어서,The method of claim 5,
    광 또는 음향을 출력하는 표시부를 더 포함하고,Further comprising a display unit for outputting light or sound,
    상기 제어부는 상기 계산된 수명 값이 임계 값 이상이면, 상기 광 또는 상기 음향을 출력하도록 상기 표시부를 제어하는, 저장 장치.And the controller controls the display unit to output the light or the sound when the calculated life value is greater than or equal to a threshold value.
  8. 플래시 메모리 내에 데이터를 저장하는 단계; 및Storing data in flash memory; And
    상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 상기 플래시 메모리의 수명 값을 계산하는 단계Calculating a life value of the flash memory based on the number of writes of a plurality of blocks of the flash memory;
    를 포함하는, 플래시 메모리를 사용하는 저장 장치의 동작 방법.Method of operating a storage device using a flash memory, including.
  9. 제8항에 있어서,The method of claim 8,
    상기 수명 값은 상기 기입 횟수들의 분산 값 및 상기 기입 횟수들 중 최대 값에 기반하여 계산되는, 플래시 메모리를 사용하는 저장 장치의 동작 방법.And wherein the lifetime value is calculated based on a variance value of the number of writes and a maximum value of the number of writes.
  10. 제8항에 있어서,The method of claim 8,
    상기 수명 값은 상기 복수 개의 블록들 중 기입 횟수가 임계 값 이상인 블록들의 기입 횟수들에 기반하여 계산되는, 플래시 메모리를 사용하는 저장 장치의 동작 방법.And the lifespan value is calculated based on the number of writes of blocks having a write count greater than or equal to a threshold value among the plurality of blocks.
  11. 제8항에 있어서,The method of claim 8,
    상기 계산된 수명 값이 임계 값 이상이면 상기 계산된 수명 값을 상기 저장 장치를 사용하는 호스트로 전송하는 단계If the calculated lifetime value is greater than or equal to a threshold, transmitting the calculated lifetime value to a host using the storage device;
    를 더 포함하는, 플래시 메모리를 사용하는 저장 장치의 동작 방법.Further comprising a method of operating a storage device using a flash memory.
  12. 제8항에 있어서,The method of claim 8,
    상기 계산된 수명 값이 임계 값 이상이면 광 또는 음향을 출력하는 단계Outputting light or sound if the calculated lifetime is greater than or equal to a threshold;
    를 더 포함하는, 플래시 메모리를 사용하는 저장 장치의 동작 방법.Further comprising a method of operating a storage device using a flash memory.
  13. 플래시 메모리를 포함하는 저장 장치; 및A storage device including a flash memory; And
    상기 저장 장치를 제어하는 프로세서A processor controlling the storage device
    를 포함하고,Including,
    상기 저장 장치는 상기 플래시 메모리의 복수 개의 블록들의 기입 횟수들에 기반하여 계산된 상기 저장 장치의 수명 값을 상기 프로세서로 전송하고,The storage device transmits a lifetime value of the storage device calculated based on the number of writes of the plurality of blocks of the flash memory to the processor,
    상기 프로세서는 상기 수명 값에 기반하여 상기 저장 장치 내의 데이터의 백업의 수행 여부를 결정하는, 전자 장치.And the processor determines whether to back up data in the storage device based on the lifetime value.
  14. 제13항에 있어서,The method of claim 13,
    백업 저장 장치를 더 포함하고,Further comprising a backup storage device,
    상기 프로세서는 상기 백업이 결정된 경우 상기 저장 장치 내의 데이터를 독출하여 상기 백업 저장 장치 내에 기입하는, 전자 장치.And the processor reads the data in the storage device and writes the data in the backup storage device when the backup is determined.
PCT/KR2012/010700 2011-12-23 2012-12-10 Apparatus and method for indicating flash memory life WO2013094914A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/366,299 US9513821B2 (en) 2011-12-23 2012-12-10 Apparatus and method for indicating flash memory life

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20110141316 2011-12-23
KR10-2011-0141316 2011-12-23
KR10-2012-0091356 2012-08-21
KR1020120091356A KR101404260B1 (en) 2011-12-23 2012-08-21 Method and apparatus for providing life indicator of flash memory

Publications (1)

Publication Number Publication Date
WO2013094914A1 true WO2013094914A1 (en) 2013-06-27

Family

ID=48668749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/010700 WO2013094914A1 (en) 2011-12-23 2012-12-10 Apparatus and method for indicating flash memory life

Country Status (1)

Country Link
WO (1) WO2013094914A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112331249A (en) * 2020-10-15 2021-02-05 深圳安捷丽新技术有限公司 Method and device for predicting service life of storage device, terminal equipment and storage medium
CN113467703A (en) * 2020-03-31 2021-10-01 杭州海康存储科技有限公司 Storage medium management method, device and equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348332A (en) * 2003-05-21 2004-12-09 Matsushita Electric Ind Co Ltd Computer device, component mounting device provided with the computer device, storage device life diagnosis method, and hard disk drive unit life diagnosis program
JP2005276288A (en) * 2004-03-24 2005-10-06 Matsushita Electric Ind Co Ltd Lifetime management method of nonvolatile memory device
JP2007011811A (en) * 2005-06-30 2007-01-18 Konica Minolta Business Technologies Inc Back-up controller for storage data and control program thereof
KR20090082365A (en) * 2006-09-28 2009-07-30 쌘디스크 코포레이션 End of life recovery and resizing of memory cards
JP2009537904A (en) * 2006-05-15 2009-10-29 サンディスク コーポレイション Nonvolatile memory system to calculate the final period

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348332A (en) * 2003-05-21 2004-12-09 Matsushita Electric Ind Co Ltd Computer device, component mounting device provided with the computer device, storage device life diagnosis method, and hard disk drive unit life diagnosis program
JP2005276288A (en) * 2004-03-24 2005-10-06 Matsushita Electric Ind Co Ltd Lifetime management method of nonvolatile memory device
JP2007011811A (en) * 2005-06-30 2007-01-18 Konica Minolta Business Technologies Inc Back-up controller for storage data and control program thereof
JP2009537904A (en) * 2006-05-15 2009-10-29 サンディスク コーポレイション Nonvolatile memory system to calculate the final period
KR20090082365A (en) * 2006-09-28 2009-07-30 쌘디스크 코포레이션 End of life recovery and resizing of memory cards

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467703A (en) * 2020-03-31 2021-10-01 杭州海康存储科技有限公司 Storage medium management method, device and equipment
CN112331249A (en) * 2020-10-15 2021-02-05 深圳安捷丽新技术有限公司 Method and device for predicting service life of storage device, terminal equipment and storage medium
CN112331249B (en) * 2020-10-15 2023-12-05 深圳安捷丽新技术有限公司 Method, device, terminal equipment and storage medium for predicting service life of storage device

Similar Documents

Publication Publication Date Title
US9507619B2 (en) Virtualizing a host USB adapter
WO2012096503A2 (en) Storage device for adaptively determining a processing technique with respect to a host request based on partition data and an operating method for the storage device
US10515040B2 (en) Data bus host and controller switch
US20140104967A1 (en) Inter-memory data transfer control unit
US10853289B2 (en) System, apparatus and method for hardware-based bi-directional communication via reliable high performance half-duplex link
US9626319B2 (en) Allocating lanes in a peripheral component interconnect express (‘PCIe’) bus
WO2012105811A2 (en) Raid-based storage control board
US10097658B2 (en) Traffic control of packet transfer
US10956326B2 (en) Storage system with data management and protection mechanism and method of operation thereof
US9513821B2 (en) Apparatus and method for indicating flash memory life
WO2012105812A2 (en) Raid-based storage control board having fibre channel interface controller
US20130019030A1 (en) High speed baseboard management controller and transmission method thereof
WO2014181946A1 (en) System and method for extracting big data
WO2013094914A1 (en) Apparatus and method for indicating flash memory life
US9639076B2 (en) Switch device, information processing device, and control method of information processing device
US20130054943A1 (en) Firmware with a plurality of emulated instances of platform-specific management firmware
WO2012018217A2 (en) Raid controller having multi pci bus switching
US7725664B2 (en) Configuration definition setup method for disk array apparatus, and disk array apparatus
WO2021066257A1 (en) Efficient ransomware detection method and system using bloom-filter
US20170322900A1 (en) Flexible configuration server system
US10585622B2 (en) Data writing device and method
WO2021162388A1 (en) Electronic device including storage, and method for transmitting discard command of file system to storage by using same
US8832341B2 (en) Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
WO2012060577A2 (en) Home storage device and software
WO2011105708A2 (en) Solid-state disk, and user system comprising same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12860438

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14366299

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12860438

Country of ref document: EP

Kind code of ref document: A1