WO2017099484A1 - 영상처리장치, 영상처리장치의 구동방법 - Google Patents

영상처리장치, 영상처리장치의 구동방법 Download PDF

Info

Publication number
WO2017099484A1
WO2017099484A1 PCT/KR2016/014357 KR2016014357W WO2017099484A1 WO 2017099484 A1 WO2017099484 A1 WO 2017099484A1 KR 2016014357 W KR2016014357 W KR 2016014357W WO 2017099484 A1 WO2017099484 A1 WO 2017099484A1
Authority
WO
WIPO (PCT)
Prior art keywords
bad
file system
storage medium
data
image processing
Prior art date
Application number
PCT/KR2016/014357
Other languages
English (en)
French (fr)
Inventor
전남재
권재욱
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US15/781,626 priority Critical patent/US20180374510A1/en
Publication of WO2017099484A1 publication Critical patent/WO2017099484A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B20/1889Methods for assignment of alternate areas for defective areas with discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/7605Television signal recording on discs or drums
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Definitions

  • the present disclosure relates to an image processing apparatus, a method of driving the image processing apparatus, and a computer-readable recording medium, and more particularly, to manage a bad sector of a storage medium such as a hard disk to facilitate use of the storage medium.
  • An image processing apparatus, a method of driving the image processing apparatus, and a computer readable recording medium are particularly, to manage a bad sector of a storage medium such as a hard disk to facilitate use of the storage medium.
  • HDD Hard Disk Driver
  • SATA Serial Advanced Technology Attachment
  • USB Universal Serial Bus
  • bad sectors are easily generated on HDD disks due to impact damage or workload of data processing due to the large capacity of contents. These bad sectors are classified into physical bad sectors, which are physically unavailable sectors, and logical bad sectors caused by errors in simple firmware.
  • Windows had a function to find and mark bad sectors on HDD disks with NDD (Norton Disk Doctor) of PC HDD so that they can no longer be accessed.
  • NDD Norton Disk Doctor
  • the same functionality is implemented in the offline BBM (Offline Bad Block Management) file system tool in Linux, and users or products can use the tool to read and write sectors across the HDD to find the problem sectors. I'm paying.
  • the bad sector of the HDD may be a big problem for the demanding users in an age when the size of the image data is increasing as the content is increased in size and the resolution is increased.
  • An embodiment according to the present disclosure provides an image processing apparatus, a method of driving the image processing apparatus, and a computer-readable recording medium that manage a bad sector of a storage medium such as a hard disk to facilitate use of the storage medium.
  • the purpose is.
  • a method of driving an image processing apparatus connectable to a storage medium storing a file system, the method comprising: communicating with the storage medium; Storing logical information about the bad sectors in the file system, and when writing data to the storage medium or reading recorded data at the user's request, blocking access to the data of the bad sectors based on the logical information. It includes a step.
  • the file system may include an error block for storing the logical information of the bad sector.
  • the driving method of the image processing apparatus may further include generating the error block in the file system when the file system is mounted on the image processing apparatus.
  • the driving method of the image processing apparatus may further include determining a bad type of the bad sector, and managing the file system may include the bad sector having a physical defect generated by a physical shock of the storage medium.
  • the determining of the bad type of the bad sector may include determining whether the bad sector is a logical bad caused by a data processing error.
  • the driving method of the image processing apparatus may further include processing logical information of the bad sector, which is determined to be the logical defect, in a state in which data is accessible in the file system.
  • the test data is recorded in the defective sector, and when the recorded test data is normally read, the logical defect may be determined as the logical defect.
  • the determining of the failure type of the bad sector may include determining the failure type when the image processing apparatus is in an idle state.
  • the managing in the file system may also manage logical information on neighboring sectors of the bad sector determined as the physical bad.
  • the determination of whether an error occurs may be performed in real time on a plurality of normal sectors including the bad sectors.
  • the image processing apparatus connectable to a storage medium for storing a file system, the communication interface unit for communicating with the storage medium, and logic for the bad sector of the storage medium And storing the information in the file system, and blocking data access of the bad sector based on the logical information when writing data to the storage medium or reading recorded data at a user's request.
  • the file system may include an error block for storing the logical information of the bad sector.
  • the processor may generate the error block in the file system when the file system is mounted on the image processing apparatus.
  • the processor may determine a bad type of the bad sector and manage logical information of the bad sector when the physical bad is caused by a physical shock of the storage medium.
  • the processor may further determine whether it is a logical failure caused by a data processing error.
  • the processor may process the logical information of the bad sector determined as the logical bad in a state in which data is accessible in the file system.
  • the processor records test data in the bad sector, and when the recorded test data is normally read, may determine that the logical failure.
  • the processor may determine the failure type when the processor is idle.
  • the processor may also manage logical information on neighboring sectors of the bad sector determined as the physical bad.
  • the determination of whether an error occurs may be continuously performed for a plurality of normal sectors including the bad sectors.
  • a computer-readable recording medium including a program for executing a method of driving the image processing apparatus, the method of driving the image processing apparatus, the storage of data Communicating with a medium, managing logical information on a bad sector of the storage medium at which an error occurs when writing data to or reading data from the storage medium at the request of a user, and Blocking access to data of the bad sector based on the logical information managed in the file system.
  • FIG. 1 is a diagram illustrating a bad sector processing system of a storage medium according to an embodiment of the present disclosure
  • FIG. 2 is a diagram illustrating a file structure of a file system according to an embodiment of the present disclosure
  • FIG. 3 is a view for explaining a process of a bad sector processing system of a storage medium
  • FIG. 5 is a block diagram illustrating a detailed structure of the image processing apparatus shown in FIG. 1;
  • FIG. 6 is a block diagram illustrating another detailed structure of the image processing apparatus illustrated in FIG. 1;
  • FIG. 7 is a diagram illustrating a structure of a microcomputer circuit of FIG. 6;
  • FIG. 8 is a flowchart illustrating a driving process of an image processing apparatus according to an exemplary embodiment of the present disclosure.
  • FIG. 9 is a flowchart illustrating a driving process of an image processing apparatus according to another exemplary embodiment.
  • FIG. 1 is a diagram illustrating a bad sector processing system of a storage medium according to an embodiment of the present disclosure
  • FIG. 2 is a diagram illustrating a file structure of a file system according to an embodiment of the present disclosure.
  • a bad sector processing system 90 of a storage medium includes an image processing apparatus 100 and a part or all of the storage medium 110.
  • the term “partly or all” means that the storage medium 110 may be configured in the image processing apparatus 110, and the like, and the description will be fully included to fully understand the present invention. .
  • the image processing apparatus 100 is connected to a storage medium 110 that is portable or ensures mobility.
  • the image processing apparatus 100 includes, for example, an image display device such as a smartphone, a DTV, a smart TV, a laptop computer, a desktop computer, a tablet PC, and the like, and includes a set top box (STB), a VCR, and a BD (Bluray Disk). It may further include a media device such as a player.
  • STB set top box
  • VCR VCR
  • BD Blu-ray Deformation
  • BD Blu-ray Deformation
  • the image processing apparatus 100 since the laptop computer, the desktop computer, and the tablet PC can process not only image data but also text data such as a document, the image processing apparatus 100 according to an embodiment of the present disclosure may be referred to as a data processing apparatus. Therefore, the present disclosure will not be particularly limited to the image processing apparatus 100.
  • the image processing apparatus 100 may be connected to the storage medium 110 by a wired or wireless method, or when the storage medium 110 is requested by the user to use the storage medium 110 after the storage medium 110 is connected, for example, the storage medium ( In the process of writing data to or reading data from the memory 110, the defective sector of the storage medium 110, that is, the physical space (ex. Memory space) in which the data is actually written, is determined. . Of course, physical space is divided into sectors.
  • the "sector" refers to the size of the memory space in which data is recorded or read from the storage medium 110, and may be understood as a concept corresponding to a block.
  • the (data) block to be written or read by the user is in units of 512 bytes, for example, the size, or capacity, of the memory space of the storage medium 110 into which data of this size can be written or read out is It's a sector.
  • the image processing apparatus 100 executes a program or a connection operation with the storage medium 110, that is, a user immediately by processing a bad sector of the storage medium 110 at runtime. It is impossible to detect whether or not bad sectors have occurred. In other words, a user who prefers to use the reserved recording conventionally, because when the bad sector occurs, the recording file is continuously deleted and the access is made to the bad sector in the process of re-recording. I could not use the desired function properly. However, in an embodiment of the present disclosure, such inconvenience is improved, so that bad sectors of the storage medium 110 can be managed transparently.
  • the image processing apparatus 100 may mount the file system 190 stored in the storage medium 110 when the storage medium 110 is connected.
  • the image processing apparatus 100 may execute a separate application to perform a PVR function.
  • the image processing apparatus 100 may mount the file system 190 of the storage medium 110.
  • “mounting” refers to copying the file system 190 stored in the storage medium 110 and storing the file system 190 so as to be interoperable with the OS of the image processing apparatus 100 and storing the file in the file system 190. It can mean making it available to the user.
  • a file may be displayed on the screen.
  • the file system 190 stored in the storage medium 110 may already have a structure as shown in FIG. 2.
  • the file system 190 has already configured an area for storing error information about a bad sector of the storage medium 110, that is, an error block 220.
  • the image processing apparatus 100 stores (logical) information (ex. Bad inode) of the bad sector determined by determining the bad sector at runtime of the storage medium 110 in the error block 220 as error information. Just do it.
  • the error block 220 may not access the bad sector on the basis of the error information about the bad sector to be referred to in order to record the data. On the other hand, if the error block 220 for storing error information is not already configured, the image processing apparatus 100 may generate and use the error block 220 when the file system is mounted.
  • a file system is a collection of files or directories in a physical disk area, and may be regarded as a rule for recording and using data in the storage medium 110.
  • the file system is metadata as a kind of additional information for accessing the actual physical space, that is, the memory space of the storage medium 110.
  • the file system corresponds to logical information.
  • "logical information" is additional information for accessing physical information.
  • Such physical information and logical information may be mapped (or matched) with each other by holding common information such as address information.
  • the image processing apparatus 100 finds the address of the memory space to be accessed from the metadata of the file system, accesses the memory space corresponding to the found address, and records the data or reads the recorded data.
  • the file system 190 of FIG. 2 includes a boot block 200, a super block 210, an error block (Bad I-NODE) 220, an I-NODE list 230, and a data block. It may have a data structure divided into five regions, such as 240. Here, the block may be called an area.
  • the boot block 200 may store executable file information of an operating system required in a booting process of, for example, a UNIX system.
  • the super block 210 is a data structure that maintains information of the file system and manages information such as the type of the file system, the size of the disk block, and the name of the device file in which the file system is located. Error block 220 stores information about bad sectors of storage medium 110.
  • the I-NODE list 230 is a collection of inodes that store information necessary for file management.
  • the inode consists of fields that store information about the file and the address of the disk block assigned to the file.
  • the inode number is an index value for identifying the file.
  • the configuration of the inode includes 13 index fields that store the location of the disk block, the owner, size, access rights, and access time of the file.
  • the inode is allocated when the file is created and must be returned when the file is deleted.
  • a directory is a special file that associates a user-friendly file name with an inode that manages the file. It consists of an inode number and a file name.
  • Data block 240 is a collection of disk blocks. Here, each block included in the disk block is a minimum unit for storing data, and may have a data size of 512 bytes, for example.
  • the image processing apparatus 100 may be regarded as performing a slightly different operation when reading data from and storing data from the storage medium 110.
  • the image processing apparatus 100 accesses a physical area, that is, a specific space of a memory, based on metadata of a file system. If the data is not read, the image processing apparatus 100 manages inode information of the file system related to the bad sector in the error block 220.
  • the inode information stored in the error block 220 may be physical damage (hereinafter, referred to as 'physical defect') of the corresponding memory space, and a data processing error of the firmware that is responsible for the control function of the storage medium 110 (hereinafter, It may be caused by "logical failure").
  • the image processing apparatus 100 examines whether the corresponding bad sector is a physical defect or a logical defect based on the error information contained in the error block 220. To this end, the image processing apparatus 100 determines the defect type by recording test data in a bad sector detected as bad, and reading back the recorded test data. If it reads normally, it is a logical failure, and if it is read abnormally, it is a physical failure.
  • the image processing apparatus 100 After determining the bad type of the bad sector as described above, the image processing apparatus 100 makes the sector determined to be a logical bad to be reusable. In other words, the image processing apparatus 100 deletes the error information of the bad sector determined as the logical defect from the error block 220 and leaves only the error information of the physical defect in the error block 220. Inode information related to the deleted error information is added to the I-NODE list 230 so that it can be reused. On the other hand, when it is determined that the bad sector is a physical bad, the image processing apparatus 100 manages error information related to the corresponding bad sector in the error block 220.
  • the image processing apparatus 100 may expand to the peripheral area of the corresponding sector where an error occurs and manage the defect in the error block 220. have.
  • the test data is recorded normally and read out normally, if it is determined that the test data is located in the vicinity of the bad sector, it can be seen that it is left in the error block 220 as it is.
  • the image processing apparatus 100 may store the storage medium 110 based on error information (eg, bad inode information) about physical defects stored in the error block 220. Block access to certain sectors). In other words, it can be seen that the recording of data in the sector is blocked at the source. In such a data write operation, the image processing apparatus 100 may check inode information for accessing a specific memory space of the storage medium 110 in the I-NODE list 230 and record the data.
  • error information eg, bad inode information
  • the image processing apparatus 100 may transmit the file system 190 to the storage medium 110 and store the file system 190 again.
  • the image processing apparatus 100 may transmit the file system 190 to the storage medium 110 so that the storage medium 110 may update the file system existing therein.
  • update operation of the file system 190 may be performed after the operation by the user's request is completed, but may be performed in real time. Therefore, the present disclosure is not particularly limited to the above contents.
  • the storage medium 110 may include a hard disk, a USB memory, and the like, and may include a portable electronic device such as a smartphone that performs a memory function.
  • Storage medium 110 has a plurality of memory spaces, or sectors, for recording (or storing) data. Each space may be divided according to address information.
  • the storage medium 110 stores a file system for efficiently managing such memory space.
  • the file system 190 When the file system 190 is connected to the image processing apparatus 100, the file system 190 may be copied and provided. The file system 190 may perform an update operation through comparison with the copied file system provided by the image processing apparatus 100.
  • the storage medium 110 may be a medium for recording a large amount of data. That is, embodiments of the present disclosure may be more useful for a medium storing TB level data than GB level.
  • the storage medium 110 may include firmware that performs a control function internally. Under this control, the image processing apparatus 100 may perform a data processing operation. In this process, the firmware may generate a data processing error, and the storage medium 110 may recognize the case as an error for a specific sector and notify the image processing apparatus 100.
  • the storage medium 110 may process a signal based on the image processing apparatus 100 and a small computer system interface (SCSI). That is, the storage medium 110 may process a signal according to its standard and return a response signal to the request signal received from the image processing apparatus 100. For example, when the image processing apparatus 100 transmits a SCSI-formatted signal to request whether a particular sector is bad, the storage medium 110 may transmit a bad sector to a specific field (or block) of the received request signal. The information is recorded and transmitted to the image processing apparatus 100 as a response signal, and the image processing apparatus 100 may determine the failure of a specific sector by reading the information recorded in the corresponding field from the response signal. Since this is merely an example, of course, the embodiment of the present disclosure will not be particularly limited how to determine whether or not the failure.
  • SCSI small computer system interface
  • FIG. 3 is a diagram for describing a process of a bad sector processing system of a storage medium
  • FIG. 4 is a diagram for describing an error occurrence situation.
  • the image processing apparatus 100 may mount the file system 190 stored in the storage medium 110.
  • the mounted file system 190 may be managed by the file system manager 310a of the operating system 310. If the operating system 310 is composed of at least two layers, the file system manager 310a may be regarded as a system program layer for processing the file system.
  • the file system manager 310a may process the request signal based on the SCSI standard according to the embodiment of the present disclosure.
  • SCSI is an interface standard for connecting peripheral devices, which corresponds to a type of hard disk controller.
  • the user's request signal is processed to the SCSI standard through the SCSI layer 310b for the image processing apparatus 100 to interact with the storage medium 110 and transmitted to the storage medium 110.
  • the SCSI layer 310b corresponds to a kernel layer of two layers of the operating system 310.
  • the storage medium 110 processes the request signal transmitted from the image processing apparatus 100 through, for example, the firmware 110a.
  • the storage medium 110 transmits state information of a block that a user requests to write or read data.
  • the block means the size of the data requested by the user to record or read the data as mentioned above, and the status information means whether it is bad.
  • the file system manager 310a in the operating system 310 transmits a request signal (ex. Scsi sense command buffer) to the storage medium 110 whenever there is a read / write. And the state information of the current block is received from the storage medium 110 as a response signal of the request signal.
  • the SCSI layer 310b has an error bit (ex. Unrecoverable bit) set in a response buffer (ex. Sense buffer) received from the storage medium 110
  • the SCSI layer 310b may perform the completion of the block (ex. End I / O).
  • the file system manager 310a returns an error represented by the bad block. It notifies that there is an error.
  • the file system manager 310a receives an error number (ex. I / O error number) expressed as a bad block from the SCSI layer 310b, the file system manager 310a may determine that the block is a bad block.
  • the "error number" may be information related to a defect type.
  • the file system manager 310a pre-creates the meta data in an error block 220 called a bad inode when the file system is mounted.
  • a bad inode is a normal inode, but it is set to not lookup to make it invisible to the user.
  • bad inodes can be easily managed using inodes, or metadata, of a common file system without special modifications to the on-disk layout to manage bad blocks. Since there is no modification of the layout on disk, it can be implemented in existing file systems without compatibility issues. For example, if you add a bad block list as the disk layout to NTFS, the file system for a PVR, there is a serious problem that will be recognized on TV but not on a Windows PC. Therefore, when a bad block occurs due to the creation of a bad inode, the bad blocks can be driven to a single file, that is, a bad inode.
  • the file system since the sectors around which bad sectors are generated are also likely to be in a weak state (ex. Worn out or considerably weak), it is necessary to block the user in advance. So instead of moving a block when a bad block occurs, the file system also sends neighboring blocks to the bad inode. At this time, for easy management, it is mapped to bad inodes in extent units instead of block units.
  • the "extent unit” is a collection of blocks in which a physical block is continuous.
  • the logical failure is a defect that occurs due to a problem of the firmware 110a as shown in FIG. 3 and is a sector that can be recovered upon rewriting. Since a physical failure is a spare block of the storage medium 110 and a situation in which remapping is impossible (both exhausted), the corresponding sector is a sector which is permanently unreachable (read / write fail).
  • the SCSI layer 310b of FIG. 3 determines whether a sector determined as a bad block is a physical bad or a logical bad, and also determines whether neighboring blocks moved together with the bad block are bad. This process may be accomplished by a 'BBM torture thread' according to an embodiment of the present disclosure.
  • BBM facilitating thread evaluates logical or physical defects mapped to bad inodes, block candidate groups (peripheral blocks) and treats them as bad or returns to free block list so that they are accessible to the user.
  • FIG. 5 is a block diagram illustrating a detailed structure of the image processing apparatus shown in FIG. 1.
  • the image processing apparatus 100 includes a part or all of the communication interface 500, the bad sector manager 510, and the storage 520.
  • the term "comprising some or all of” means that some components, such as the storage unit 520, may be omitted, or may be integrated into other components, such as the bad sector management unit 510. It will be described as including all, in order to help a full understanding of the invention.
  • the communication interface 500 may be a connector for connecting the image processing apparatus 100 and the storage medium 110 of FIG. 1.
  • the image processing apparatus 100 may be a communication module for performing short range wireless communication such as Wi-Fi and Bluetooth with the storage medium 110.
  • the image processing apparatus 100 processes signals or data based on the storage medium 110 and the SCSI standard for better understanding of the description, and may be processed in any of wired and wireless methods. .
  • the bad sector manager 510 manages the mounted file system. For example, a copy of the file system transmitted from the storage medium 110 may be stored in the storage unit 520 and then managed through the file system manager in the OS. Alternatively, the bad sector manager 510 may store a copy of the file system in the internal memory and manage it. Through this, the bad sector management unit 510 manages the bad sector of the storage medium 110 with respect to the block requested by the user.
  • "managing bad sectors” may mean storing and managing inode information of a bad sector, which is determined to be bad, more precisely, a bad sector, which is determined to be a bad, in an error block of the file system.
  • the meaning of "storage and management" can vary. This may mean that the inode information about the newly determined bad sector is stored in the error block as error information, and then the type of the defect is determined to leave only the error information related to the physical defect. Alternatively, it may be understood that only the information related to the physical defect is stored and then updated, or when there is a request to write data, the error information thereof is referred to. Therefore, the operation will not be particularly limited.
  • the bad sector management unit 510 is not particularly limited whether implemented in software, hardware, or a combination thereof. As will be described later with respect to the implementation of hardware, Figure 5 assumes that it is implemented in software. In other words, the bad sector management unit 510 may be implemented in software to implement a function for managing bad sectors of the storage medium 110 as well as control functions for the communication interface 500 and the storage unit 520. .
  • a software implementation of the bad sector management unit 510 may broadly mean an implementation of the operating system 310 as described above with reference to FIG. 3, but narrowly a system such as a file system manager 310a. It may include at least one of a program layer and a kernel layer, such as SCSI layer 310b.
  • the storage unit 520 may store various information processed under the control of the bad sector management unit 510.
  • the storage unit 520 may be any kind of memory, such as a nonvolatile ROM or a volatile RAM.
  • the storage unit 520 may store an application for performing the PVR function of the TV, and the stored application may be executed under the control of the bad sector management unit 510.
  • the storage unit 520 may be used in various ways, such as a copy of the file system of the storage medium 110.
  • FIG. 6 is a block diagram illustrating another detailed structure of the image processing apparatus of FIG. 1, and FIG. 7 is a diagram illustrating a structure of a microcomputer circuit unit illustrated in FIG. 6.
  • the image processing apparatus 100 ′ includes a part or all of the communication interface 600, the microcomputer circuit 610, and the bad sector manager 620. , Where “including all or part” is synonymous with the foregoing.
  • the microcomputer 610 and the bad sector manager 620 of FIG. 6 are different from the bad sector manager 510 of FIG. 5 in that the bad sector manager 510 is hardware-separated.
  • the microcomputer circuit unit 610 may perform only a control function, and the bad sector management unit 620 processes the bad sector management.
  • the bad sector manager 610 of FIG. 6 may store and execute a copy of the file system as well as the operating system.
  • the microcomputer circuit unit 610 illustrated in FIG. 6 may be the processor 700 of FIG. 7. Accordingly, the microcomputer circuit unit 610 may include a control circuit (or a control unit), an operation unit (ALU), an instruction analysis unit, a register group, or the like as a CPU.
  • the microcomputer circuit unit 610 receives the information related to the bad sector of the storage medium 110 through the communication interface unit 600, the microcomputer circuit unit 610 transfers the information to the bad sector manager 620 to process the information. Thereafter, when the processing of the block according to the user's request is completed, the microcomputer circuit unit 610 may transfer the copied file system to the storage medium 110 through the communication interface unit 600.
  • the processing information related to the file system may be transmitted to the storage medium 110 and processed in real time, and thus the present invention will not be particularly limited thereto.
  • the microcomputer circuit unit 610 may further include a memory 710 as shown in FIG. 7.
  • the processor 700 of the image processing apparatus 100 may load the programs of the bad sector management unit 620 into the internal memory 710 at the initial stage (eg, during booting or after booting) and execute them. This speeds up data processing.
  • the present disclosure since an implementation method of the image processing apparatus 100 for managing the bad sectors of the storage medium 110 is various, the present disclosure will not be particularly limited to any one scheme.
  • FIG. 8 is a flowchart illustrating a driving process of an image processing apparatus according to an exemplary embodiment of the present disclosure.
  • the image processing apparatus 100 communicates with a storage medium 110 that stores data (S800). In this way, the image processing apparatus 100 may recognize the storage medium 110. This process may include a mount operation of the file system stored in the storage medium 110.
  • error information about an error occurrence area, that is, a sector, of the storage medium 110 where an error occurs is stored and managed in the file system (S810).
  • the image processing apparatus 100 blocks access to the error occurrence area based on the error information managed in the file system.
  • the "blocking" means to permanently disable the writing or reading of data in the memory space of the storage medium 110, that is, the sector.
  • FIG. 9 is a flowchart illustrating a driving process of an image processing apparatus according to another exemplary embodiment.
  • the image processing apparatus 100 connects to the storage medium 110 and mounts a file system stored in the storage medium 110. (S900).
  • the image processing apparatus 100 may generate the block on the file system.
  • the image processing apparatus 100 performs an input / output operation according to an arbitrary block, that is, data size, based on a user's request (ex. Read / write) (S910).
  • the input / output operation relates to the reading or reading of the recorded data.
  • the image processing apparatus 100 determines that a particular sector of the storage medium 110 is bad, the image processing apparatus 100 classifies the bad sector as a bad sector, determines a bad type based on the classified information, and finally determines the bad sector determined as a physical bad. Managed in the bad inode of the file system (S920, S930). This failure type determination process may be called a 'promoting thread' according to an embodiment of the present disclosure.
  • the image processing apparatus 100 may terminate an application for performing a PVR function, for example (S940).
  • FIG. 9 a driving process of the image processing apparatus 100 according to the present disclosure will be described in more detail.
  • a file system 190 of a USB HDD disk that is, a USB HDD
  • the file system manager may generate a bad inode, which is an error block 220, in the mounting step.
  • the image processing apparatus 100 performs an operation for reading or writing a file, that is, data, to a USB HDD connected by the user application 300.
  • the file system manager 310a recognizes that the second block is a bad block, and wakes up the BBM facilitation thread after remapping an extent from an inode of an existing file to a bad inode in extent units together with neighboring blocks. In other words, the type of failure is determined through the BBM facilitation thread.
  • the file inode accessed by the existing application is processed as a hole without assigning a physical block to the logical block.
  • the file system manager 310a may load zero data in the response signal (ex. Buffer) and return the read request of the user application in a hole processing manner.
  • a new physical block is allocated from the free block list of the file system 190 and mapped to the logical block after rewriting.
  • the extent in which the bad block occurs is remapping to a bad inode, that is, the error block 220.
  • the BBM facilitation thread running in the background wakes up by a wake-up request when a failure occurs and determines whether it is bad (ex. Physical failure) by a write / read test on the block mapped to the bad inode.
  • data containing 0x55 may be recorded / read, compared, swapped, and determined using data filled with 0xaa.
  • the user application 300 may manage the bad blocks not to be permanently accessed even after the existing file is deleted or regenerated.
  • the file system can not be accessed by the user or a product (ex. TV, smart phone), etc.
  • the HDD disk can be used for a long time without interruption of the application due to an error, and by blocking access to candidate areas of additional bad sectors in advance.
  • the responsiveness of the existing offline BBM may be improved to improve user convenience in the embedded product line.
  • the present invention is not necessarily limited to these embodiments.
  • all of the components may be selectively operated in combination with one or more.
  • each or some of the components of the components are selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer-readable non-transitory computer readable media and read and executed by a computer, thereby implementing an embodiment of the present invention.
  • the non-transitory readable recording medium refers to a medium that stores data semi-permanently and can be read by a device, not a medium storing data for a short time such as a register, a cache, or a memory.
  • the above-described programs may be stored and provided in a non-transitory readable recording medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시는 영상처리장치, 영상처리장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 본 개시의 실시예에 따른 영상처리장치의 구동방법은, 파일 시스템을 저장하는 저장 매체와 연결 가능한 영상처리장치의 구동 방법에 있어서, 저장 매체와 통신하는 단계, 저장 매체의 불량 섹터에 대한 논리 정보를 파일 시스템에 저장하는 단계, 및 사용자의 요청에 따라 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 논리 정보에 근거하여 불량 섹터의 데이터 접근을 차단하는 단계를 포함할 수 있다.

Description

영상처리장치, 영상처리장치의 구동방법
본 개시는 영상처리장치, 영상처리장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 더 상세하게는 가령 하드디스크와 같은 저장 매체의 불량 섹터(bad sector)를 관리해 주어 저장 매체의 사용을 용이하게 하는 영상처리장치, 영상처리장치의 구동방법 및 컴퓨터 판독가능 기록매체에 관한 것이다.
HDD(Hard Disk Driver) 디스크는 대용량의 데이터를 저장할 수 있는 디스크로 일반적인 PC에서 SATA 방식 또는 USB 방식으로 연결하여 사용할 수 있으며, 휴대가 가능(portable)하다. HDD는 PC에 사용하는 것뿐만 아니라, 휴대 가능한 장치가 되면서 충격에 의한 손상이나 콘텐츠의 대용량화에 따른 데이터 처리의 부하(workload)로 인해 쉽게 HDD 디스크에 불량 섹터가 발생한다. 이러한 불량 섹터는 물리적으로 더이상 사용할 수 없는 섹터인 물리적 불량 섹터와, 단순 펌웨어(firmware)의 오류에 의해 발생하는 논리적 불량 섹터로 분류된다.
이런 불량 섹터를 복구하기 위해서 윈도우에서는 PC HDD의 NDD(Norton Disk Doctor)로 HDD 디스크의 불량 섹터를 찾아내어 마킹(marking)하여 더이상 접근하지 않도록 하는 기능이 있었다. 마찬가지로 리눅스에도 같은 방식의 기능이 오프라인 BBM(offline Bad Block Management) 파일시스템 툴(tool)에 구현되어 있고 사용자나 제품에서는 해당 툴을 이용하여 HDD 디스크 전체의 섹터를 읽고 써 보면서 문제가 되는 섹터를 찾아내고 있다.
20년 전을 생각하면 MB(Megabyte) 단위의 HDD가 10년 전에는 GB(Gigabyte) 단위, 현재는 TB(Terabyte) 단위로 증가하고 있다. 예전에 MB를 단위를 생각했을 때에는 오프라인 BBM으로 전체 섹터를 검사하는 것이 문제가 되지는 않을 것이다. 하지만, TB 시대를 맞고 있는 현재에서 해당 툴을 TB HDD에 돌릴 경우에 결과를 얻기 위하여 며칠을 기다릴 수 있기 때문에 사용자 측면에서 빠른 응답성을 요구하는 임베디드 제품에 탑재하기에는 부적합한 솔루션이 될 것이다.
또한, 콘텐츠가 대용량화되고 해상도가 증가함에 따라 영상 데이터의 크기가 점점 증가하고 있는 시대에 까다로운 사용자에게 HDD의 불량 섹터는 큰 문제가 될 수 있을 것이다.
실 예로 TV의 PVR 기능으로 사용자가 HDD 디스크를 연결하여 예약 녹화 기능으로 한 주 동안에 TV 방송을 예약 녹화하여 사용할 경우에 많은 녹화량(data write)에 의해 HDD 디스크에 불량 섹터가 발생할 가능성은 매우 높다. 만약에 예약 녹화를 즐겨 사용하는 사용자의 경우에 불량 섹터가 발생하면 녹화 파일을 지우고 다시 녹화하는 과정에서 불량 섹터에 계속해서 접근하기 때문에 어플리케이션(App) 동작이 멈추거나 에러 처리로 매번 예약 녹화가 중단되어 해당 기능을 제대로 사용하지 못하는 문제가 발생하게 된다.
본 개시에 따른 실시예는 가령 하드디스크와 같은 저장 매체의 불량 섹터(bad sector)를 관리해 주어 저장 매체의 사용을 용이하게 하는 영상처리장치, 영상처리장치의 구동방법 및 컴퓨터 판독가능 기록매체를 제공함 그 목적이 있다.
본 개시의 실시예에 따른 영상처리장치의 구동방법은, 파일 시스템(file system)을 저장하는 저장 매체와 연결 가능한 영상처리장치의 구동 방법에 있어서, 상기 저장 매체와 통신하는 단계, 상기 저장 매체의 불량 섹터에 대한 논리 정보를 상기 파일 시스템에 저장하는 단계, 및 사용자의 요청에 상기 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 상기 논리 정보에 근거하여 상기 불량 섹터의 데이터 접근을 차단하는 단계를 포함한다.
상기 파일 시스템은 상기 불량 섹터의 상기 논리 정보를 저장하는 에러 블록을 포함할 수 있다.
상기 영상처리장치의 구동방법은 상기 파일 시스템이 상기 영상처리장치에 마운트(mount)될 때, 상기 에러 블록을 상기 파일 시스템에 생성하는 단계를 더 포함할 수 있다.
상기 영상처리장치의 구동방법은, 상기 불량 섹터의 불량 유형을 판단하는 단계를 더 포함하며, 상기 파일 시스템을 관리하는 단계는, 상기 저장 매체의 물리적 충격에 의해 발생된 물리적 불량을 갖는 상기 불량 섹터의 논리 정보를 관리할 수 있다.
상기 불량 섹터의 불량 유형을 판단하는 단계는, 데이터의 처리 오류에 의해 발생된 논리적 불량인지 판단하는 단계를 포함할 수 있다.
상기 영상처리장치의 구동방법은 상기 논리적 불량으로 판단된 상기 불량 섹터의 논리 정보를 상기 파일 시스템에서 데이터의 접근이 가능한 상태로 처리하는 단계를 더 포함할 수 있다.
상기 논리적 불량인지 판단하는 단계는, 상기 불량 섹터에 시험 데이터를 기록하고, 상기 기록한 시험 데이터가 정상적으로 독출될 때, 상기 논리적 불량으로 판단할 수 있다.
상기 불량 섹터의 불량 유형을 판단하는 단계는, 상기 영상처리장치가 유휴(idle) 상태일 때, 상기 불량 유형을 판단할 수 있다.
상기 파일 시스템에서 관리하는 단계는, 상기 물리적 불량으로 판단된 상기 불량 섹터의 주변 섹터에 대한 논리 정보도 함께 관리할 수 있다.
상기 에러의 발생 여부 판단은, 상기 불량 섹터를 포함하는 복수의 정상 섹터에 대하여 끊임 없이(real time) 수행될 수 있다.
또한, 본 개시의 실시예에 따른 영상처리장치는, 파일 시스템을 저장하는 저장 매체와 연결 가능한 영상처리장치에 있어서, 상기 저장 매체와 통신하는 통신 인터페이스부, 및 상기 저장 매체의 불량 섹터에 대한 논리 정보를 상기 파일 시스템에 저장하고, 사용자의 요청에 상기 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 상기 논리 정보에 근거하여 상기 불량 섹터의 데이터 접근을 차단하는 프로세서를 포함한다.
상기 파일 시스템은 상기 불량 섹터의 상기 논리 정보를 저장하는 에러 블록을 포함할 수 있다.
상기 프로세서는 상기 파일 시스템이 상기 영상처리장치에 마운트될 때, 상기 에러 블록을 상기 파일 시스템에 생성할 수 있다.
상기 프로세서는, 상기 불량 섹터의 불량 유형을 판단하여 상기 저장 매체의 물리적 충격에 의해 발생된 물리적 불량일 때 상기 불량 섹터의 논리 정보를 관리할 수 있다.
상기 프로세서는, 데이터의 처리 오류에 의해 발생된 논리적 불량인지 더 판단할 수 있다.
상기 프로세서는 상기 논리적 불량으로 판단된 상기 불량 섹터의 논리 정보를 상기 파일 시스템에서 데이터의 접근이 가능한 상태로 처리할 수 있다.
상기 프로세서는 상기 불량 섹터에 시험 데이터를 기록하고, 상기 기록한 시험 데이터가 정상적으로 독출될 때, 상기 논리적 불량으로 판단할 수 있다.
상기 프로세서는, 자신이 유휴 상태일 때, 상기 불량 유형을 판단할 수 있다.
상기 프로세서는 상기 물리적 불량으로 판단된 상기 불량 섹터의 주변 섹터에 대한 논리 정보도 함께 관리할 수 있다.
상기 에러의 발생 여부 판단은, 상기 불량 섹터를 포함하는 복수의 정상 섹터에 대하여 끊임 없이 수행될 수 있다.
한편, 본 개시의 실시예에 따른 컴퓨터 판독가능 기록매체는, 영상처리장치의 구동방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 영상처리장치의 구동방법은, 데이터의 저장 매체와 통신하는 단계, 사용자의 요청에 따라 상기 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 에러가 발생되는 상기 저장 매체의 불량 섹터에 대한 논리 정보를 파일 시스템에서 관리하는 단계, 및 상기 파일 시스템에서 관리되는 상기 논리 정보에 근거하여 상기 불량 섹터의 데이터 접근을 차단하는 단계를 실행한다.
도 1은 본 개시의 실시예에 따른 저장 매체의 불량 섹터 처리 시스템을 나타내는 도면,
도 2는 본 개시의 실시예에 따른 파일 시스템의 파일 구조를 예시하여 나타낸 도면,
도 3은 저장 매체의 불량 섹터 처리 시스템의 처리 과정을 설명하기 위한 도면,
도 4는 에러 발생 상황을 설명하기 위한 도면,
도 5는 도 1에 도시된 영상처리장치의 세부 구조를 예시하여 나타낸 블록다이어그램,
도 6은 도 1에 도시된 영상처리장치의 다른 세부 구조를 예시하여 나타낸 블록다이어그램,
도 7은 도 6의 마이컴 회로부의 구조를 예시하여 나타낸 도면,
도 8은 본 개시의 실시예에 따른 영상처리장치의 구동 과정을 나타내는 흐름도, 그리고
도 9는 본 개시의 다른 실시예에 따른 영상처리장치의 구동 과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 개시의 실시예에 대하여 상세히 설명한다.
도 1은 본 개시의 실시예에 따른 저장 매체의 불량 섹터 처리 시스템을 나타내는 도면이고, 도 2는 본 개시의 실시예에 따른 파일 시스템의 파일 구조를 예시하여 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 개시의 실시예에 따른 저장 매체의 불량 섹터 처리 시스템(90)은 영상처리장치(100) 및 저장 매체(110)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부"를 포함한다는 것은 저장 매체(110)가 영상처리장치(110)의 내부에 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
본 개시의 실시예에 따른 영상처리장치(100)는 휴대 가능하거나 이동성이 보장되는 저장 매체(110)가 연결된다. 이러한 영상처리장치(100)는 예를 들어, 스마트폰, DTV, 스마트 TV, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 PC 등의 영상표시장치를 포함하며, 셋탑박스(STB), VCR, BD(Bluray Disk) 재생기 등의 미디어 장치를 더 포함할 수 있다. 여기서, 랩탑 컴퓨터, 데스크탑 컴퓨터 및 태블릿 PC는 영상 데이터뿐 아니라, 문서와 같은 텍스트 데이터의 처리도 가능하므로, 본 개시의 실시예에 따른 영상처리장치(100)는 데이터처리장치라 명명될 수도 있을 것이다. 따라서, 본 개시에서는 위의 영상처리장치(100)에 특별히 한정하지는 않을 것이다.
영상처리장치(100)는 유선 또는 무선 방식에 의해 저장 매체(110)가 연결되거나, 저장 매체(110)가 연결된 후 사용자로부터 저장 매체(110)를 사용하기 위한 요청이 있는 경우, 가령 저장 매체(110)에 데이터를 기록(write)하거나 이미 기록된 데이터를 독출(read)하는 과정에서 저장 매체(110)의 불량 섹터 즉 데이터가 실제 기록되는 물리적 공간(ex. 메모리 공간)의 불량을 판단하게 된다. 물론 물리적 공간은 섹터로 구분된다. 이러한 "섹터"는 저장 매체(110)에서 데이터가 기록되거나 독출되는 메모리 공간의 크기를 의미하며, 블록에 상응하는 개념으로 이해해도 좋다. 예를 들어, 사용자가 기록하거나 독출하려는 (데이터) 블록이 가령 512 바이트(byte) 단위라면, 이러한 크기의 데이터가 기록되고 또는 독출될 수 있는 저장 매체(110)의 메모리 공간의 크기 즉 용량이 곧 섹터인 것이다.
본 개시의 실시예에 따른 영상처리장치(100)는 프로그램의 실행이나 저장 매체(110)와 연결 동작을 실행하는 즉 런타임(runtime)시에 저장 매체(110)의 불량 섹터를 바로 처리함으로써 사용자가 불량 섹터의 발생 여부를 감지할 수 없도록 한다. 다시 말해, 종래에는 예약 녹화를 즐겨 사용하는 사용자의 경우 불량 섹터가 발생될 때 녹화 파일을 지우고 다시 녹화하는 과정에서 불량 섹터에 계속해서 접근하기 때문에 어플리케이션이 멈추거나 에러로 처리되어 매번 예약 녹화가 중단되어 원하는 기능을 제대로 사용할 수 없었다. 그러나, 본 개시의 실시예에서는 이러한 불편함이 개선되어 저장 매체(110)의 불량 섹터를 투명하게 관리할 수 있게 된다.
이후에 다시 다루겠지만, 간략히 언급해 보면 영상처리장치(100)는 가령 저장 매체(110)가 연결되면, 저장 매체(110)에 저장되어 있는 파일 시스템(190)을 마운트(mount)한다. 예를 들어, 영상처리장치(100)는 TV의 경우, PVR 기능을 수행하기 위하여 별도의 어플리케이션을 실행시킬 수 있다. 사용자 요청이 있을 때, 영상처리장치(100)는 저장 매체(110)의 파일 시스템(190)을 마운트할 수 있다. 여기서, "마운트"한다는 것은 가령 저장 매체(110)에 저장되어 있는 파일 시스템(190)을 복사하여 영상처리장치(100)의 OS와 연동할 수 있도록 저장해 두고, 파일 시스템(190) 내에 있는 파일을 사용자가 사용할 수 있도록 만드는 것을 의미할 수 있다. 가령 PC의 경우에는 파일이 화면에 표시되는 것이 그 좋은 예가 될 수 있다.
영상처리장치(100)의 구체적인 설명에 앞서, 파일 시스템에 대하여 살펴보면, 본 개시의 실시예에 따른 파일 시스템은 2가지 방식으로 처리될 수 있다. 다시 말해, 저장 매체(110)에 저장되어 있는 파일 시스템(190)이 이미 도 2에서와 같은 구조를 가질 수 있다. 즉 파일 시스템(190) 내에 저장 매체(110)의 불량 섹터에 대한 에러 정보를 저장하기 위한 영역(field) 즉 에러 블록(220)을 이미 구성하고 있는 경우이다. 이의 경우에는 영상처리장치(100)가 저장 매체(110)의 런타임시에 불량 섹터를 판단하여 판단한 불량 섹터에 대한 (논리) 정보(ex. bad inode)를 에러 정보로서 에러 블록(220)에 저장하면 된다. 만약 데이터를 기록해야 하는 경우라면 에러 블록(220)에 데이터를 기록하기 위해 참조해야 하는 불량 섹터에 대한 에러 정보가 있는 경우에는 이를 근거로 불량 섹터에 접근하지 않을 수 있다. 한편, 에러 정보를 저장하는 에러 블록(220)이 이미 구성되어 있지 않은 경우라면, 영상처리장치(100)는 파일 시스템의 마운트시에 에러 블록(220)을 생성하여 이용할 수 있다.
파일 시스템은 물리적인 디스크 영역에 있는 파일 또는 디렉토리의 집합이며, 저장 매체(110)에 데이터를 기록하고 사용하기 위한 규칙이라 볼 수 있다. 파일 시스템은 저장 매체(110)의 실제 물리 공간 즉 메모리 공간에 접근하기 위한 일종의 부가 정보로서 메타 데이터이다. 다시 말해, 실제 물리 공간에 기록되어 있는 영상 데이터는 물리 정보라면, 파일 시스템은 논리 정보에 해당된다. 여기서, "논리 정보"는 물리 정보에 접근하기 위한 부가 정보인 셈이다. 이러한 물리 정보와 논리 정보는 가령 주소(address) 정보라는 공통된 정보를 보유함으로써 서로 매핑(혹은 매칭)될 수 있다. 이를 통해 영상처리장치(100)는 파일 시스템의 메타 데이터에서 접근하고자 하는 메모리 공간의 주소를 찾고, 찾은 주소와 일치하는 메모리 공간에 접근하여 데이터를 기록하거나 기록된 데이터를 독출하게 된다.
본 개시의 실시예에 따른 도 2의 파일 시스템(190)은 부트 블록(200), 슈퍼 블록(210), 에러 블록(Bad I-NODE)(220), I-NODE 리스트(230) 및 데이터 블록(240) 등 5개 영역으로 분리된 자료 구조를 가질 수 있다. 여기서, 블록은 영역이라 명명될 수 있다. 부트 블록(200)은 가령 유닉스(UNIX) 시스템의 부팅 과정에서 필요한 운영체제의 실행 파일 정보를 저장할 수 있다. 슈퍼 블록(210)은 파일 시스템의 정보를 유지하는 자료 구조로 파일 시스템의 유형, 디스크 블록의 크기, 파일 시스템이 있는 디바이스 파일의 이름 등의 정보를 관리한다. 에러 블록(220)은 저장 매체(110)의 불량 섹터들에 대한 정보를 저장한다. I-NODE 리스트(230)는 파일 관리에 필요한 정보를 저장하고 있는 inode의 집합이다. 여기서, inode는 파일에 대한 정보와 이 파일에 할당된 디스크 블록의 주소를 저장하는 필드(field)들로 구성된다. inode의 번호는 파일을 식별하는데 필요한 인덱스 값이며, inode의 구성은 디스크 블록의 위치를 저장하는 13개의 인덱스 필드와 파일의 소유자, 크기, 접근 권한, 접근 시간 등이 포함된다. inode는 파일 생성시 할당받고, 파일 삭제시 반납해야 한다. 디렉토리는 사용자에게 익숙한 파일명과 파일을 관리하는 inode를 연결하는 특수한 파일로 inode 번호와 파일명으로 구성된다. 데이터 블록(240)은 디스크 블록의 집합이다. 여기서, 디스크 블록에 포함되는 각 블록은 데이터를 저장하는 최소 단위이며, 가령 512 바이트의 데이터 크기를 가질 수 있다.
본 개시의 실시예에 따른 영상처리장치(100)는 데이터를 저장 매체(110)로부터 독출할 때와 기록할 때 다소 상이한 동작을 수행한다고 볼 수 있다. 다시 말해, 저장 매체(110)에 이미 기록된 데이터를 독출할 때, 영상처리장치(100)는 파일 시스템의 메타 데이터에 근거하여 물리 영역 즉 메모리의 특정 공간에 접근한다. 만약 데이터가 독출되지 않으면, 영상처리장치(100)는 해당 불량 섹터에 관계된 파일 시스템의 inode 정보를 에러 블록(220)에서 관리하게 된다. 이때 에러 블록(220)에 저장된 inode 정보는 해당 메모리 공간의 물리적 손상(이하, '물리적 불량'이라 함)일 수 있고, 저장 매체(110)의 제어 기능을 담당하는 펌웨어의 데이터 처리 오류(이하, '논리적 불량'이라 함)에 의해 발생된 것일 수 있다. 여기서, 논리적 불량에 의한 불량 섹터는 재사용이 가능하기 때문에 영상처리장치(100)는 에러 블록(220)에 담긴 에러 정보를 근거로, 해당 불량 섹터가 물리적 불량인지 논리적 불량인지를 검토하게 된다. 이를 위하여, 영상처리장치(100)는 불량으로 검출된 불량 섹터에 시험용 데이터를 기록하고, 기록한 시험용 데이터를 다시 독출하는 방식으로 불량 유형을 판단하게 된다. 만약 정상으로 독출된다면 논리적 불량이며, 비정상으로 독출되면 물리적 불량이 된다.
이와 같이 불량 섹터의 불량 유형을 판단한 후, 영상처리장치(100)는 논리적 불량으로 판단된 섹터에 대하여는 재사용이 가능한 상태로 만든다. 다시 말해, 영상처리장치(100)는 논리적 불량으로 판단된 불량 섹터의 에러 정보를 에러 블록(220)에서 삭제하여 에러 블록(220) 내에 물리적 불량에 대한 에러 정보만 남긴다. 그리고 삭제된 에러 정보에 관계된 inode 정보는 재사용될 수 있도록 I-NODE 리스트(230)에 추가시킨다. 반면, 불량 섹터가 물리적 불량으로 판단된 경우 영상처리장치(100)는 불량이 발생한 해당 섹터에 관계된 에러 정보를 에러 블록(220)에서 관리한다. 물리적 손상이라는 것이 종국적으로 그 주변 영역에까지 영향을 미칠 수 있기 때문에, 이의 과정에서 영상처리장치(100)는 에러가 발생된 해당 섹터의 주변 영역으로 확장하여 에러 블록(220)에서 불량으로 관리할 수 있다. 물론, 시험용 데이터가 정상으로 기록되고 정상으로 독출된다 해도 불량 섹터의 주변에 위치하는 것으로 판단되면 그대로 에러 블록(220)에 남겨둔다고 볼 수 있다.
반면, 저장 매체(110)에 데이터를 기록하는 경우 영상처리장치(100)는 에러 블록(220) 내에 저장되어 있는 물리적 불량에 대한 에러 정보(ex. bad inode 정보)를 근거로, 저장 매체(110)의 특정 섹터에 대한 접근을 차단한다. 즉 해당 섹터에 데이터를 기록하는 것을 원천적으로 차단한다고 볼 수 있다. 이와 같은 데이터의 쓰기 동작에서, 영상처리장치(100)는 I-NODE 리스트(230)에서 저장 매체(110)의 특정 메모리 공간에 접근하기 위한 inode 정보를 확인하여 데이터를 기록할 수 있다.
저장 매체(110)의 불량 섹터에 대한 판단이 완료되면, 영상처리장치(100)는 파일 시스템(190)을 저장 매체(110)로 다시 전송하여 저장시킬 수 있다. 또는 영상처리장치(100)가 저장 매체(110)로 파일 시스템(190)을 전송해 주어, 저장 매체(110)가 내부에 존재하는 파일 시스템을 갱신하도록 할 수 있다. 물론 이러한 파일 시스템(190)의 처리 가령 갱신 동작은 사용자의 요청에 의한 동작이 완료된 후 이루어질 수 있지만, 실시간으로 이루어질 수도 있다. 따라서, 본 개시에서는 위의 내용에 특별히 한정하지는 않을 것이다.
저장 매체(110)는 하드디스크, USB 메모리 등을 포함하며, 메모리 기능을 수행하는 스마트폰 등의 휴대용 전자기기를 포함할 수 있을 것이다. 저장 매체(110)는 데이터를 기록(혹은 저장)하기 위한 다수의 메모리 공간 즉 섹터를 갖는다. 각각의 공간은 주소 정보에 따라 구분될 수 있을 것이다. 또한, 저장 매체(110)는 이러한 메모리 공간을 효율적으로 관리하기 위한 파일 시스템을 저장한다. 이러한 파일 시스템(190)은 영상처리장치(100)에 연결될 때, 복사되어 제공될 수 있다. 그리고, 이러한 파일 시스템(190)은 영상처리장치(100)에서 제공하는 복사된 파일 시스템과의 비교를 통해 갱신 동작을 수행할 수 있을 것이다.
본 개시의 실시예에 따라 저장 매체(110)는 대용량의 데이터를 기록하는 매체가 바람직할 수 있다. 즉 GB 수준보다는 TB 수준의 데이터를 저장하는 매체에 본 개시의 실시예가 더욱 유용할 수 있다. 저장 매체(110)는 내부적으로 제어 기능을 수행하는 펌웨어를 포함할 수 있다. 이의 제어 하에 영상처리장치(100)와 데이터 처리 동작을 수행할 수 있을 것이다. 이의 과정에서 펌웨어는 데이터 처리 오류를 발생시킬 수 있는데, 저장 매체(110)는 이의 경우를 특정 섹터에 대한 에러가 발생한 것으로 인식하여 영상처리장치(100)에 통지할 수 있을 것이다.
가령, 저장 매체(110)는 영상처리장치(100)와 SCSI(Small Computer System Interface) 기반으로 신호를 처리할 수 있다. 즉 저장 매체(110)는 이의 규격에 맞게 신호를 처리하여 영상처리장치(100)로부터 수신된 요청 신호에 대한 응답 신호를 리턴할 수 있다. 예를 들어, 영상처리장치(100)에서 SCSI 기반으로 포맷된 신호를 전송하여 특정 섹터에서의 불량 여부를 요청하면, 저장 매체(110)는 수신된 요청 신호의 특정 필드(또는 블록)에 불량 섹터에 정보를 기록하여 응답 신호로서 영상처리장치(100)로 전송해 주고, 영상처리장치(100)는 응답 신호에서 해당 필드에 기록된 정보를 판독하여 특정 섹터의 불량을 판단할 수 있다. 이는 물론 하나의 예에 불과한 것이므로 본 개시의 실시예에서는 어떠한 방식으로 불량 여부를 판단하는지에 대하여는 특별히 한정하지는 않을 것이다.
도 3은 저장 매체의 불량 섹터 처리 시스템의 처리 과정을 설명하기 위한 도면이고, 도 4는 에러 발생 상황을 설명하기 위한 도면이다.
도 3 및 도 4를 도 1 및 도 2와 함께 참조하면, 본 개시의 실시예에 따른 영상처리장치(100)는 사용자로부터 가령 PVR 기능을 수행하기 위한 요청이 있는 경우, 해당 기능에 관련된 어플리케이션(300)을 실행시킬 수 있다.
이에 앞서 영상처리장치(100)는 저장 매체(110)가 연결될 때, 저장 매체(110)에 저장된 파일 시스템(190)을 마운트할 수 있다. 마운트된 파일 시스템(190)은 운영체제(310)의 파일시스템 매니저(310a)에 의해 관리될 수 있다. 운영체제(310)가 적어도 2계층으로 구성된다면, 파일시스템 매니저(310a)는 파일 시스템을 처리하기 위한 시스템 프로그램 계층에 해당된다고 볼 수 있다.
어플리케이션(300)을 통해 사용자 요청이 있으면, 파일시스템 매니저(310a)는 해당 요청 신호를 본 개시의 실시예에 따라 SCSI 규격에 근거하여 처리할 수 있다. 여기서, SCSI는 주변 장치를 연결하는 인터페이스 규격으로 일종의 하드디스크 컨트롤러에 해당된다. 사용자의 요청 신호는, 영상처리장치(100)가 저장 매체(110)와 상호 작용하기 위한 SCSI 층(310b)을 통해 SCSI 규격으로 처리되어 저장 매체(110)로 전송된다. 여기서, SCSI 층(310b)은 운영체제(310)의 2개 계층 중 커널 계층에 해당된다.
저장 매체(110)는 가령 내부의 펌웨어(110a)를 통해 영상처리장치(100)로부터 전송된 요청 신호를 처리한다. 이의 과정에서 저장 매체(110)는 사용자가 데이터의 기록 또는 독출을 요청한 블록의 상태 정보를 전송해 준다. 여기서, 블록은 앞서 언급한 대로 사용자가 데이터를 기록 또는 독출하기 위하여 요청한 데이터의 크기를 의미하며, 상태 정보는 불량 여부를 의미한다.
SCSI를 중심으로 좀 더 살펴보면, 운영체제(310) 내의 파일시스템 매니저(310a)는 읽기/쓰기(read/write)가 있을 때마다 요청 신호(ex. scsi sense command buffer)를 저장 매체(110)로 전송하고, 요청 신호의 응답 신호로서 저장 매체(110)로부터 현재 블록의 상태 정보를 수신한다. SCSI 층(310b)은 저장 매체(110)로부터 수신한 응답 신호(ex. sense buffer)에 에러 비트(ex. unrecoverable bit)가 설정되어 있으면, 해당 블록의 완료(ex. end I/O)시에 파일시스템 매니저(310a)로 불량 블록으로 표현되는 에러를 리턴한다. 즉 에러가 있음을 통지한다. 파일 시스템 관리자(310a)는 SCSI 층(310b)으로부터 불량 블록으로 표현하는 에러 번호(ex. I/O error number)를 수신하게 되면, 해당 블록이 불량 블록임을 판단할 수 있게 된다. 여기서, "에러 번호"는 불량 유형에 관계된 정보일 수 있다.
파일시스템 매니저(310a)는 파일 시스템의 마운트시에 bad inode라는 에러 블록(220)에 메타 데이터를 미리 생성해 놓는다. bad inode는 일반적인 inode이지만, 사용자가 볼 수 없게 하기 위해 검색(lookup)이 되지 않도록 설정한다. 즉 bad inode는 불량 블록들을 관리하기 위해 특별히 디스크상의 레이아웃(on-disk layout)에 대한 수정 없이 일반적인 파일 시스템의 inode 즉 메타 데이터를 사용하여 쉽게 관리가 될 수 있다. 디스크 상에서 레이아웃의 수정이 없기 때문에 호환성에 대한 쟁점 없이 현재 존재하는 파일 시스템에서 구현될 수 있다. 가령 PVR용 파일 시스템인 NTFS에 디스크의 레이아웃으로 불량 블록(bad block) 리스트를 추가한다면 TV에서는 인식되겠지만 윈도우 PC에서 인식되지 않는 심각한 문제가 발생한다. 따라서 bad inode의 생성으로 불량 블록이 발생했을 경우에 불량 블록들을 하나의 파일 즉 bad inode에 모두 몰아 버릴 수 있게 된다.
이때, 불량 섹터가 발생한 주변의 섹터들도 취약한 상태(ex. worn out 또는 상당히 weak 한 상태)일 가능성이 높기 때문에 미리 사용자가 접근하지 못하도록 차단하는 것이 필요하다. 그래서 파일 시스템에서는 불량 블록의 발생시에 한 개의 블록을 옮기는 것이 아니라 양옆의 주변 블록들도 함께 bad inode로 보낸다. 이때 관리가 용이하도록 블록 단위가 아닌 익스텐트(extent) 단위로 bad inode에 매핑시킨다. 여기서, "익스텐트 단위"란 물리적 블록이 연속된 블록들의 모음이다.
앞서 언급한 바와 같이, 불량 섹터는 논리적 불량과 물리적 불량으로 나뉜다. 논리적 불량은 도 3에서와 같이 펌웨어(110a)의 문제로 인해서 발생하는 불량으로 재기록(rewrite)시에 복구가 가능한 섹터이다. 물리적 불량은 저장 매체(110)의 여분의 블록들(spare blocks)과 재매핑이 불가한 상황(모두 소진)이므로 해당 섹터는 영구히 접속이 불가능한 섹터이다(read/write fail).
이러한 이유로, 도 3의 SCSI 층(310b)에서는 불량 블록으로 판정된 섹터가 물리적 불량인지 아니면 논리적 불량인지에 대한 판정과, 불량 블록과 함께 이동된 주변 블록들도 불량인지를 판정하게 된다. 이러한 과정은 본 개시의 실시예에 따라 'BBM 촉진 스레드'(BBM torture thread)에 의해 이루어질 수 있다. 여기서, "BBM 촉진 스레드는, bad inode에 매핑된 논리적인 불량 혹은 물리적 불량, 블록 후보군(주변 블록)들을 평가하여 불량으로 처리할지 아니면 다시 사용자에게 접근 가능하도록 자유 블록 리스트(free block list)로 복귀시킬지를 결정하는 스레드(thread)이다. 여기서, "스레드"는 컴퓨터 프로그램 수행시 프로세서 내부에 존재하는 수행 경로, 즉 일련의 실행 코드를 의미한다.
이러한 모든 것은 어플리케이션(300)이 실제 파일에 접근할 때, 즉 런타임시에 이루어진다. 즉 파일 시스템(190)이 마운트되어 어플리케이션(300)이 사용자가 접근 가능한 상태인 온라인 상태에서 이루어지는 것이다. 그리고 그런 불량 블록 관리는 런타임시에 관리되기 때문에 어플리케이션 동작의 중단없이 이루어지고, 오프라인 BBM처럼 모든 섹터를 검사하는 것이 아니라 어플리케이션(300)이 파일을 통해 접근한 블록에 대해서만 실시간으로 에러 처리가 이루어질 수 있게 된다.
도 5는 도 1에 도시된 영상처리장치의 세부 구조를 예시하여 나타낸 블록다이어그램이다.
도 5에 도시된 바와 같이, 본 개시의 실시예에 따른 영상처리장치(100)는 통신 인터페이스부(500), 불량섹터 관리부(510) 및 저장부(520)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 저장부(520)와 같은 일부 구성요소가 생략되어 구성되거나, 불량섹터 관리부(510)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
통신 인터페이스부(500)는 영상처리장치(100)와 도 1의 저장 매체(110)를 연결하기 위한 커넥터일 수 있다. 또는 영상처리장치(100)가 저장 매체(110)와 와이파이, 블루투스와 같은 근거리 무선통신을 수행하기 위한 통신 모듈일 수 있다. 본 개시에 따른 실시예에서는 설명의 이해를 돕기 위하여 영상처리장치(100)가 저장 매체(110)와 SCSI 규격에 의해 신호 또는 데이터를 처리하는 것을 설명하였으며, 유무선 방식 중 어떠한 방식으로 처리되어도 무관하다.
불량섹터 관리부(510)는 마운트된 파일 시스템을 관리한다. 예를 들어, 저장 매체(110)에서 전송된 파일 시스템의 복사본을 저장부(520)에 저장한 후, OS 내의 파일시스템 매니저를 통해 이를 관리할 수 있다. 또는 불량섹터 관리부(510)는 내부 메모리에 파일 시스템의 복사본을 저장한 후 이를 관리할 수도 있을 것이다. 이를 통해 블량섹터 관리부(510)는 사용자가 요청한 블록에 대하여 저장 매체(110)의 불량 섹터를 관리하게 된다. 여기서, "불량 섹터를 관리"한다는 것은 앞서 언급한 대로, 불량으로 판단된, 더 정확히는 물리적 불량으로 판단된 불량 섹터의 inode 정보를 파일 시스템의 에러 블럭에 저장한 후 관리하는 것을 의미할 수 있다.
물론 "저장 및 관리"의 의미는 다양할 수 있다. 새롭게 판정된 불량 섹터에 대한 inode 정보를 에러 정보로서 에러 블록에 저장한 후 불량의 유형을 판정하여 물리적 불량에 관계된 에러 정보만을 남기는 것을 의미할 수 있다. 또는 물리적 불량에 관계된 정보만을 저장한 후 이를 갱신하거나, 데이터의 쓰기 요청이 있는 경우, 이의 에러 정보를 참조하는 것으로 이해될 수 있다. 따라서, 그 동작에 대하여 특별히 한정하지는 않을 것이다.
한편, 불량섹터 관리부(510)는 소프트웨어로 구현되든 하드웨어로 구현되든, 아니면 이들의 조합에 의해 구현되든 특별히 한정하지는 않을 것이다. 하드웨어의 구현과 관련해서는 이후에 다시 살펴보겠지만, 도 5에서는 소프트웨어로 구현되는 것을 상정한 것이다. 다시 말해, 불량섹터 관리부(510)는 통신 인터페이스부(500) 및 저장부(520)에 대한 제어 기능뿐 아니라, 저장 매체(110)의 불량 섹터를 관리하는 기능을 소프트웨어적으로 구현한다고 볼 수 있다.
예를 들어, 불량섹터 관리부(510)의 소프트웨어적인 구현은 앞서 도 3에서 살펴본 바와 같이, 넓게는 운영체제(310)의 구현을 의미할 수 있지만, 좁게는 그의 일부인 파일시스템 매니저(310a)와 같은 시스템 프로그램 계층 및 SCSI 층(310b)과 같은 커널 계층 중 적어도 하나를 포함할 수 있을 것이다.
저장부(520)는 불량섹터 관리부(510)의 제어 하에 처리되는 다양한 정보를 저장할 수 있다. 이러한 저장부(520)는 비휘발성의 롬(ROM), 휘발성의 램(RAM) 등 어떠한 종류의 메모리여도 무관하다. 예를 들어, 저장부(520)는 TV의 PVR 기능을 수행하기 위한 어플리케이션이 저장될 수 있고, 저장된 어플리케이션은 불량섹터 관리부(510)의 제어 하에 실행될 수 있을 것이다. 또한, 앞서 언급한 대로 저장부(520)는 저장 매체(110)의 파일 시스템에 대한 복사본이 저장되는 등 다양하게 활용될 수 있을 것이다.
상기한 점을 제외하면, 도 5의 통신 인터페이스부(500), 불량섹터 관리부(510) 및 저장부(520)와 관련한 자세한 내용은 도 1의 영상처리장치(100)에 대한 내용과 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
도 6은 도 1에 도시된 영상처리장치의 다른 세부 구조를 예시하여 나타낸 블록다이어그램이며, 도 7은 도 6에 도시된 마이컴 회로부의 구조를 예시하여 나타낸 도면이다.
도 6에 도시된 바와 같이, 본 개시의 다른 실시예에 따른 영상처리장치(100')는 통신 인터페이스부(600), 마이컴 회로부(610) 및 불량섹터 관리부(620)의 일부 또는 전부를 포함하며, 여기서 "일부 또는 전부를 포함"한다는 것은 앞서의 의미와 동일하다.
도 6의 마이컴 회로부(610) 및 불량섹터 관리부(620)는 도 5의 불량섹터 관리부(510)와 비교해 볼 때, 불량섹터 관리부(510)가 하드웨어적으로 분리되어 구성된다는 점에서 차이가 있다.
다시 말해, 마이컴 회로부(610)는 제어 기능만을 수행하고, 불량 섹터의 관리는 불량섹터 관리부(620)에서 처리한다고 볼 수 있다. 도 6의 불량섹터 관리부(610)는 운영체제뿐 아니라, 파일 시스템의 복사본을 저장하여 실행할 수 있다.
예를 들어, 도 6에 도시된 마이컴 회로부(610)는 도 7의 프로세서(700)가 될 수 있다. 이에 따라, 마이컴 회로부(610)는 CPU로서, 가령 제어회로(혹은 제어부), 연산부(ALU), 명령 해석부, 레지스터 그룹 등을 포함할 수 있을 것이다. 마이컴 회로부(610)는 통신 인터페이스부(600)를 통해 저장 매체(110)의 불량 섹터에 관계된 정보가 수신되면, 이를 불량섹터 관리부(620)로 전달하여 처리하도록 한다. 이후 사용자 요청에 따른 블록의 처리가 종료될 때, 마이컴 회로부(610)는 복사된 파일 시스템을 통신 인터페이스부(600)를 통해 저장 매체(110)로 전달할 수 있다. 물론 파일 시스템에 관련된 처리 정보는 실시간으로 저장 매체(110)로 전송되어 처리될 수도 있으므로, 위의 내용에 특별히 한정하지는 않을 것이다.
한편, 마이컴 회로부(610)는 도 7에서와 같이 메모리(710)를 더 포함할 수도 있다. 이의 경우, 영상처리장치(100)의 프로세서(700)는 동작 초기(ex. 부팅시 또는 부팅 이후)에 불량섹터 관리부(620)의 프로그램들을 내부 메모리(710)에 로딩하여 이를 실행시킬 수 있다. 이에 따라 데이터 처리 속도가 그 만큼 빨라지게 된다.
지금까지 설명한 바와 같이, 본 개시에 따라 저장 매체(110)의 불량 섹터를 관리하기 위한 영상처리장치(100)의 구현 방법은 다양하기 때문에 본 개시에서는 어느 하나의 방식에 특별히 한정하지는 않을 것이다.
도 8은 본 개시의 실시예에 따른 영상처리장치의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 8을 도 1과 함께 참조하면, 본 개시의 실시예에 따른 영상처리장치(100)는 데이터를 저장하는 저장 매체(110)와 통신을 수행한다(S800). 이를 통해 영상처리장치(100)는 저장 매체(110)를 인식할 수 있다. 이러한 과정은 저장 매체(110)에 저장된 파일 시스템의 마운트 동작을 포함할 수 있다.
이어 영상처리장치(100)는 사용자의 요청에 따라 저장 매체(110)에 데이터를 기록 또는 기록된 데이터를 독출할 때, 에러가 발생되는 저장 매체(110)의 에러 발생 영역 즉 섹터에 대한 에러 정보를 파일 시스템에서 저장 및 관리한다(S810).
그리고, 영상처리장치(100)는 파일 시스템에서 관리되는 에러 정보를 근거로 에러 발생 영역에 대한 데이터 접근을 차단하게 된다(S820). 여기서, "차단"은 저장 매체(110)의 메모리 공간 즉 섹터에 대한 데이터의 기록이나 독출을 영구히 불가능하도록 하는 것이다.
도 9는 본 개시의 다른 실시예에 따른 영상처리장치의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 9를 도 1과 함께 참조하면, 본 개시의 다른 실시예에 따른 영상처리장치(100)는 저장 매체(110)에 접속하여 저장 매체(110)에 저장되어 있는 파일 시스템을 마운트한다(S900).
이의 과정에서 영상처리장치(100)는 에러 블록 즉 bad inode라는 블록이 없다면, 해당 블록을 파일 시스템상에 생성할 수 있을 것이다.
이어, 영상처리장치(100)는 사용자의 요청(ex. read/write)에 근거하여 임의의 블록 즉 데이터 크기에 따라 입/출력 동작을 수행한다(S910). 여기서, 입/출력 동작은 기록 또는 기록된 데이터의 독출에 관련된다.
또한 영상처리장치(100)는 저장 매체(110)의 특정 섹터가 불량으로 판단되면, 이를 불량 섹터로 분류하고, 분류된 정보를 근거로 불량 유형을 판단하여 최종적으로 물리적 불량으로 판단된 불량 섹터를 파일 시스템의 bad inode에 관리한다(S920, S930). 이러한 불량 유형의 판단 과정은 본 개시의 실시예에 따라 소위 '촉진 스레드'라 명명될 수 있다.
만약 S910 단계에서, 사용자로부터 더 이상의 요청이 없는 경우라면 영상처리장치(100)는 가령 PVR 기능을 수행하기 위한 어플리케이션을 종료시킬 수 있다(S940).
도 9를 도 2 내지 도 4와 함께 참조하여 본 개시에 따른 영상처리장치(100)의 구동 과정을 좀더 구체적으로 살펴보고자 한다.
가령 USB 방식의 HDD 디스크 즉 USB HDD의 파일 시스템(190)이 영상처리장치(100)에 마운트되고, 파일시스템 매니저는 에러 블록(220)인 bad inode를 마운트 단계에서 생성할 수 있다. 이의 과정에서 BBM 촉진 스레드(BBM torture thread)를 생성할 수도 있을 것이다.
이어 영상처리장치(100)는 사용자 어플리케이션(300)에 의해 연결된 USB HDD에 파일 즉 데이터를 읽거나 쓰기(read/write) 위한 동작을 수행한다.
파일 시스템(190)의 블록들을 순차적으로 입/출력하는 과정에서 가령 도 4에서와 같이 2번째 블록에 접근한다고 가정하고, 이의 블록이 불량 섹터로 검출되었다면, 도 3의 SCSI 층(310b)에서는 응답 신호(ex. sense command burrer)에서 비트를 체크하여 에러 비트(ex. unrecoverable bit)가 검출되는 경우에는 불량 블록으로 표현하는 에러 번호(ex. I/O error number)를 파일시스템 매니저(310a)로 리턴한다.
파일시스템 매니저(310a)는 2번째 블록이 불량 블록임을 인지하고, 주변 블록들과 함께 익스텐트 단위로 기존 파일의 inode에서 불량 inode로 익스텐트를 재매핑시킨 후에 BBM 촉진 스레드를 웨이크업하게 된다. 즉 BBM 촉진 스레드를 통해 불량의 유형을 판정하는 것이다.
독출(read) 시에는 bad inode를 재매핑시킨 후에 기존 어플리케이션이 접속한 파일 inode에는 해당 논리 블록에 물리 블록을 할당하지 않고, 홀(hole) 상태로 처리한다. 그리고, 파일시스템 매니저(310a)는 사용자 어플리케이션의 독출 요청에 대하여 홀 처리방식으로 응답 신호(ex. buffer)에 제로 데이터(zero data)를 실어 리턴시킬 수 있다.
반면 기록(write) 시에는 파일 시스템(190)의 free block list로부터 새로운 물리 블록을 할당받고 재기록 후에 논리 블록에 매핑시킨다. 그리고, 불량 블록이 발생한 익스텐트를 bad inode 즉 에러 블록(220)에 재매핑(remapping)시킨다.
백그라운드로 실행되는 BBM 촉진 스레드는 불량 발생시에 웨이크업 요청에 의해 깨어나 bad inode에 매핑된 블록에 대하여 기록/독출 테스트로 불량(ex. 물리적 불량)인지를 판정한다. 이때 0x55가 담긴 데이터를 기록/독출하여 비교하고 스왑(swap)하여 0xaa로 채워진 데이터를 이용하여 판정할 수 있다.
논리적 불량인 경우에는 다시 block free list로 복귀시키고 물리적 불량을 담고 있는 블록만 bad inode에 남긴다. 또한, 불량 블록의 주변 블록들도 촉진 시험(torture test)에 의해 불량으로 판정될 경우 bad inode에 남기고, 아닌 블록들은 다시 free list로 복귀시키게 된다.
사용자 어플리케이션(300)은 BBM에 의해서 불량 블록들이 inode로 재매핑되었기 때문에 기존 파일을 삭제, 재생성한 이후에도 불량 블록을 영구히 접속하지 않도록 관리할 수 있게 되는 것이다.
본 개시에 따르면, 가령 HDD 디스크의 사용시에 발생하는 불량 섹터를 파일 시스템에서 접근하지 못하도록 관리해 줌으로써 사용자 혹은 제품(ex. TV, 스마트폰) 등에서 파일 즉 데이터를 읽고 쓸 때 불량 섹터 접근에 근거한 I/O 에러에 의한 어플리케이션의 중단 없이, 그리고 추가 불량 섹터의 후보 영역에 대한 접근을 미리 차단하여 HDD 디스크를 오래 사용하도록 할 수 있다. 또한, 기존의 오프라인 BBM의 응답성 문제를 개선하여 임베디드 제품군에 사용자 편의를 개선시킬 수 있을 것이다.
한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.

Claims (15)

  1. 파일 시스템(file system)을 저장하는 저장 매체와 연결 가능한 영상처리장치의 구동 방법에 있어서,
    상기 저장 매체와 통신하는 단계;
    상기 저장 매체의 불량 섹터에 대한 논리 정보를 상기 파일 시스템에 저장하는 단계; 및
    사용자의 요청에 따라 상기 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 상기 논리 정보에 근거하여 상기 불량 섹터의 데이터 접근을 차단하는 단계;를
    포함하는 영상처리장치의 구동방법.
  2. 제1항에 있어서,
    상기 파일 시스템이 상기 불량 섹터의 상기 논리 정보를 저장하는 에러 블록(bad inode)을 포함하면, 상기 파일 시스템이 상기 영상처리장치에 마운트(mount)될 때, 상기 에러 블록을 상기 파일 시스템에 생성하는 단계;를 더 포함하는 영상처리장치의 구동방법.
  3. 제1항에 있어서,
    상기 불량 섹터의 불량 유형을 판단하는 단계;를 더 포함하며,
    상기 파일 시스템을 관리하는 단계는,
    상기 저장 매체의 물리적 충격에 의해 발생된 물리적 불량을 갖는 상기 불량 섹터의 논리 정보를 관리하는 영상처리장치의 구동방법.
  4. 제3항에 있어서,
    상기 불량 섹터의 불량 유형을 판단하는 단계는,
    데이터의 처리 오류에 의해 발생된 논리적 불량인지 판단하는 단계를 포함하고,
    상기 논리적 불량으로 판단된 상기 불량 섹터의 논리 정보는, 상기 파일 시스템에서 데이터의 접근이 가능한 상태로 처리하는 단계;를 더 포함하는 영상처리장치의 구동방법.
  5. 제3항에 있어서,
    상기 불량 섹터의 불량 유형을 판단하는 단계는,
    데이터의 처리 오류에 의해 발생된 논리적 불량인지 판단하는 단계를 포함하고,
    상기 논리적 불량인지 판단하는 단계는,
    상기 불량 섹터에 시험 데이터를 기록하고, 상기 기록한 시험 데이터가 정상적으로 독출될 때, 상기 논리적 불량으로 판단하는 영상처리장치의 구동방법.
  6. 파일 시스템(file system)을 저장하는 저장 매체와 연결 가능한 영상처리장치에 있어서,
    상기 저장 매체와 통신하는 통신 인터페이스부; 및
    상기 저장 매체의 불량 섹터에 대한 논리 정보를 상기 파일 시스템에 저장하고, 사용자의 요청에 따라 상기 저장 매체에 데이터를 기록하거나 기록된 데이터를 독출할 때, 상기 논리 정보에 근거하여 상기 불량 섹터의 데이터 접근을 차단하는 프로세서;를 포함하는 영상처리장치.
  7. 제6항에 있어서,
    상기 파일 시스템은 상기 불량 섹터의 상기 논리 정보를 저장하는 에러 블록(bad inode)을 포함하는 영상처리장치.
  8. 제7항에 있어서,
    상기 프로세서는 상기 파일 시스템이 상기 영상처리장치에 마운트(mount)될 때, 상기 에러 블록을 상기 파일 시스템에 생성하는 영상처리장치.
  9. 제6항에 있어서,
    상기 프로세서는, 상기 불량 섹터의 불량 유형을 판단하여 상기 저장 매체의 물리적 충격에 의해 발생된 물리적 불량일 때 상기 불량 섹터의 논리 정보를 관리하는 영상처리장치.
  10. 제9항에 있어서,
    상기 프로세서는, 데이터의 처리 오류에 의해 발생된 논리적 불량인지 더 판단하는 영상처리장치.
  11. 제10항에 있어서,
    상기 프로세서는 상기 논리적 불량으로 판단된 상기 불량 섹터의 논리 정보를 상기 파일 시스템에서 데이터의 접근이 가능한 상태로 처리하는 영상처리장치.
  12. 제10항에 있어서,
    상기 프로세서는 상기 불량 섹터에 시험 데이터를 기록하고, 상기 기록한 시험 데이터가 정상적으로 독출될 때, 상기 논리적 불량으로 판단하는 영상처리장치.
  13. 제9항에 있어서,
    상기 프로세서는, 자신이 유휴(idle) 상태일 때, 상기 불량 유형을 판단하는 영상처리장치.
  14. 제9항에 있어서,
    상기 프로세서는 상기 물리적 불량으로 판단된 상기 불량 섹터의 주변 섹터에 대한 논리 정보도 함께 관리하는 영상처리장치.
  15. 제14항에 있어서,
    상기 에러의 발생 여부 판단은, 상기 불량 섹터를 포함하는 복수의 정상 섹터에 대하여 끊임 없이(real time) 수행되는 영상처리장치.
PCT/KR2016/014357 2015-12-10 2016-12-08 영상처리장치, 영상처리장치의 구동방법 WO2017099484A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/781,626 US20180374510A1 (en) 2015-12-10 2016-12-08 Image processing device, and operation method for image processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150176279A KR20170069053A (ko) 2015-12-10 2015-12-10 영상처리장치, 영상처리장치의 구동방법 및 컴퓨터 판독가능 기록매체
KR10-2015-0176279 2015-12-10

Publications (1)

Publication Number Publication Date
WO2017099484A1 true WO2017099484A1 (ko) 2017-06-15

Family

ID=59013490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/014357 WO2017099484A1 (ko) 2015-12-10 2016-12-08 영상처리장치, 영상처리장치의 구동방법

Country Status (3)

Country Link
US (1) US20180374510A1 (ko)
KR (1) KR20170069053A (ko)
WO (1) WO2017099484A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091718A1 (en) * 1998-09-04 2002-07-11 Philip L. Bohannon Method and apparatus for detecting and recovering from data corruption of database via read logging
US20080155316A1 (en) * 2006-10-04 2008-06-26 Sitaram Pawar Automatic Media Error Correction In A File Server
WO2009084881A2 (en) * 2007-12-28 2009-07-09 Slimdisc Corp. Card and input and output apparatus for the card
US20140195492A1 (en) * 2012-12-19 2014-07-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for fixing logical or physical corruption in databases using lsm trees
US20140285917A1 (en) * 2013-03-20 2014-09-25 International Business Machines Corporation Write avoidance areas around bad blocks on a hard disk drive platter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116931A (ja) * 2000-10-06 2002-04-19 Fuji Xerox Co Ltd 記憶媒体制御装置およびこれを用いた画像形成装置、それら制御方法
JP2004528671A (ja) * 2001-05-09 2004-09-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メディアファイルの再生方法および再生システム
US8854758B2 (en) * 2005-09-07 2014-10-07 Agere Systems Inc. Track defect map for a disk drive data storage system
KR20120067055A (ko) * 2010-12-15 2012-06-25 삼성전자주식회사 디펙 제어방법과 상기 방법을 수행할 수 있는 장치들
US8954670B1 (en) * 2011-04-18 2015-02-10 American Megatrends, Inc. Systems and methods for improved fault tolerance in RAID configurations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091718A1 (en) * 1998-09-04 2002-07-11 Philip L. Bohannon Method and apparatus for detecting and recovering from data corruption of database via read logging
US20080155316A1 (en) * 2006-10-04 2008-06-26 Sitaram Pawar Automatic Media Error Correction In A File Server
WO2009084881A2 (en) * 2007-12-28 2009-07-09 Slimdisc Corp. Card and input and output apparatus for the card
US20140195492A1 (en) * 2012-12-19 2014-07-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for fixing logical or physical corruption in databases using lsm trees
US20140285917A1 (en) * 2013-03-20 2014-09-25 International Business Machines Corporation Write avoidance areas around bad blocks on a hard disk drive platter

Also Published As

Publication number Publication date
US20180374510A1 (en) 2018-12-27
KR20170069053A (ko) 2017-06-20

Similar Documents

Publication Publication Date Title
JP4843604B2 (ja) データ・ストレージ装置からデータ・ストレージ装置特有情報を得るための方法及びシステム
EP0350920B1 (en) A method of managing defective sectors in a disk-shaped information recording medium and an apparatus for performing the same
US7120768B2 (en) Snapshot acquisition method, storage system and disk apparatus
US8386707B2 (en) Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method
JP4267353B2 (ja) データ移行支援システム、および、データ移行支援方法
US9971527B2 (en) Apparatus and method for managing storage for placing backup data into data blocks based on frequency information
US20060074922A1 (en) File management device, file management method, file management program and recording medium
US20100125751A1 (en) System and method for recovering solid state drive data
US20160266923A1 (en) Information processing system and method for controlling information processing system
US20070038806A1 (en) Selective information caching on disk drive
CN100530190C (zh) 用于处理信息的装置和方法
US20040268070A1 (en) Method and apparatus for backing up data in virtual storage medium
CN111736945B (zh) 基于智能网卡的虚拟机热迁移方法、装置、设备及介质
US20070174566A1 (en) Method of replicating data in a computer system containing a virtualized data storage area
US8516208B2 (en) Data backup method and information processing apparatus
WO2009126011A2 (ko) 광 디스크 드라이브처럼 동작 가능한 메모리 드라이브 및 메모리 드라이브를 광 디스크 드라이브로 가상화하는 방법
CN106612619A (zh) 分级存储系统、利用分级存储装置的计算机及校正对文件的访问计数的计算机
WO2012117435A1 (en) Storage apparatus and data processing method of the same
US20140297988A1 (en) Storage device, allocation release control method
JP4225378B2 (ja) 複製装置、複製方法、複製プログラム、ブロック識別情報取得プログラム、及び記録媒体
US20200210099A1 (en) Storage system
US8539156B2 (en) Storage subsystem and its logical unit processing method
KR20060113551A (ko) 하드 디스크들 상에서 발견된 결함들을 시간 상관시키기위한 방법 및 장치
US20220011977A1 (en) Storage system, control method, and recording medium
JP4667225B2 (ja) 制御装置およびコピー制御方法

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: 16873349

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16873349

Country of ref document: EP

Kind code of ref document: A1